目前JAVA主要分三个方向:J2EE(java 2 enterprise edition,也就是JAVA的企业级标准,目前应用最多也最广泛,技术相对成熟)、J2ME(java 2 micro editon,java在微型系统上的应用,像手机、PDA、电视机机顶盒一类,国家3G标准一旦实施,J2ME将会应用的更加广泛)、J2SE(Java 2 Standard Edition标准版,主要用于个人用户)
如果有人想学J2EE的话,推荐一下学习进阶步骤:
①先学基本的JAVA语法,
推荐《Thinking in java》,精通面向对象的思想(封装、继承和多态,其中封装和继承稍微简单一点,多态难一点,但能不能理解好多态是能不能理解面向对象思想的重要一步)(Applet没有必要学,现在不是20世纪,Applet已经风光不在)
②学JSP,
推荐清华大学出版社《JSP实用案例教程》,掌握JSP代码、JSP指令、JSP动作,同时也要学一些servlet、XML方面的知识,JSP比起以后要学的STRUTS、EJB而言,难度要小很多,但是光看书是不够的,一定要做个小项目(推荐大家按照书上的例子做一些小的电子商务网站,最好采用JSP+javabean的设计模式)
③系统的再学一下数据库,
书上讲的五大范式没有必要全掌握,掌握前三个就可以了,但是SQL语句一定要精通,这对以后的学习很有帮助,最好能用用SQLServer或者DB2
④学习STRUTS
(学到这一步,才算真正接触了J2EE,以上学的东西不过是为了以后的学习做好铺垫),精通MVC,花10天左右的时间研究前三章,特别是第二章,经典的HelloWorld的例子一定要会做,如果这个做不好的,J2EE以后就没法学了。
此外一定要熟悉Struts标签,掌握自定义标签是如何使用的,STRUTS框架是如何响应客户端请求的……推荐书目:《精通STRUTS——基于MVC的java web设计与开发》电子工业出版社(当然,这个时候就要用到J2EE的开发工具了,本人推荐eclipse或者WSAD,其实WSAD也就是eclipse的豪华版,一个收费,一个不收费),现在hibernate也相当流行。
⑤学习EJB,
这算是更难的部分了,此外EJB也比较庞大,一般的教程都是翻译的,推荐看电子工业出版社的《精通EJB》,这中间的session bean、entity bean、message driven bean是必须掌握的,我觉得最难的应该是entity bean了,访问数据库(我用的是DB2)都需要配置N多,包括服务器啊,JNDI啊,忒麻烦。书上entity持久化部分主要讲BMP和CMP,其实BMP大家只要熟悉就行了,现在主要用CMP比较多(CMP使用容器管理entity bean,生成代码更方面,手工添加的东西很少)
⑥学习UML,
这算是系统架构师必须掌握的东西了,如果大家没兴趣以后向更高的层次发展的话,UML就没必要掌握那么多了,不过四大关系一定要熟悉(不过说实话,好多做了几年开发的人四大关系中的关联和依赖仍然分不清楚),9大类图大家随便看看就好了,要想精通的话难度太大,估计咱矿院也没几个老师精通UML的,推荐书目:《UML用户指南》,机械工业出版社
⑦学习设计模式,
其实学设计模式和你做J2EE项目的关系特别大,问题在于写JAVA程序要用到设计模式,而学设计模式要有深厚的JAVA代码经验,所以这东西也很难搞定,不过设计模式最基本的六大原则、三大类是大家一定要掌握的,至于常见的设计模式嘛,比较常见的有简单工厂、工厂方法、抽象工厂、建造模式、适配器模式、合成模式、单例模式、装饰模式(至于其他的,估计大家工作以后慢慢琢磨,不过学这东西,就要看大家的天赋和造化了,反正偶是看的云里雾里的,头都大了)推荐书木:《JAVA与模式》,哪个出版社的我忘了,写书的叫阎宏,科大毕业的,贼厚一本书,和《Thinking in java》差不多。
如果大家以后想在J2EE方向发展,①—④是必须要掌握的,如果大家以后想往系统架构师方向发展的话,最好这所有的都能学完。