首先我个人推荐的学习方法是:先学习java的第一部分,也就是HTML,css,js,因为学了java以后肯定会发展在javaee的方向,学了前端之后,后端很多东西都比较容易理解!其中,J2SE是关键。javase部分学好了,基础扎实了,以后学起来会更轻松!补充说明一下:我觉得学习java比较合适的方式是先把所有的知识点都过一遍,然后把所有的知识点连在一起,边开发边补充,就像写文章一样,先写框架,然后去润色填充。因为不知道用在什么地方,不知道怎么用,没有学习的目的,所以很多概念时间长了就很难理解,容易忘记。但是如果直接从实践开始学习,很多知识点串联起来,印象深刻。当然,前提是你已经入门了,可以写一些简单的程序。我个人现在就是这样学习的。感觉很有效果。说明:本文介绍的内容过于详细。这里我补充一些基础的学习路线,比较简单,但是比较可行:1.基础语法。也就是说,我们常说的各种编程语言中都有一些部分,比如数据类型、数组、for循环、do-while、switch……等,是学习任何一种编程语言的基础和关键。2.面向对象:①类和对象;②Java的三大特性(封装、继承、多态);3.工具类:①异常及异常处理;②集合框架(主要是List和Map);4.常用的Stream(流):①输入流;②输出流;③缓冲流;5、网络与线程:①Socket;②多线程(Thread、Runnable);6、数据操作:①Mysql、Oracle;②JDBC;7.网络基础:①Html/css;②Javascript;③J查询;8.框架。下面是我自己整理制作的百度脑图知识结构:百度脑图只要学会上面的前7项,从前台到后台开发普通应用基本问题不大。当然,学完了框架,那就最好了,但关键还是要把基础学好。说实话,要完全掌握下表所列的知识点还是有难度的。所以,大家应该静下心来学习一切,不要只顾着学习。进步取决于学习的效果。第一阶段技术名称技术内容J2SE(java基础部分)Java开发前奏计算机基本原理,Java语言发展简史及开发环境搭建,体验Java程序开发,环境变量设置,程序执行过程,相关反编译工具介绍,java开发工具Eclipse的安装与使用,javadoc说明。Java基础语法Java语法格式、常量和变量、变量作用域、方法和方法重载、运算符、程序流程控制、数组和操作数组的类、遍历数组、数组常用的搜索和排序算法原理,最后使用实现功能的Java程序。面向对象编程理解对象的本质,以及面向对象,类与对象的关系,如何用面向对象的思想来分析和解决显示生活中的问题,借助java程序来编写。如何设计类,类设计的基本原则,类实例化过程,类元素:构造函数,this关键字,方法及方法参数传递过程,static关键字,内部类,Java垃圾对象回收机制。对象的三大特性:封装性、继承性和多态性。子类对象的实例化过程,方法重写和重载,final关键字,抽象类,接口,继承的优缺点。对象的多态性:子类与父类之间的转换、父类对子类的引用、抽象类和接口在多态性中的应用、多态性的优点。常见的设计模式如简单兴趣、模板等模式。什么是例外?异常捕获和抛出。异常捕获的原理。finally的使用,package的应用,以及import关键字。多线程应用程序多线程的概念,如何在程序中创建多线程(Thread,Runnable),线程安全问题,线程同步,线程间通信,死锁问题分析。JavaAPI详解JavaAPI,String和StringBuffer,各种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。常用的集合类使用如下:JavaCollectionsFramework:Collection,Set,List,ArrayList,Vector,LinkedList,Hashset,TreeSet,Map,HashMap,TreeMap,Iterator,Enumeration等常用集合API。IO技术什么是IO,File及相关类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应的缓冲流和管道流,字节和字符转换流,封装流,以及Java的常用封装类的使用和分析IO性能。网络编程Java网络编程、网络通信底层协议TCP/UDP/IP、Socket编程。介绍网络通信常用的应用层协议:HTTP、FTP等,以及WEB服务器的工作原理。Java高级特性递归程序,Java高级特性:反射、代理和泛型、枚举、Java正则表达式API详解及其应用。第二阶段技术名称技术内容数据库技术Oracle基础管理Oracle后台介绍、数据库安装、数据库用户名和密码、客户端登录数据库服务SQLPLUS、数据库基本概述。SQL语句建库、建表、修改、删除、查询、创建索引、创建主从表、数据控制授权和回收、事务控制、查询语句和运算符详解、sql中函数的使用。多表连接和子查询等价和非等价连接、外连接、自连接;交叉连接、自然连接、using子句连接、全外连接和左右外连接、子查询的使用及注意事项。通过实例对触发器、存储过程触发器、存储过程使用场合进行了详细的讲解。数据库设计优化WHERE子句中的连接顺序,选择最高效的表名顺序,避免在SELECT子句中使用'*'来计算记录数等数据备份与迁移迁移技巧,备份方案;导入导出等第三阶段技术名称技术内容jdbc技术JDBC基础JDBCConnection、Statement、PreparedStatement、CallableStatement、ResultSet等不同类型的使用。连接池技术了解连接池的概念,掌握连接池的建立、管理、关闭和配置。ORM和DAO封装了对象关系映射的思想,jdbc的dao封装,实现了自己的jdbc。可以把第四阶段的知识再往前推进一点,尤其是刚接触面向对象程序设计的同学。刚开始学javase,感觉上手并不容易。先学习webpart有助于理解面向对象的概念。此外,Web部分相对简单直观。写完可以直接看到效果,有助于提高大家的学习积极性。第四阶段技术名称技术内容Web基础技术(项目实战)xml技术使用jdom和dom4j解析生成xml文档,xml的作用和使用场合。html/cssJava掌握基本html标签的格式和使用,css级联样式表定义div,实现网站布局的基本实现。Javascript了解javascript的基本语法及相关函数的使用,结合html页面实现流程控制和页面效果展示。什么是例外?异常捕获和抛出。异常捕获的原理。finally的使用,package的应用,以及import关键字。jsp/servletServlet与SP技术、上传与下载、Tomcat服务器技术、servlet过滤器与监听器。Jstl和ELJSTL核心标签库、功能标签库、格式标签库、自定义标签技术、jsp页面中的EL表达。Ajax和框架技术了解和归因原始ajax的使用,使用ajax的场合,使用ajax的好处,ajax框架jquery渲染页面的效果及相关强大的第三方库,dwr和后台服务如何进行数据传输,以及Page逻辑控制等。JSON高级应用Java利用json支持的方法对字符串进行封装解析,实现页面与java后台服务的数据通信。fckeditor编辑器FCKEditor在线编辑技术,配置,处理图片和文件上传。JavaMail技术了解域名解析和MX记录,邮件工作原理,邮件传输协议:SMTP,POP3,IMAP,邮件组织结构:RFC822邮件格式,MIME协议,邮件编码,复合邮件结构解析,JavaMailAPI及其架构,Create以编程方式发送电子邮件内容:简单的电子邮件内容、带有嵌入式图像的复杂电子邮件、带有嵌入式图像和附件的复杂电子邮件。JfreeChart报表统计报表;图表处理。BBS项目实战使用Jquery+dwr+jsp+servlet+Fckeditor+JfreeChart+tomcat+jdbc(oracle)完成BBS项目实战。实用价值学完这门课程,你至少是一个有近1年开发经验的程序员,但不要满足于现状,下面的课程会更吸引你!第五经典阶段技术名称技术内容Web主流框架技术(项目实战)struts2.xstruts2框架的工作原理和架构分析,struts-default.xml和default.properties文件的作用,struts。在xml中引入多个配置文件。OGNL表达式、Struts2UI和非UI标签、输入验证、使用通配符定义动作、动态方法调用、多文件上传、自定义类型转换器、为Action属性注入值、自定义拦截器、异常处理、使用案例struts2实现的CRUD操作。hibernate3.xHibernate应用开发基础;ORM基础理论;关系映射技术;性能调优技术;spring3.xSpringIoC技术;SpringAOP技术;Spring语句事务管理;Spring常用功能说明,spring3.0的新特性,Spring集成了struts2和hibernate3的使用。Log4j和JunitLoggingAPI;JUnit单元测试技术;压力测试技术:用于测试计划跟踪和JMeter压力测试的badboy。在线支付技术完成了支付宝支付接口的在线支付功能。电子商务网站实战采用spring3+hibernate3+struts2+jquery+dwr+FckEditor+tomcat完成电子商务网站的实战开发。实用价值项目的实际价值完全是高标准、高要求,满足企业的需求。学完这门课程,你已经消化了这一切。你已经是一个不折不扣的高级程序员了,这为你的职业生涯铺平了道路。你还等什么,向高薪冲刺!第六进阶技术名称技术内容Web进阶进阶(项目实战)openJpa技术JPA介绍及开发环境搭建,单表实体映射,一对多/多对一,一对一,多-to-many关联、实体继承、复合主键、JPQL语句、EntityManagerAPI、事务管理,了解jpa2.0的新特性和应用。Lucene搜索引擎了解全文搜索原理,全文搜索引擎,什么是OSEM,OSEM框架Compass,基于使用Lucene使用Compass实现全文增量索引创建和搜索,探索Lucene3.0和API。电子商务网络改造本项目采用上一版电子商务网站的Lucene+compass+openJpa+技术进行改造。实战价值本项目的实战价值前所未有,已经超越了企业的实际需求。你已经是企业抢手的人才。一旦进入企业,你将立于不败之地,轻松成为公司的技术骨干和精英,科技改变你的生活!Excel/PDF文档处理技术java使用poi和itext分别分析生成excel和pdf文档。这种技术经常用于企业级系统的报告。OA工作流技术什么是JBPM工作流、JBPM介绍、JBPM的主要用途、各种节点的使用、任务的各种分配方式、JBPM的总体架构原理、工作流定义模型分析、运行时工作流实例模型分析、数据库表模型分析、过程定义管理、流程实例监控、JBPM相关接口的封装、构建自己的工作流应用平台等WebService技术WebService技术原理、WebService技术的应用、Soap服务的创建与管理、WSDL描述文档规范、UDDI注册中心运行原则;使用Axis和Xfire创建WEB服务,编写Webservice客户端,使用TCPMonitor监控SOAP协议,异构平台集成。Linux技术Linux系统的安装、卸载、linux使用的核心思想、linux下的用户管理、文件管理、系统管理、程序的安装、使用、卸载。linux下作为服务器的基本应用:web服务器、j2ee服务器、ftp服务器安装及项目部署。CRM项目实战本项目能够了解和熟悉客户关系管理的基本流程和功能的实现。它采用了以上阶段学习到的主流框架来实现,同时加入了JBPM技术。实用价值学习本系统后,你将轻松进入大型企业级项目的开发,并感到得心应手。完备的知识体系和最前沿的开发技术,将带给您精神上不一样的视野和物质上高薪回报的喜悦,引领您走向人生新的转折点和起点!第七架构阶段技术名称技术内容大型高并发网站优化方案(项目实战)如何搭建高性能网站详解什么样的网站需要高性能,高性能指标体系,需要做什么工作建立一个高性能的网站需要做些什么,细节上要注意什么。SSI技术什么是SSI,使用它有什么好处,什么样的系统使用SSI,SSI技术的详解和使用,以及在项目中的应用。静态页面生成技术什么是静态页面,为什么需要静态页面及其带来的好处,生成静态页面的模板技术Velocity和Freemark,生成静态页面的访问规则等。缓存技术为什么要用缓存技术,oscache缓存技术的介绍和使用,memcached缓存技术的介绍和使用,两种缓存技术的比较和使用方法。什么是经典Web服务器?什么是网络服务器?什么是JavaWeb服务器?nginx架构实战什么是反向代理、负载均衡和集群,如何在nginx中实现这些高性能的系统架构。实用价值本课程已经带领你跨入了技术经理、主管和架构师的门槛。稍加努力和实战,你就是技术天才,薪水很高。同时,你也即将成为公司的技术中层管理人员。这是我人生又一个巨大的转折点!如果你掌握了以上所有的东西,不用说你已经算是java界比较NB的人了,因为一般能掌握这些知识的人基本上都有5-10年的工作经验,但很难做到说,说也许你就是那个天才,来吧男孩!
