Java体系涉及到三个方面:J2SE,J2EE,J2ME(KJAVA)。
J2SE,Java 2 Platform Standard Edition,我们经常说到的JDK,就主要指的这个,它是三者的基础,属于桌面级应用开发,这部分如果学得好很容易拓展J2EE和J2ME。
J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手机,PDA等等。
J2EE,Java 2 Platform,Enterprise Edition,就是所谓的企业级Java,适合企业的大型应用开发。
—J2SE
新手最初学习的时候先要从J2SE开始,所包含的内容主要分为:面向对象概念的理解、Java基本语法的学习,Java桌面图形界面应用程序的开发,掌握常用的Java API等(关键是要学会怎样查阅jdk文档)。
重点:Java基本语法(循环结构,数据类型,数组,运算符等)、Swing,awt,事件机制、文件输入输出流处理等。
难点:面向对象思想的理解(接口、类等)、线程、socket网络编程等
推荐教程:没有概念的初学者可以先挑一本大学的java教程(清华的),或配合孙鑫的java基础视频教程一起看;有了一定基础可以仔细阅读下《java核心技术卷1》。
—J2EE
在掌握J2SE之后可逐渐过渡到J2EE,学习J2EE需要很多非JAVA技术的支撑,比如数据库技术,网页编程技术等。同时J2EE有三个必学的框架,分别是Struts、Spring和Hibernate,虽然这三个框架应用很广,但不代表这三个框架就等于J2EE,J2EE还有很多其他的东西,比如EJB(一个分布式应用的框架)。
J2EE最核心的东西:JDBC、JSP、servlet和JavaBean,后面三个也是学习SSH(Struts/Spring/Hibernate的简称)的基础。鉴于J2EE的内容太过复杂,最初可只学习: JSP, servlet和JavaBean,等基础扎实后可继续学习SSH三大框架,同时对其他J2EE技术有个大致的了解就可以了。
属于框架应用级别的知识和技术主要包括:
l JDBC:Java数据库连接对象,基础中的基础,Hibernate也只是对它的封装而已
l JNDI: Java 命名与目录接口,J2EE重要规范之一
l EJBS: 上面已经提到过了
l RMI: 提供远程调用方法的支持,主要用于程序分布式开发
l JMS: Java消息服务,中间件技术
l JAVA IDL: 提供J2EE平台与CORBA交互能力和互联能力的技术
l JTS: 组件事务监视器
l JTA: 事务划分的一个技术
l JAVAMAIL: Java中的邮件技术
l JAF: Java启动框架,没研究过
l Log4j,一款日志处理的框架应用
l Junit:单元测试的好帮手
l freemarker、velocity:两款不错的模板引擎
l 与Flash的交互Flex:目前很多的SNS应用就是使用到了这个技术
l Web services: 这个服务通过网络为我们的程序提供服务方法。类似一个远程的服务提供者。比如,一个提供天气预报的网站需要随时更新天气情况,在WEB上挂一个随时询问最新天气情况的服务,我们的程序就可以从这个服务上获取到当前最新的天气信息。其核心是基于XML并利用SOAP协议实现跨平台信息传递的一种技术。
l SOA:面向服务架构,未来技术发展的趋势之一.
除此之外,像设计模式的学习,比如工厂模式、桥梁模式、单例模式等,以及建模思想(比如UML建模等)和软件生命周期等的学习,都是升华大家编程思想的手段和途径。
另外数据库在整个软件开发中占据了重要作用。要做软件,就要先设计好数据库。目前数据库几乎都是关系型数据库,代表的有:
l SQL Server
l MySQL
l ORACLE(选在 Java开发60%都是会使用到这个数据库)
除了这些,还应该了解一些桌面应用软件开发用到的数据库,比如说sqlite,在制作安装程序的时候可以把这个数据库打包进你的安装程序。
在学习JSP之前,要先掌握一些网页的编程基础,主要集中在以下三个技术上:
l HTML:超文本标记语言
l CSS:层叠样式表
l Javascript:浏览器客户端脚本语言
l JavaScript库,比如:Jquery、ExtJs等
Java学习路线图: