java初学者学习路线
说明:由于我们团队其他成员都不是做java开发的,但是马上都要集体转向Java,所以是我整理了一下,还是比较适用于初学者的,高手们也可以提提意见
在开始这个计划前,我想还是想和大家分享一下我对未来Java之路的憧憬,虽然Java的母公司Sun在经受着Oracle公司收购,导致着整个Java阵营的一阵异议,但是最新的JavaEE1.6的标准的制定,还是可以看出Java现在仍然充满着生命力,至少在最近5年还是会保持他强大的生命力。
所以我们有理由相信,我们从事的这个方向还是很有前途的。而当我们下定决心之后,我们就不要再担心或者疑惑,让我们开始我们的Java之路吧,我相信我们的团队一定会克服困难,走向成功。
Java不仅仅是一种编程语言,更重要的认识,他是一个完整的平台,在全世界的编程开发者手中还在不断完善。我从下面几个方面来描述整个Java平台:
在项目测试方面:CruiseControl , Junit, TestNG等;
解释:现在在测试方面,Junit还是使用最多工具
在安全方面:Acegi , CAS , jsai , kasai等;
解释:在安全方面,Acegi是整个Java平台最耀眼的技术,现在的Eclipse 3.2以后的版本就是在这个基础上设计的; 我们公司的AOS平台的安全也是建立在Acegi,好不夸张的说,Acegi还是Java一块还没有完全挖掘的宝藏,也曾一直我希望搞深下去的方向,很多开发人员还没有进入这以领域,其实这也是划分一个深层次人员与一般的开发人员的重要区别之一。
在数据库方面:Oracle ,SQL Server , MySql等;
解释:这三种数据库是最常用的,需要掌握;
在架构应用方面:
l 架构 :Java SE ,JavaEE ,Java ME;
解释:Java SE是Java做任何开发的基础,必须熟练掌握它;Java EE是Java的核心竞争力,也是Java现在能够立足的一个重要支点,也是我们学习的核心内容,Java的企业应用。
l 基本的Web开发:JSP , Servlet ,Applet(CS模式)
解释:上面的两种技术是学习Java Web开发的最基本的技术,只有这个掌握了,才能更好的理解Java 的Web 开发的基本思想,其他框架技术其实都是建立在这个基础上进行的封装。
l 框架:Struts1.2(Struts 2.0),Spring ,Hibernate ,JBPM , Tapestry ,JSF ,JMX等
解释:现在的框架技术实在是太多太多了,但是最流行,或者说最成熟的还是SSH,上面梅红颜色标注的,他们是现在成熟框架技术,不需要我们再重头搭建自己的平台,节省了我们时间;
l 专题:Ajax ,JNDI, JMS, JMX, JDBC, JDOM ,SAX,JMail等;
解释:这一模块作为Java 开发的辅助技术,很多常用的技术,像Ajax就不用说,处理富客户的技术,而JDBC是基本的数据库连接技术,也是必须掌握的,Jdom,SAX是专门解析XML文档的技术;其他的有Java命名定义,远程发送,邮件技术等
在IDE集成开发环境方面:
Eclipse , MyEclipse(可以是插件集成在Eclipse中), NetBeans ,JBuilder
解释:最流行的还是Eclipse+MyEclipse
在服务器环境方面:Tomcat , JBoss,WebLogic,WebSphere等
解释:Tomcat作为服务器已足够,若是特殊要求,WebSphere也是选择之一;
在开发和脚本语言方面:Java+JavaScript(JQuery)+HTML+XML+CSS
解释:这是最基本的技术语言
以上是对Java平台的简单介绍,下面就是对哪一阶段学习哪一方面进行一个规划:
第一步:学习基本的Java语言的知识,还有一些简单的面向对象的思想,了解的Java API的使用方式,还有基本类和常用类的的方法
时间周期:1周,最长不能超过两周
学习资料:书籍可以是一般的Java入门书籍都可以,没有好与不好分别;
API:统一下载,提供
第二步:学习Java Web开发的基本技术:JSP+Servlet+JDBC
这两种技术的学习顺序是先学习Servlet再学习JSP,因为JSP是编译成Servlet来处理客户端请求的,可以理解是对Servlet的一种封装;
而在学习这两种技术的过程中就会牵涉到连接数据库,也就是JDBC技术,这个可以在学习这两种技术的过程中学习,并加以实践。
时间周期:Servlet:2周 ,JSP:2周 ,Tomcat+JDBC:1周(在上面四周中循序学习)
学习资料:
《JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用》:这本书由孙鑫着,电子书可以提供;
《Tomcat 与 Java Web开发技术详解》 这本书由孙卫琴着
其他基本的XML,js基础可以自己在资料的章节中自己选择学习;
学习完上述两个步骤,就已经具备了基本的开发的知识,但是还是需要在实际动手中去实践,才能达到;
第三步:就是框架技术的学习,以及其他专题的学习了;
学习的顺序建议:Hibernate—àSpring,我个人认为这两种是非常重要的技术,Hibernate是在数据持久化(也就是数据库操作)层中的重要技术;Spring更是相当于对整个项目的管理和控制,是非常博大精深的;而对于Struts框架技术不是说他不重要,是他属于那种即用即学的技术,学习周期比较短,前期可以暂时不用花心思去学,等需要用的时候再学习。
其他专题的学习也可以在学习框架技术同时辅助学习;
这一步的学习是艰难而漫长的,需要不断的项目来实践磨合。
学习资料:《精通Hibernate:Java对象持久化技术详解》,孙卫琴着;
《Spring In Action》Spring实战;
《精通 Struts:基于MVC的Java Web设计与开发》,孙卫琴着
《struts2权威指南》
以上电子书,均可以提供
网络教学视频针对这些框架技术和专题也可以提供;
上面还写得不是很全面,大家可以批评指教
时常看到一些人说掌握了Java,但是让他们用Java做一个实际的项目可能又困难重重,在这里,笔者根据自己的一点理解斗胆提出自己的一些对掌握Java这个说法的标准,当然对于新手,也可以提供一个需要学习哪些内容的参考。另外这个标准仅限于J2SE部分,J2EE部分的内容有时间再另说。
1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。
2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。
3、工具:必须至少熟练使用一种IDE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。
4、API:Java的核心API是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用Java,包括:
1)、java.lang包下的80%以上的类的功能的灵活运用。
2)、java.util包下的80%以上的类的灵活运用,特别是集合类体系、规则表达式、zip、以及时间、随机数、属性、资源和Timer.
3)、java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合。
4)、java.math包下的100%的内容。
5)、java.net包下的60%以上的内容,对各个类的功能比较熟悉。
6)、java.text包下的60%以上的内容,特别是各种格式化类。
7)、熟练运用JDBC.
8)、java.security包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java.
9)、AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。
10)、Swing的基本内容,和AWT的要求类似。
11)、XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。
5、测试:必须熟悉使用junit编写测试用例完成代码的自动测试。
6、管理:必须熟悉使用ant完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。
7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。
8、思想:必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。
9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。