微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!
路线专题提供路线的最新资讯内容,帮你更好的了解路线。
Java进阶路线图
第一阶段技术名称技术内容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类等。常用的集合类使用如下:Java Collections Framework: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基础JDBC Connection、Statement、PreparedStatement、CallableStatement、ResultSet等不同类的使用。连接池技术了解连接池的概念,掌握连接池的建立、治理、关闭和配置。ORM与DAO封装对象关系映射思想,jdbc的dao封装,实现自己的jdbc。 第四阶段技术名称技术内容web基础技术(项目实战)Xml技术使用jdom和dom4j来对xml文档的解析和生成操作,xml 的作用和使用场合。html/cssJava掌握基本的html标签的格式和使用,css层叠样式表对div的定义,实现对网站布局的基本实现。JavaScript了解javascript的基本语法以及相关函数的使用,并结合html页面实现流程控制和页面效果展示。什么是异常 异常的捕捉和抛出 异常捕捉的原则 finally的使用,package的应用 import关键字。jsp/servletServlet和SP 技术、上传下载、 Tomcat 服务器技术、servlet 过滤器和监听器。jstl和ELJSTL核心标签库、函数标签库、格式化标签库、自定义标签技术、EL表达式在jsp页面的使用。ajax及框架技术了解和属性原生态的ajax的使用,ajax使用的场合,使用ajax的好处,ajax框架jquery渲染页面效果和相关的强大的第三方类库,dwr如何和后台服务进行数据传输,以及页面逻辑控制等。JSON高级应用Java使用json支持的方式对字符串进行封装和解析,实现页面和java后台服务的数据通信。Fckeditor编辑器FCKEditor在线编辑器技术、配置、处理图片和文件上传。javaMail技术了解域名解析与MX记录、电子邮件工作原理、邮件传输协议:SMTP、POP3、IMAP、邮件组织结构:RFC822邮件格式、MIME协议、邮件编码、复合邮件结构分析、JavaMail API及其体系结构、编程创建邮件内容:简单邮件内容、包含内嵌图片的复杂邮件、包含内嵌图片和附件的复杂邮件。JfreeChart报表统计报表;图表处理。BBS项目实战采用Jquery+dwr+jsp+servlet+Fckeditor+JfreeChart+tomcat+jdbc(oracle) 完成BBS项目的实战。实战价值学完此课程你至少已经是拥有近1年开发经验的程序员了,但是你不应该满足现状,下面的课程会更加吸引你! 第五经典阶段技术名称技术内容web主流框架技术(项目实战)struts2.xstruts2框架的工作原理和架构分析,struts-default.xml与default.properties文件的作用,struts。Xml中引入多个配置文件。OGNL表达式、Struts2 UI和非UI标签、输入校验、使用通配符定义action、动态方法调用、多文件上传、自定义类型转换器、为Action的属性注入值、自定义拦截器、异常处理、使用struts2实现的CRUD操作的案例。hibernate3.xHibernate应用开发基础; ORM基础理论; 关系映射技术; 性能调优技术; 性能优化 一级缓存 二级缓存 查询缓存 事务与并发 悲观锁、乐观锁。spring3.xSpring IoC技术; Spring AOP技术; Spring 声明事务管理; Spring 常用功能说明,spring3.0的新特性, Spring整合struts2和hibernate3的运用。Log4j和JunitLogging API; JUnit单元测试技术; 压力测试技术:badboy 进行测试计划跟踪获取以及JMeter压力测试。在线支付技术完成支付宝的支付接口的在线支付功能。电子商务网实战采用spring3+hibernate3+struts2+jquery+dwr+FckEditor+tomcat 完成电子商务网站实战开发。实战价值项目实战价值完全高标准的高要求的迎合企业的需求,学完此课程,全部消化了,你已经就是一个地地道道的高级程序员,已经为你的职业生涯铺平了道路,你还等什么,向着高薪冲刺吧! 第六进阶阶段技术名称技术内容web高级进阶(项目实战)openJpa技术JPA介绍及开发环境搭建、单表实体映射、一对多/多对一、一对一、多对多关联、实体继承、复合主键、JPQL语句、EntityManager API、事务管理,了解一下jpa2.0的新特性以及应用。lucene搜索引擎了解全文搜索原理、全文搜索引擎、什么是OSEM、OSEM框架Compass、基于使用Lucene使用Compass实现全文增量型索引创建和搜索、探索Lucene 3.0以及API。电子商务网重构此项目采用了Lucene+compass+openJpa+上一版电子商务网站的技术进行重构。实战价值此项目的实战价值是前所未有的超值,已经超越了企业的实际要求,你已经是企业的抢手人才,一旦进入企业,便让你立于不败之地,轻松成为公司的技术骨干和精英,技术已经改变了你一生!Excel/PDF文档处理技术java对excel和pdf文档分别利用poi和itext来进行解析和生成。此技术在企业级系统的报表中经常使用。OA工作流技术JBPM工作流是什么、JBPM介绍、JBPM的主要用法、各类节点的用法、任务各种分派方式、JBPM的整体架构原理、工作流定义模型分析、运行期工作流实例模型分析、数据库表模型分析、流程定义管理、流程实例监控、对JBPM的相关接口进行封装,构建自己的工作流应用平台等。WebService技术WebService技术原理、WebService技术的应用、Soap服务的创建与管理、WSDL描述文档规范、UDDI 注册中心运行原理;使用Axis和Xfire创建WEB服务、Webservice客户端的编写、使用TCPMonitor监听SOAP协议、异构平台的整合。Linux技术Linux 系统安装,卸载、linux 使用的核心思想、linux下的用户管理,文件管理,系统管理、程序的安装,使用,卸载。linux下作为server的基本应用:web服务器,j2ee服务器,ftp服务器的安装和项目的部署。CRM项目实战此项目能了解和熟悉客户关系管理的基本流程以及功能的实现,采用上面几个阶段学到的主流框架实现,同时加入了JBPM的技术。实战价值学完这个系统会让你轻松进入企业级的大型项目的开发,倍感得心应手。完备的知识体系和最前沿的开发技术,带给你的将是在精神上不同目光的瞻望和物质上高薪资回报的喜悦,带你进入人生的新的转折点和起点!  第七架构阶段技术名称技术内容大型高并发网站优化方案(项目实战)如何构建一个高性能网站详解什么样的网站需要高性能,高性能的指标体系,构建高性能网站需要做哪些工作,注意哪些细节。SSI技术什么是SSI,使用他有什么好处,什么样的系统才使用SSI,SSI技术详解和使用,应用到项目中。生成静态页技术什么是静态页,为什么需要静态页以及带来的好处,生成静态页的模版技术Velocity和Freemark,生成静态页的访问规则等。缓存技术为什么使用缓存技术,oscache缓存技术的介绍和使用,memcached缓存技术的介绍和使用、两者缓存技术的比较和如何去使用。经典web服务器什么是web服务器,什么是javaweb服务器,他们存在什么关系,当前技术主流中常用的web服务器有哪些, web服务器apache和nginx的应用。nginx架构实战什么是反向代理,负载均衡以及集群,在nginx中如何实现这些高性能的系统架构。实战价值此课程已经将你领入了技术经理和主管以及架构师的门槛了,稍微用心学习加上实战你就是技术牛人了,薪水非常高,同时很快你就是公司的技术中层管理者,你的人生就此又一次的发生巨大的转折! 
写给自己的Java程序员学习路线图
如下是我做开发这几年经常使用一些技术和工具,当然这些技术也都是需要加强的(有些是我一直使用的,不过不深入,有些内部的原理等等不是很清楚)前端部分:       1)HTML:网页的核心语言,构成网页的基础       2)CSS:使网页更加丰富多彩灿烂的利器       3)JavaScript:使网页动起来的根本,加强了网页和用户之间的交互       4)HTML DOM:换一种更加形象化的角度来看待网页,让我们更加方便的控制网页       5)HTML BOM:与浏览器交互不可或缺的工具       6)JavaScript库,主要是:jQuery及其插件、YUI及其插件,使编写网页更加的方便快捷和健壮的强大工具       7)AJAX:异步提交,增强了用户使用网页的良好交互体验       8)JSON: 比 XML 更小、更快,更易解析的数据传输工具       9)FLEX:提供丰富多彩的动画效果       10)普元工作流:更加清晰明了的帮助用户处理业务流程上面的工作       11)JSP:Servlet的展示层,使网页逻辑与网页设计的显示分离       12)JSTL:加强和简化了JSP页面的开发       13)EL:使JSP页面写起来更加简单后台部分:       1)JAVA语言编程基础部分:内容丰富是Java知识体系结构的核心和基础       2)JDBC:提供了一种基准,据此可以构建更高级的工具和接口,使Java开发人员能够编写数据库应用程序       3)JavaMail:用于电子邮件的相关的编程工作       4)JUnit:单元测试,整个变成工作测试的地位始终非常重要       5)Log4j:使我们能够更加细致地控制日志的生成过程       6)Servlet:JavaWeb的核心       7)Struts2:JavaWeb编程中明星级的框架,优点多功能强使编程工作更简单,主要用于控制跳转       8)Spring:JavaWeb编程中明星级的框架,同样优点多功能强使编程工作更简单,主要用于管理对象       9)iBatis:JavaWeb编程中明星级的框架,同样也是优点多功能强使编程工作更简单,主要用于程序和数据库之间的交互       10)SQL:与数据库交互式编程的必备工具版本控制:      1)SVN:版本控制,方便团队协同工作WEB服务器:      1)Tomcat:优秀免费的中小型WEB服务器      2)Weblogic:功能很强大的WEB服务器开发工具:      1)Eclipse:开源强大的Java编程工具      2)MyEclipse:在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境数据库:     1)Oracle:数据库业界老大,这个常用一点当然,也仅仅是常用一些常用的功能而已,需要加强     2)MySQL:最好的关系型数据库之一     3)SqlServer:最好的关系型数据库之一数据库客户端:     1)Toad:非常棒的数据库客户端软件操作系统:     1)Windows     2)Linux远程登录的会话工具:    1)SSH:一直在用,非常不错其他:      各种种类和版本的浏览器(推荐使用FireFox)、office办公软件系列、各种文本编辑器(推荐Sublime)、各种阅读器等等恩,回头看,针对开发工作自己使用过的东西还是不少的,不过每一样都称不上是精通的,仅仅是常常使用,使用那些常用的功能,我在这里记录下来就是要一个个补上来,当然,肯定也需要不断的学习其它一些新的技术和工具的!是对自己的一个督促吧!指明了自己努力的方向!下面是从网上找的三幅图片,比较好的说明了作为一个Java程序员的学习路线图,我放在这里作为一种自我提醒的工具,不时看看,并且会赶紧修补自己的知识树! 1:Java的知识体系结构  2:JavaWeb开发的基本学习路线图 3:JavaWeb开发的成长路线图 恩,今年也看了不少的书,感觉收获挺大的,2018年期待有个更加美好的开始!目标已经有了,下面就看行动了!记住:学习永远是自己的事情,你不学时间也不会多,你学了有时候却能够使用自己学到的知识换得更多自由自在的美好时光!时间是生命的基本组成部分,也是万物存在的根本尺度,我们的时间在那里我们的生活就在那里!我们价值也将在那里提升或消弭!少年加油吧!最后的建议:学习各种技术的时候去对应技术的官方网站(百度一下就知道了!),买专业出版社和专业人士出的书籍,英文是一大关,也是区分各级程序员的一道网,我的英语也比较差,不过我在持续的学习中,我相信我能拿下它,最近我学习技术的时候也比较喜欢去官网硬着头皮啃英文,并且觉得国外这些做技术的太厉害啦!当然,他们是鼻祖嘛!加油!
最全Java学习路线图——Java学习指南
准备篇适用/适合人群:适合基础小白目标:掌握JavaSE。●技术点小节:1.开发工具的安装配置的介绍 2.JDK安装 3.DOS环境编程 4.Eclipse的安装使用●JAVA基础1.基本的语法规范 2.数据类型 3.流程控制 4.函数●初识JavaOOP1.类,对象,面向编程思想 2.字符串类 3.随机数 4.正则表达式 5.递归的使用●JavaOOP基础1.JavaOOP之封装 2.JavaOOP之继承 3.JavaOOP之多态 4.Java访问修饰符 5.Java接口 6.Java抽象类●集合框架和数据结构1.Java常用集合 2.Java泛型●异常处理1.异常分类、原因、概述、原理、解决方案 2.LOG4J框架●XML解析1.XML概述 2.XML结构概述 3.XML语法及编写规范 4.DOM4J简介 5.DOM4J应用 6.使用DOM4J解析XML并记录系统日志●JavaIO与网络通信1.JavaIO基础 2.JavanNIO简介及使用场景 3.网络协议 4.JavaSocket编程 5.网络应用框架Apache MINA详解●实战1.班级学生考试成绩分析系统1 2.班级学生考试成绩分析系统2 3.班级学生考试成绩分析系统3 4.网站数据抓取业务实现 5.根据业务需求分析目标网站数据基础篇适用/适合人群:拥有Java语言并可以实现网站爬取数据并分析目标:掌握mysql,Oracle在各个平台上的安装及使用●Mysql数据库基础1.mysql概述、优点、运行原理及内存结构 2.mysql数据类型 3.mysqlDDL语句的使用 4.SQL语言的使用 5.DML语句的介绍及使用 6.SQL事务 7.SQL查询机制、查询基础、技巧、查询优化;●Mysql数据库高级1.mysql数据库引擎分类 2.mysql事务 3.mysql表 4.mysql数据类型 5.mysql视图 6.mysql索引 7.mysql分页 8.SQL语句优化技巧●Oracle实战1.Oracle安装与调试 2.Oracle数据类型 3.Oracle与MySQL对比 4.Oracle数据结构概述 5.Oracle运行原理 6.Oracle内存结构 7.Oracle表空间 8.用户,表,序列的创建及使用 9.Oracle索引 10.Oracle分区表的创建及使用●PL/SQL实战1.PL/SQL基础知识 2.异常处理 3.游标 4.存储过程●JDBC1.JDBC概述 2.JDBC工作原理 3.JDBC API 4.JDBC访问数据库 5.JDBC常用接口●数据库连接池1.Java多线程开发 2.多线程与单线程比较 3.多线程应用 4.多线程使用注意事项 5.数据库连接池技术●实战1.电子银行信息管理系统; 2.班级信息管理系统核心篇适用/适合人群:Java SE 掌握比较扎实,可以开发较为复杂的信息管理系统目标:1.掌握HTML,CSS,JavaScript等前端基本技术,并使用JSP,Servlet开发小型网站2.使用框架技术开发大型网站●HTML+CSS基础1.W3C标准 2.HTML编辑工具 3.HTML标签 4.CSS的基本用法 5.在HTML中引入CSS样式●CSS高级1.CSS编辑网页文本 2.列表样式 3.盒子模型 4.浮动 5.定位网页元素●JS基础1.JavaScript核心语法 2.程序调试 3.JavaScript对象●JS高级1.初识jQuery,jQuery选择器 2.jQuery中的事件与动画 3.jQuery操作DOM 4.表单校验●JSP与Servlet实战1.B/S程序实现原理 2.Tomcat应用服务器 3.JSP页面组成 4.内置对象 5.JSP数据访问 6.JavaBean的应用 7.Servlet概述与API 8.Servlet声明周期 9.Servlet应用●Ajax实战1.Ajax概述 2.Ajax执行原理 3.jQueryAjax概述 4.jQueryAjax使用●过滤器与监听器1.过滤器的应用场景 2.过滤器运行原理 3.过滤器配置 4.Servlet与过滤器 5.监听器的使用场景 6.监听器的运行原理 7.监听器配置 8.过滤器、监听器、Servlet总结●Struts框架实战1.Struts简介 2.Struts对比Servlet的优点 3.Struts2框架的安装与配置 4.OGNL框架概述与使用 5.Struts2数据校验 6.Struts2运行原理 7.Struts2值栈 8.Struts2拦截器 9.Struts2国际化●Hibernate框架实战1.Hibernate概述 2.Hibernate安装与配置 3.Hibernate事务操作 4.Hibernate查询操作 5.Hibernate缓存概述 6.Hibernate一级缓存操作 7.Hibernate二级缓存操作 8.Hibernate查询缓存操作 9.Hibernate查询优化 10.Hibernate与Struts整合●Spring框架实战1.Spring概述 2.Spring安装与配置 3.Spring使用 4.SSH框架整合基础 5.Spring整合Hibernate框架 6.Spring整合Struts框架●实战1.使用jQuery编写购物网站的动态效果 2.使用Servlet优化购物网站的信息发布功能 3.使用jQuery+Ajax+Servlet完成购物网站的页面无刷新数据交互效果 4.使用SSH框架编写简单的JavaWeb程序 5.使用SSH框架优化购物网站进阶篇适用/适合人群:熟练使用SSH框架开发大型网站目标:使用SSM框架开发OA办公系统●Maven1.Maven概述 2.Maven优势和特点 3.Maven的安装与配置 4.使用nexus创建私服 5.使用maven进行测试 6.使用Hudson进行持续集成 7.使用maven构建web项目 8.SVN安装与配置 9.SVN的使用 10.Git安装与配置 11.Git的使用●项目测试1.黑盒测试概述与使用 2.白盒测试概述与使用 3.Junit,Jmeter测试工具使用●使用MyBatis框架优化数据层开发1.mybatis概述 2.mybatis的安装与配置 3.Java注解的使用 4.操作数据库 5.mybatis缓存配置 6.mybatis整合Struts开发●使用SpringMVC框架优化展示层开发1.SSpringMVC与Struts 2.SpringMVC运行原理 3.SpringMVC安装与配置 4.SpringMVC常用API介绍 5.SpringMVC拦截器 6.SpringMVC对Http协议的处理 7.SpringMVC对数据模型的处理 8.SpringMVC视图控制器使用●使用SpringBoot框架简化JavaWeb开发1.SpringBoot介绍 2.SpringBoot优势和特点 3.SpringBoot应用场景 4.SpringBoot安装与使用 5.SpringBootAPI简介 6.SpringBoot整合Maven 7.SpringBoot整合Mybatis 8.SpringBoot整合SpringMVC●实战1.对自己搭建的JavaWeb项目进行测试评估 2.使用SSM框架开发OA办公系统高级篇适用/适合人群:熟练掌握SSM框架开发的开发者目标:构建分布式系统,使用JavaEE应用完成企业个性化需求●webUI1.EasyUI框架 2.Bootstrap框架●分布式大数据开发1.Druid 2.mongodb 3.redis●个性化需求1.定时任务与邮件发送 2.webservice与POI 3.报表与统计图 4.单点登录与快捷登录 5.微信公众号后台编写 6.网银支付接口对接 7.搜索引擎应用●实战1.OA系统二次开发
Java学习路线图如何快速学Java
 不知不觉从初学Java到现在已经8年了,今天在这里给刚入门和入门不久的小伙伴们一些建议。可能总结的不是很详细,但给出了一个大概的学习路线。希望对大家有帮助哈~如何快速学Java这里我以Java EE(Jakarta EE)/Java Web的经验来说哦。(都把你们看做是零基础入门的了)学习Java EE(Jakarta EE)总体来说会有以下三大模块:Java数据库Web前端在我看来,无论学习什么技术都好,在学习该项技术的细节之前都得知道:这项技术是什么,为什么我要学习这项技术,学习了这项技术有什么好处。看似好像我在说多余的话,但如果你在学习某项技术的时候无法回答上面的三个问题。再过几天,你很大程度上会忘记这项你所“学过”的技术。比如说,如何你连“为什么要用多线程”你都无法用通俗的话来解释清楚。即便你当时学习的时候知道多线程可以用xxx方式来创建,多线程的xxx的api。那再过两个月,人家问你”Java多线程有什么用啊?”。你想想你还能答什么,我认为你是记不住“多线程可以用xxx方式来创建、多线程的xxx的api”这些知识点了。再比如说,如果学习Spring时不知道IOC和new对象有什么区别,那我为啥不直接new对象而要那么麻烦去学Spring呢?简单来说:如果你不知道学习某项技术是干嘛用的,那先不要学。如果你是零基础学习Java并理解力不是爆棚的话,我建议以视频学习为主。可能你会看到这样类似的言论:“看视频学习太慢了”“直接看源码啊,源码就是最好的解释”“有问题直接Google啊,用什么百度”“最好的资料是官网文档”.....但是,那都是对有经验的人或者高智商的人群来讲的。如果是零基础普通人,看视频学习/看不懂源码/用百度/看中文博客来学习不丢人。ps:如果看的视频讲师的语速不是特别快,建议以1.5或者1.75倍速观看。1.1 关于视频资源我在学习Java的时候也收集了很多的视频资源,并不是每个都有看过。只是在混群的时候发现有人发了,就复制下来整理一下罢了。github.com/ZhongFuChen…  其他的视频资源:B站:(bilibili.com)一个神奇的网站。如果你想看哪个视频,可以先搜一下B站有没有。慕课网:(imooc.com)里头也有挺多的视频资源。公众号/混qq群/微信群:不少人手里都有几t的资源,如果跟群友的关系不错,一般都会免费给你发的......1.2 学习Java基础零基础学习Java的路线我简单总结为以下:首先去官网下个JDK,按现在常用的版本JDK1.8就够学习了下载地址:JDK1.8下载:www.oracle.com/technetwork…随后去下载现在Java常用的编辑器IDEA(也可以用eclipse,但现在IDEA的确是好用)..下载地址:IDEA下载:www.jetbrains.com/idea/以1.5/1.75倍速观看Java基础视频(以刘意为例) 在学习Java基础时,我简单来说一下什么东西可以不碰:&^|位运算符,++i和i++类似这种绕死人的语法内部类AWT,SWING编程注解需要深入理解的知识点:流程控制面向对象的概念Java语法this指针、重写和重载、final、static等等这些基础的东西集合(包括泛型)常用的集合类IO流IO流代码的编写(理解这些知识点,能够在有提示的情况下码出代码,但不要为了一些细节钻牛角尖)简单过一遍的知识:异常多线程网络编程反射机制(你得知道这个知识点是干嘛用的,为什么要学这个知识点,能看懂具体的代码!)对于上面所说深入理解的知识点,我个人是非常建议在学习期间写笔记(博客)的。如果你想写笔记的话,最好直接就用markdown语法来编写,而不是用word/简单的记事本。markdown语法非常好学,几分钟跟着就可以学习了,几乎所有的it博客网站都支持markdown:markdown学习:www.jianshu.com/p/q81RER如果喜欢画思维导图的,我这里推荐processOn就可以了。无需下载Xmind这么麻烦了:ProcessOn来画思维导图:www.processon.com/i/5815483ce…有的时候并不需要使用IDEA打开一个.java或者.xml这样的文件,可以使用notepad++记事本:NotePad++记事本:notepad-plus-plus.org/学会科学上网和使用Chrome浏览器,比如说下载拦截广告插件,英语翻译插件Chrome浏览器:www.google.com/chrome/拦截广告插件:chrome.google.com/webstore/se…英语翻译插件:chrome.google.com/webstore/se…虽然是快速学习Java,但学完上面的估计得一个月了(:..一个月发现都是面向控制台编程(console),输入输出一些数据来玩。 期间可能就学习IO的时候可以复制文件,修改文件名有点意思。但好日子就要来临了!1.3 学习Java Web基础首先我们可以学习一下Web前端的知识(此部分都简单过一下就好了)HTML/CSS/JavaScript/jQueryCSS框架(都有中文手册,很快就上手了,选一个自己喜欢的就好了):BootStrap:www.bootcss.com/Materialize:www.materializecss.cn/到目前为止,学完上面这些可以搭建“能看”的静态网页了。曾经看过一段话来总结上面的技术:“HTML是名词,CSS是形容词,JavaScript是动词”随后学习JavaWeb的路线如下:Tomcat(简单过一下)XML/注解(简单过一下)Servlet(重点理解)HTTP协议(重点理解)Filter过滤器(重点理解)Listener监听器(简单过一下)JSP(简单过一下)AJAX、JSON(简单过一下) 基于上面的学习,起码已经可以使用request对象来接收前端发送过来的数据,使用response对象将Java后端的数据返回给前端,使用Filter拦截器来处理中文乱码问题(Tomcat默认的编码是ISO-88591)。总的来说已经可以实现前后端交互了!1.4 学习数据库数据库这里指的是关系型数据库,一般我们以MySQL来入门就足够了。在学习期间,其实很多时间都耗费在配置环境上面,比如我之前安装JDK,安装MySQL,安装Oracle就耗费了不少时间。后来我也将其写成博客,需要重新安装的时候翻一下博客就好了。比如MySQL安装教程:segmentfault.com/a/119000001…主要学习SQL的基本使用吧:创建表(create table)增删改查(insert,delete,update,select)对于存储过程、触发器这些了解一下即可对于索引、锁后面再学(此部分很重要,但以快速入门来说,可以先不看) 1.5 学习Java连接数据库(JDBC)到这里,我们Java Web、数据库、Web前端的基础都已经基本学完了,但此时Java和数据库是相互独立的。我们想要以程序的方式来对数据库的数据进行操作,那就要学习一下Java连接数据库(JDBC)。JDBC这项技术并不难呀,就是模板代码,来来去去就几个步骤:导入MySQL或者Oracle驱动包装载数据库驱动程序获取到与数据库连接获取可以执行SQL语句的对象执行SQL语句关闭连接由于这些代码可能会重复出现,那我们可以学习一下DbUtils这个组件:可以帮我们减少编写JDBC的模板代码。1.6项目管理和框架的学习经过上面的学习,已经是可以在本地写一个Web项目了。页面框架使用BootStrap/Materialize框架来搭好请求处理交由Servlet,返回的数据可以通过AJAX或者使用JSP,DAO层可以使用DbUtils。数据保存在MySQL中为了让写代码变得更爽,我建议用半天学一下Maven(项目管理工具),用几天学一下SpringBoot。从Servlet直接跳到SpringBoot可能有点难理解,但多搞几天我相信还是可以的..1.7Linux学习最后,我们在本地上写完的项目想要让其他人都看得见,一般都会部署在Linux环境下的。(此部分的学习可以等到将项目写完,想要部署项目才学习)我是不推荐使用虚拟机再搞Linux的,直接买一台方便很多如果是学生的话,一个月的学生版也就10块一个月。如果是转行的大哥话,现在阿里云双十一有优惠,买起来就很便宜了。优惠链接:m.aliyun.com/act/team111…总结总结一下我认为学习Java的路线:Java基础-->流程控制-->面向对象(包括Java语法)-->Java集合-->Java IO流-->异常-->多线程-->网络编程-->反射JavaWeb基础-->HTML/CSS/JavaScript/jQuery-->Tomcat-->XML/注解->Servlet-->HTTP-->Filter过滤器和监听器-->JSP-->AJAX/JSON-->数据库(MySQL)-->JDBC和DbUtils项目管理和框架-->Maven-->SpringBootLinux基本命令最后我们的项目是这样的:以Maven来管理我们的项目前端通过BootStrap来搭建页面框架SpringBoot来搭建Java后端环境,SpringMVC处理前端请求(SpringBoot整合了)DAO层使用DbUtils组件来完成,MySQL作为数据库当然了,我的Java路线不一定就是对的,我这里只是给出一种路线。再次说明:这套路线是以“快速”学习Java的,如果你想要找到一份好工作,上面的知识点是不够的!参考:一位资深程序员大牛给予Java初学者的学习路线建议Java教程,Java学习路线图(全网最详细)JAVA学习路线图