笔者做java开发也有几年了,现在回想自己学习java的经历,当时真希望有一部大体的学习框架,这样自己就不会走许多弯路了,这是我在这三年工作和多年学习中的经验,希望对迷茫的java爱好者有所帮助:
第一步
首先要做好学习前的准备工作:java语言一般用于大型的服务器程序开发,所有有必要了解如下内容:Unix开发环境Unix系统原理、Unix开发环境、Unix常用命令。熟练掌握Unix常用命令;熟练构建下的Java开发环境。
第二步
然后进入Java语言基础的学习阶段,学习任何一门语言都要打好基础,曾经学过高级程序语言(C,C++等)来说,java语言基础有自己的特点,但是基本规律都是相通的,如:算法基础、常用数据结构、企业编程规范。掌握常见的数据结构和实用算法;培养良好的企业级编程习惯。
第三步
掌握java语言基础后接下来就是面向对象语言的共性:Java面向对象面向对象特性:封装、继承、多态等。掌握面向对象的基本原则以及在编程实践中的意义;掌握Java面向对象编程基本实现原理。
第四步
JDK核心API语言核心包、异常处理、常用工具包、集合框架。熟练掌握JDK核心API编程技术;理解API设计原则;具备熟练的阅读API文档的能力;JavaSE核心异常处理、多线程基础、IO系统、网络编程、Swing组件、JVM性能调优(JVM内存结构剖析、GC分析及调优、JVM内存参数优化)、Java泛型、JDK新特性。熟练掌握JavaSE核心内容,特别是IO和多线程;初步具备面向对象设计和编程的能力;掌握基本的JVM优化策略。XML XML语法、XML解析(SAX、DOM)、Dom4j组件、Digester组件。熟练掌握XML语法规则;理解DOM模型;熟悉Java对XML的各种解析方式。
第五步
SQL语言SQL语句基础和提高、SQL语句调优。熟练的掌握SQL语句;掌握一定的数据库查询技巧及SQL语句优化技巧。Oracle数据库开发Oracle体系结构及系统管理、Oracle数据库高级编程、数据库设计基础。掌握Oracle体系结构及核心编程技术。
这里附上学习性能调优方面的思维导图
第六步
连接数据库:JDBC JDBC核心API(Connection、Statement、ResultSet)、JDBC优化技术(缓存技术、批处理技术、连接池技术)。理解JDBC作为规范的设计原则;熟练掌握JDBCAPI;具备使用JDBC对数据库进行高效访问的能力。
第七步
软件工程基础软件过程和软件活动;需求设计、概要设计、详细设计基本原则和文档规范;配置管理的基本概念和必要性;CVS基本操作;Ant简介理解软件过程的普遍概念和基本的软件活动;理解迭代的意义;掌握Ant、CVS等常用配置管理及部署工具。
第八步
OOAD及设计模式面向对象基本设计原则、工厂模式、策略模式、适配器模式、代理模式等、门面模式。理解面向对象设计的一般原则;理解重用的意义;掌握常见的设计模式。
第九步
HTML/CSS HTML基本文档结构、掌握CSS基础语法、关于HTML文档块、链接、列表、表格、表单等。掌握HTML基本原理;掌握CSS各种选择器及常见样式设置;熟练使用HTML常用元素。JavaScript核心JavaScript语言基础(数据类型、函数、对象、闭包)、Java DOM编程、事件模型、JavaScript面向对象编程。深入理解JavaScript语言原理;熟练的使用JavaScript对HTMLDOM进行编程;熟练掌握JavaScript对象对象封装技巧,为后续的JavaScript学习打下坚实的基础。
Servlet/JSPServlet生命周期及Servlet服务器、Tomcat部署配置、JSP语法、自定义标记、JSTL和EL表达式、JSP新特性、Java Web设计模式。透彻理解Servlet核心原理;熟练掌握Servlet API;透彻理解JSP引擎工作原理;透彻理解标记库原理;熟悉常见的Java Web设计模式;为后续的Java Web开发打下坚实的理论基础。
第十步
Ajax Ajax基础、XHR对象、Ajax设计模式、JSON技术掌握Ajax的基本通信原理;掌握基于XML和JSON的Ajax数据规则。
第十一步
JavaScript框架JQuery、JQuery插件、DWR。掌握JQuery核心API;了解JQuery基本设计原则;了解多种JQuery插件;掌握DWR的基本原理及应用技巧。
第十二步
ssh三大框架的学习,这是企业实际应用的框架模型:
①.Struts 2.1.6 Struts2核心控制流程、Ognl、Action、Interceptor、,Result、FreeMarker、Struts2标记库、Struts2扩展、Struts2应用技巧(输入验证、消息国际化、文件上传和下载、防止重复提交等)。熟练掌握Struts2核心要件,特别是Interceptor和Result;掌握基于模板技术的Struts2 UI组件;掌握基于Ognl的数据共享方式、掌握Struts2各种定制及扩展方式;熟练掌握基于Struts2的Web开发技巧。
②. Hibernate 3.2.1 ORM概念、Hibernate核心API、Hibernate实体映射技术、Hibernate关系映射技巧、HQL查询、OSCache及Hibernate缓存技术。重点掌握Hibernate多种关联映射技巧及其实用背景,做到在合适的时候使用合适的关联方式;掌握多种Hibernate查询技巧及优化技术。
③.Spring 2.5 Spring Ioc基础、Ioc注入技巧、对象高级装配(自动装配、模板装配、组件扫描特性、FactoryBean、对象生命周期)、SpringAOP原理、AspectJ、Spring JDBC支持、Spring事务及安全管理;Spring整合Hibernate、Spring整合Struts、Spring MVC简介。深入理解Ioc和AOP的基本原理和实现方式;熟练掌握SpringIoc及AOP实现方式;熟练掌握Spring事务管理;熟练掌握Spring与其他组件的整合技术。
这里附上学习框架源码的思维导图
,以上就是笔者对java学习路线的个人理解了,需要java学习路线相关思维导图的同学可以私信笔者“学习路线”获取,喜欢这篇文章的可以给笔者点个赞同,关注一下,每天都会分享Java相关文章!还有不定时的福利赠送,包括整理的学习资料,面试题,源码等~~