原文:http://dev.wl668.com/java/j2se/20057265401_4119325.shtml

java 学习流程

Java 发展到现在,按应用来分主要分为三大块: J2SE,J2ME J2EE 。这三块相互补充,应用范围不同。
J2SE
就是 Java2 的标准版,主要用于桌面应用软件的编程;
J2ME
主要应用于嵌入是系统开发,如手机和 PDA 的编程;
J2EE
Java2 的企业版,主要用于分布式的网络程序的开发,如电子商务网站和 ERP 系统。

先学习 j2se
要学习 j2ee 就要先学习 j2se ,刚开始学习 j2se 先建议不要使用 IDE ,然后渐渐的过渡到使用 IDE 开发,毕竟用它方便嘛。学习 j2se 推荐两本书,《 java2 核心技术一二卷》,《 java 编程思想》,《 java 模式》。其中《 java 编程思想》要研读,精读。这一段时间是基本功学习,时间会很长,也可能很短,这要看学习者自身水平而定。


不要被 IDE 纠缠
在学习 java j2ee 过程中,你会遇到五花八门的 IDE ,不要被他们迷惑,学 JAVA 的时候,要学语言本身的东西,不要太在意 IDE 的附加功能, JAVA 编程在不同 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 知识
如果你是在做电子商务网站等时,你可能要充当几个角色,这是你还要学习:
html
,可能要用到 dreamwave IDE
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) 在哪个包里的?呵呵,无他,唯手熟尔。