自学Java的学习路线
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java学习路线
先学习j2se
要学习j2ee就要先学习j2se,刚开始学习j2se先建议不要使用IDE,然后渐渐的过渡到使用IDE开发,毕竟用它方便嘛。
学习j2se推荐两本书,《java2核心技术一二卷》,《java编程思想》,《java模式》。
其中《java编程思想》要研读,精读。
这一段时间是基本功学习,时间会很长,也可能很短,这要看学习者自身水平而定。
不要被IDE纠缠
在学习java和j2ee过程中,你会遇到五花八门的IDE,不要被他们迷惑,学JA V A的时候,要学语言本身的东西,不要太在意IDE的附加功能,JA V A编程在不同IDE之间的转换是很容易的,过于的在意IDE的功能反而容易耽误对语言本身的理解。
目前流行的IDE有jbuilder,eclipse和eclipse的加强版WSAD。
用好其中一个就可以了,推荐从eclipse入手j2ee。
因为Jbuilder更适合于写j2se程序。
选择和学习服务器使用配置
当你有了j2se和IDE的经验时,可以开始j2ee的学习了,web服务器:tomcat,勿庸置疑,tomcat为学习web服务首选。
而应用服务器目前主要有三个:jboss、weblogic、websphere。
有很多项目开始采用jboss,并且有大量的公司开始做websphere或weblogic向jboss应用服务器的移植(节省成本),这里要说的是,学习tomcat和jboss我认为是首选,也是最容易上手的。
学习服务器使用配置最好去询问有经验的人(有条件的话),因为他们或许一句话就能解决问题,你自己上网摸索可能要一两天(我就干过这种傻事),我们应该把主要时间放在学习原理和理论上,一项特定技术的使用永远代替不了一个人的知识和学问。
学习web知识
如果你是在做电子商务网站等时,你可能要充当几个角色,这是你还要学习:.'l:8SxT?L html,可能要用到dreamwave等IDE。
ZO(T u%xU
Javascript,学会简单的数据校验,数据联动显示等等
J2eeAPI学习
学习j2eeAPI和学习服务器应该是一个迭代的过程。
先学习jsp和servlet编程,这方面的书很多,我建立看oreilly公司的两本《jsp设计》和《java servlet编程》,oreilly出的书总是那本优秀,不得不佩服。
学习jdbc数据库编程,j2ee项目大多都是MIS系统,访问数据库是核心。
这本应属于j2se
学习中,这里拿出来强调一下。
学习jndi api,它和学习ejb可以结合起来。
学习ejb api,推荐书《精通ejb》
经过上面的这些的学习,大概可以对付一般的应用了。
有人说跟着sun公司的《j2ee tutorial》一路学下来,当然也可以。
学习ejb设计模式和看代码(最重要)
设计模式是练内功,其重要性可以这么说吧,如果你不会用设计模式的话,你将写出一堆使用了ejb的垃圾,有慢又是一堆bug,其结果不如不用ejb实现(ejb不等于j2ee)
无论学习什么语言,都应该看大量代码,你看的代码量不到一定数量,是学不好j2ee的
目前有很多开源的工程可以作为教材:
jive论坛
petstore sun公司
dune sun公司
等等,研读一个,并把它用到自己的工程中来。
J2ee其他学习
当你渐渐对j2ee了解到一定深度时,你要开始关注当前领域中的一些技术变化,J2ee是一块百家争鸣的领域,大家都在这里提出自己的解决方案,例如structs,hiberate,ofbiz等等,学习这些东西要你的项目和目标而定,预先补充一下未尝不可,但不用涉及太深,毕竟学习
原理和理论是最最重要的事。
目前常见j2eeAPI
JavaServer Pages(JSP)技术1.2
Java Servlet技术2.3
JDBC API 2.0
Java XML处理API(JAXP)1.1
Enterprise JavaBeans技术2.0
Java消息服务(JMS)1.0
Java命名目录接口(JNDI)1.2
Java事务API(JTA) 1.0
JavaMail API 1.2
JavaBeans激活架构(JAF)1.0
J2EE连接器体系结构(JCA)1.0
Java认证和授权服务(JAAS)1.0
学习上面的某些API要以你的项目而定,了解所有他们总之是有好处的
上面印证了大家说的一句话,java语言本身不难学,但是技术太多,所以学java很费劲。
回想一下,基本上每个初学者,在刚学习java的时候可能都会问别人这么一句话,你怎么知道的哪个方法(api)在哪个包里的?呵呵,无他,唯手熟尔。
======================================
J2EE总体的学习计划
第一部分:
JA V A语言基础知识。
包括异常、IO流、多线程、集合类、数据库。
(切记基础知识一定要
时时刻刻巩固)
要求:对java的封装,生命周期等有一定的了解;
异常------掌握try-catch-finally的使用
IO流------掌握字节流、字符流和对象序列化的处理.。
熟练使用各种输入、输出流类(InputStream、OutputStream、FileInputStream、FileOutputStream、DataInputStream、DataOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、InputStreamReader、OutputStreamWriter、BufferReader、BufferedWriter、ObjectInputStream、
ObjectOutputStream)。
多线程-------掌握多线程实现的两种实现方法,分别是继承Thread类与实现Runnable接口。
理解线程间的同步与互斥。
集合类-------掌握Set、Collection、Map、List、Iterator、Enumeration接口的使用,掌握HashSet、ArrayList、Vector、HashMap、HashTable类的使用。
数据库-------掌握JDBC API的使用,包括DriverManager类、Connection接口、Statement 类和接口、PreparedStatement接口、ResultSet接口。
还有了解java反射机制,对Java1.5的新功能必须有了解与使用,泛型等。
.
另外-------理解Unicode、GB2132、GBK、UTF-8、ISO8859编码方式。
参考:《Java编程思想》、张孝祥视频教学。
第二部分:
JA V A网络编程。
包括Socket、RMI、HTML、XML、JSP、JavaBean、Servlet。
要求:Socket--------了解java.io包中的套接口类和服务器套接口类的使用。
RMI--------掌握RMI基本工作原理、掌握定义远程服务接口类、远程接口类、客户端调用
类和部署、编译RMI应用程序。
HTML--------了解HTML语言的语法、各种标签。
JSP-------掌握JSP2.0语法、隐含对象、EL、JSTL1.1、JSP自定标签。
JavaBean-------理解JavaBean的特点和事件模型。
XML--------了解XML语言的语法、DTD、Schema。
Servlet---------掌握HTTP协议、Servlet工作过程、Servlet会话跟踪、Servlet过滤器、Serlvet
事件侦听器、配置web.xml。
UML-------掌握用例图、类图、活动图、顺序图、状态图。
Aglet-------学会安装使用tahiti服务器,掌握Aglet API。
[以后再学,在彭老师的项目才会用
到]
开发工具------掌握Rational Rose 、ant 、cvs版本控制、myeclipse、dreamweave等开发工
具使用。
另外-------学习过程中学会使用Tomcat、JBoss/Weblogic服务器
参考书:《JSP2.0技术手册》林上杰编著;
《深入体会Java Web开发内幕---核心基础》
在JSP上不要花太多时间,在时间放在servlet多一些.
第三部分:
流行MVC架构和Java对象持久化技术。
包括webwork、Spring、Hibernate
要求:MVC-------理解MVC设计模式、处理过程。
webwork-------理解webwork实现MVC的机制、工作流程。
掌握配置webwork应用、webwork 控制器组件、webwork应用的国际化、异常处理、webwork标签库。
(其实很多遗留系统用的是Struts,但现在越来越少人用了,所以我鼓励你们学webwork,但要必须要了解一下
Struts)
Spring-------掌握控制反转(IoC)、面向方面编程(AOP)、事务服务(JTA)、邮件服务(JavaMail)、持久化服务(DAO、JDBC、ORM)、远程服务(RMI)。
Hibernate--------理解ORM,掌握映射对象标识符、映射关系(一对多、多对多、一对一)、映射类型、检索策略、检索方式、数据库事务与并发、管理Hibernate的缓存。
学习过程:先学习webwork2,再学习Hibernate,最后学Spring。
下面的东西有时间了解一下:
测试/敏捷开发-----关注测试,掌握Junit单元测试框架,以及现在两个流行的mock工具
EasyMock/JMock,熟悉其中一种。
(提示:测试非常重要,有效的测试可以减少很多开发的时间,当然刚开始觉得不耐烦,好像没有必要写测试代码,一定要说服自己尝试写测试代码,
或多或少的)
UNIX系统------了解最主要的shell编程,及主要的相关的命令行操作.
AJAX-----了解基本的javascript,csss,以及ajax常用的用法,还有JSON框架.
(ajax的框架太多,但不要花太多时间去学,因为你不知道公司用不用ajax,而且用的那一框架你没有办法知道,所以懂最基础就可以了)
参考书:《webwork in action中文版》
《精通Struts》、《精通Hibernate》孙卫琴著,
《Spring技术手册》林信良著
《JUnit in action中文版》Vincent Massol著的
书籍只是用来入门的,其他的工具必须多上英文网址,尽量多看一些英文文档,提高自己的水平,同时有空的时候也可以下载的一些开源项目的文档。
最后一句话:无论什么技术,学了不要以为自己多牛,学技术只是为了更好提高自己做项目的能力以及提升自身的水平。
你做的项目效果怎样才能最终看出你自身的水平。
如果你想用java赚钱,来看看你还需要学习什么
我工作时间不是很长,公司做的是一个J2EE的项目,本人对J2ME比较感
兴趣,因为老想偷着玩游戏。
^_^
其他地方我不清楚,在北京做J2EE应该是在4千左右(包括给你的各种补助),做J2ME应该更高一点(没做过,不是很清楚,打算下份工作去体会一下,给金山投了简历,等待中)。
钱虽然给的多,但情况对刚毕业的朋友就不一样了,我很多同学毕业后找的工作都比较烂,有的给你包吃包住一个月1千,有的做程序才2千多。
为什么呢?因为一些有项目在做的公司不爱请那些感毕业的,因为没经验,很多东西要现学,要给你培训,会花他很多时间,这是他们不愿意的(除非一些大公司,资金比较雄厚,但做IT这行里,大部分公司都不愿要刚毕业的,我想大家应该都是比较清楚的)。
那我们该怎么办呢?我的意见就是在学校或者刚毕业的时候迅
速了解行业动态,掌握实用技能。
首先掌握java的基础知识是很重要的,你在以后的工作都会用到。
然后是熟练一种开发工具,例如 jbuild intellij (没听过这个吗?去网上查,下载,学着用,不难)这些。
然后学习EJB的基本架构,多找几个例子看,多找几个例子比较,摸出他的规律,其实这东西写多了就会发现好多是重复的,有一定的“套路”(sorry,用词比较通俗)。
第二步就是学习配置应用服务器,weblogic ,websphere,这些应用服务器我想大家都应该了解,学习他们如何配置,然后要知道他们怎么用,是怎么回事,其他就不用管太多了,用不上,我们公司的这班人,也就是开个在那看他debug出来的报告,看错误在哪?即使你不懂,也不要紧,装着自己懂,进公司后拉个会的人到边上请他抽支烟,一问就明白了(在公司搞好关系很重要^_^,我就是这样问出来的)。
第三步,数据库,你可以不精通oracle体系架构(最好是懂点,起码笔试的题数据库的东西比较多),但你起码要会写个简单的SQL查询什么的,会点关系代数(上学的时候教过吧)。
然后最重要的是会一种第三方数据库管理软件,我们公司的人用的是TOAD(没听过的话去GOOGLE查,好多的,去下他的快速使用指南看),下载装上后,你就会知道你在学校学的那些什么SQL语句,什么用ACCESS建的表,什么乱七八糟的关系代数,通通这些东西到底是在哪用了。
一下你就会非常清楚,剩下的就是熟悉再
熟悉。
当然,你首先给我把ORACLE装上(不会的话去网上找,起码自己要装一次,然后配置配置,不过一般公司的会都先配好了,你只要会)。
第四步,也是我最讨厌的,就是你要会JSP,我是不太喜欢JSP,不过同事告诉我,这东西也不难,多做几次就会了。
行,你也就多熟悉熟悉这个。
第五步,如果前面的东西你都已经全部搞定的话,其实前面的你都掌握都差不多了,这里我要说的就是一种提高。
因为我要说的是一个UML建模语言,还有一个是算法,这两个东西你就慢慢的学吧!比较理论,不过你会
发现对你是种层次上的提高。
行了,上面的这些东西你觉得自己都差不多的话,去找工作吧!直接告诉他你会什么,会什么,然后跟他说,我想要多少多少钱,差不多了,公司不会拒绝你。
^_^ 等我J2ME搞的差不多了,上手了再来和大家介绍经验。
说的不好,多担待,不过我说的都是比较实际的,因为我用去了不少烟,
还滴了不少眼药水。
转载自中国IT实验室~~~~。