1.奠定java的语法基础
学习java的第一步,就是学会使用java这个程序语言来编写程序,而学习程序语言的第一步就是熟悉其语法的使用。程序语言就是一门语言,所不同的是这种语言是用来与计算机沟通的,所以若要熟悉语言,使用的方法莫过于多看别人写的程序,了解别人是如何使用java来解决问题的,然后针对同样的程序进行练习,并从实例中测试自己是否真正了解到如何解决问题。
2.运用基本的j2seAPI
除了java语言本身的语法之外,懂得运用j2se的API也是一个必要的课题,然而在这么多的API下,您必然想知道哪些API是必要或常用的。我的建议是先掌握字符串处理、异常处理、容器(Container)、输入/输出(I/O)、线程(Thread)这几个主题。
API的内容庞大,没有任何一本是可以详细讲解每个API如何运用,您也不需要将API背诵下来,您要懂得查询API文件说明,虽然API文件都是英文的,但基本上只要有基本的英文阅读能力就足以应付查询需求。
3.Java学习总体方向
对于刚学习Java的同学,应该了解下面这张图1-1,了解Java学习的大致结构。当然你能在Oracle Java的主页上看到还有如Java FX、Java DB这样的技术。但是既然要和市场接轨,必然要有所取舍。
对于图1-1,Java SE是我们Java入门的开端,这块内容也就是大家所熟悉的坦克大战、聊天软件、五子棋这些桌面级项目所组成的。学完了Java SE部分,接下来就该选择方向了。
- Java SE中应该关注的内容
在这一节中,将列出Java SE的学习中应该关注的方面,以及这些方面里主要涉及哪些核心内容。大家可以根据自己的学习情况,对照这些条目,看看有没有缺漏的内容。在之前提到过如坦克大战这样的项目,这些确实能很好的涵盖了大部分Java SE的内容,所以必要的项目是很关键的。 - Java EE中该学点什么
Java EE很杂,但是也很容易学,因为你做几个网站大概就能把所有知识点串联起来。所以Java EE方向说好听点儿的叫企业级应用开发,说难听点儿的其实就是做网站。当然并不局限于做网站。
对于Java EE方向的学习,重点在于能够熟练的运用各种框架,以及掌握各种框架构成的核心思想。至于学什么框架,用什么应用服务器,在学习的时候可以采用容易配置的,所有的同类服务都是类似的,精通了一个,相似的学习就很快了。
图上标注的很明显,但这里有亮点需要提出:
1) 往分布式方向并不是一定要经过Java EE阶段,但是,学习Java EE对后续分布式的开发有莫大的好处。
2) Java ME虽然还在Oracle官网上屹立,但就市场来看,它的地位已经明显不如android高了。所以从目前来看,没有必要学习Java ME。
J2SE 面向对象-封装、继承、多态
内存的分析
递归
集合类、泛型、自动打包与解包、Annotation
IO
多线程、线程同步
TCP/UDP
AWT、事件模型、匿名类
正则表达式
反射机制
2:数据库(Oracle或者MySQL)
SQL语句
多表连接,内外连接, 子查询等
管理表、视图、索引、序列、约束等
树状结构存储
存储过程、触发器
数据库设计三范式、
3:JDBC
JDBC基础
连接池
树状结构存储与展现
DataSource & RowSet
JDBC连接Oracle及MySQL
4:HTML_CSS_JAVASCRIPT
html、css、javascript基础语法
JavaScript Form判断
Dom编程基础(事件处理等)
JS常用效果如TreeView、下拉联动等
JS学习方法
JS调试方法
DreamWeaver初步(建立HTML、Table、Form、CSS)等
5:Servlet & JSP
tomcat基础
servlet基础
web.xml配置基础
web application的结构
servlet生命周期
request response等常用方法
ServletContext类
HTTP协议基础(GET POST)
Cookie
Session
Application
JSP的几种语法(包括JSTL等)注意在项目中练习,不要拘泥于语法细节而裹步不前。
6:Struts
多层架构理论
Model 1 and Model 2
Struts基本概念
MVC
Action与业务逻辑类的关系
在Struts与JSP之间传递数据
Struts处理流程(控制流)
Struts TagLib(了解常用的)
JSTL
ActionForm
字段收集
上传文件
类型转换
DTO
动态Action Form
验证框架
ActionForward 转发与重定向
动态生成ActionForward
全局与局部的ActionForward
Action Forward Scope
UnknownActionMapping
Action的线程安全
I18N
如何切换语言环境
Struts异常处理机制 程序处理 自动处理 自定义异常处理器
Struts的多模块配置
7:XML
(XML/XSL、XSLT/DTD、SCHEMA等基础的概念、关于Java的编程可以暂时扔在一边)
8:Hibernate
OR Mapping原理
Hibernate基础开发步骤
Hibernate基本接口(重点Session)
普通属性映射
关联关系映射
Native SQL
inverse lazy cascade
继承关系映射
HQL
性能优化 一级缓存 二级缓存 查询缓存
事务与并发 悲观锁、乐观锁
OpenSessionInView
CurrentSession
(至于JTA、联合主键、自然主键、动态主键、Any类型 Creteria Queries Intercepter and Event 自定义类型等,可以暂时扔在一边)
9:Spring
IOC/DI
Spring配置
Spring架构
AOP及Spring AOP
声明式事务(AOP)
Spring + Hibernate Spring支持Web
Scope
(其他的Spring模块对于自学来说可以暂时扔在一边)
10:EJB3.0
J2EE架构基础(JTA JMS等)
EJB基础(地位及基本理论、分类等)
Annotation
Ant编译与部署EJB
Session Bean
EJB的依赖注入
Persistence API