在这里我也同时提醒检视本路线的同学,这套路线是依照10年以上的Java开发老司机的工作经历所总结出来的相关知识点,分为几大阶段,内容很多,具体你需要花多少时间才能够全部学完这个因人而异,毕竟没人知道你在学习的过程中是否会时时被打断。
然后就是,如果你不是一个能接受新的挑战的人,就不建议你学习了。毕竟程式设计可不是一招鲜吃遍天的,这只是一个开端,后续你可能还有更多需要学习的,更多挑战。如果你是一个喜爱挑战并解决问题的,那么欢迎你进入Java的世界!以下资源教程可以关注微信公众号“动力节点Java资源库”获取







Java学习前的一些准备
• JDK-(JavaSEDevelopmentKit)
JDK是Java开发所需要的环境,就跟我们想玩某个网游一样,玩之前一定是需要先安装相应的程式包的。那这个JDK就是我们准备登陆Java大陆前需要安装的一个程式包。
• IDE-(IntegratedDevelopmentEnvironmen)
IDE是整合开发环境,一般整合开发环境都会带有JDK,可以使用自带的JDK也可以使用我们下载的JDK,不同的IDE配置不同。Java常用的IDE有Eclipse、MyEclipse、IntelliJIDEA。IDE具备程式码分析、补全、变异、除错等常用功能,可以大大的提高开发人员的程式设计效率。
下载地址:http://www.bjpowernode.com/Video/ziliao.html
阶段大致细节
1、入门基础
• Java简介
• 了解什么是Java;程式码语法基本格式;输出表达式。
• 了解Java大致的编译以及执行过程
• Java语言基础、循环、阵列;了解类和物件
• 掌握Java的基本资料型别和引用资料型别有哪些;
• 掌握强制资料型别转换和自动型别提升规则;
• 常量如何宣告及赋值;
• 循环的语法及作用;
• 阵列的宣告及定义;
• 掌握类的概念以及什么是物件。
• OOP封装、继承、多型
• 面向物件的三大特征,本节内容非常重要也相对来说较为难以理解,一定要耐下心来好好理解。
• java.util.*包下的常用类
• util包下的Collection、Comparator、Iterator、List、Map、Set界面都很重要,着重看一下他们的实现类,如:ArrayList、LinkedList、HashSet、HashMap、Hashtable、TreeMap、TreeSet等。
• java.lang.*包下的常用类
• lang包下的基本资料型别对应的包装类(Byte、Short、Integer、Long、Double、Float、Character、Boolean);
• 字串相关的类String、StringBuffer、StringBuilder。
• IO流操作,多执行绪及Socket
• 掌握IO读写流相关的类,了解字节流,字元流和字元流缓冲区;
• 掌握执行绪的概念,多执行绪的建立、启动方式,锁和同步的概念及运用;
• 掌握Socket通讯的概念,如何宣告客户端服务端,如何完成双端资料通讯。
• 泛型、数据库基础(Mysql)及JDBC
• 到了数据库前,我们可以看看泛型以及反射的一些基础案例
• 掌握数据库的基本概念,Mysql的安装、启动与停止
• Mysql数据库客户端的安装与使用
• JDBC的概念,在Java中使用Mysql驱动包连线Mysql
通过第一阶段的学习掌握Java语法和常用类,数据库入门技术相关知识。让自己对于储存,IO,这些有个大概的了解。这时候,暂时不需要花大量的精力以及篇幅去学习多执行绪和Socket,当然这里不是说他们不重要,而是对于现阶段的你,或许很难非常清晰的明白以及了解他们具体的作用。这里第一节忽略掉了Swing,Swing章节的内容可以不学,因为在实际的工作中基本上没有用武之地。
2、前端基础
• HTML基本标签、表格、表单和框架;
• 掌握网页的基本构成;
• 掌握HTML的基本语法;
• 表格的作用以及合并行、合并列;
• 表单标签的使用,提交方式get/post的区别;
• 框架布局的使用
• CSS样式表;
• 掌握CSS的语法及作用,在html中的宣告方式;
• 掌握CSS布局的函式使用;
• 掌握CSS外部样式的引入。
• JavaScript;
• 掌握JS的语法及作用,在HTML中的宣告方式;
• 掌握JS的执行方式;
• 掌握JS中的变数宣告、函式宣告、引数传递等;
• 掌握HTML中的标签事件使用;
• 掌握JS中的DOM原型
• jQuery
• 了解如何使用jQuery,下载最新版或者老版本的jQuery.js
• 掌握选择器、文件处理、属性、事件等语法及使用;
• 能够灵活使用选择器查询到想要查询的元素并操作他们的属性;
• 动态宣告事件;
• 动态建立元素。
•BootStrap;
•掌握BootStrap的设计理念,以及使用方式。这是我们需要接触的第一个前端框架,使用起来也很简单;
•掌握BootStrap的栅格系统、表单、全域性样式、分页工具栏、模态框等。
•Servlet
•掌握Java中的Web专案目录结构;
•掌握JavaWeb专案的重要中介软件Tomcat;
•掌握Servlet中的Request和Response;
•掌握Servlet的基本执行过程。
•掌握Servlet的宣告周期
•动态网页技术
•JSP在JavaWeb中的角色;
•JSP的编码规范,以及JSPServlet;
•JSP显示乱码的解决办法等。
•JSP资料互动
•JSP中如何编写Java程式码,如何使用Java中的类;
•JSP中的引数传递。
•状态管理Session和Cookie
•掌握Session的作用及作用域;
•掌握Cookie的作用及作用域;
•掌握Session及Cookie的区别,储存位置,宣告周期等;
•掌握Session及Cookie分别在JSP和Cookie中的使用
•JSTL和EL表示式
•使用EL表示式输出page、request、session、application作用域中的值
•使用JSTL来做逻辑判断或循环控制
•JNDI数据库连线池
•JNDI的作用以及如何使用JNDI连线数据库
•分页和档案上传
•掌握在JSP中如何使资料达到分页的目的;
•掌握在JSP表单中如何上传档案,Servlet如何处理上传请求(Commons-Fileupload、Commons-IO)。
•Ajax
•掌握Ajax的基本概念;
•掌握jQuery中的Ajax请求;
•掌握JSON
•Filter、Listener;
•掌握Filter和Listener
•掌握Session过滤器和编码过滤器
通过第二阶段了解前端相关的技术,如果你喜欢前端各种酷炫的效果,那么就深入学习JS、CSS。不大感兴趣的话,就浅尝辄止,并重点学习Servlet、Filter、Listener。重点学习,重点学习,重点学习。重要的话说三遍!
主流技术应用
• Mybatis的应用
• Mybatis的Mapping与实体对映;
• Mybatis中的SQL语句写法;
• Mybatis的快取。
• Spring应用
• Spring容器的作用;
• Spring的AOP和IOC;
• Spring托管Mybatis事务;
• SpringMVC的应用
• SpringMVC中的控制器注解、请求注解、引数注解、响应注解等;
• SpringMVC中的静态资源处理;
• SpringMVC的容器。
• Spring+SpringMVC+Mybatis整合
• SSM的整合使用;
• Spring容器和SpringMVC容器
• Redis+Mysql的查询优化设计
• Redis的安装与连线;
• Redis常用命令及各命令使用场景;
• Redis储存机制;
• Redis的持久化机制。
• 任务处理相关
• HttpClient模拟请求
• Quartz定时任务
• 常用工具
• Excel&World汇入汇出
• 简讯&邮件传送
• Maven
• Maven的作用
• Maven专案的建立
• Maven的生命周期
• Maven中央仓库及私服
• Log4J2日志
• FastDFS的使用
• 什么是分散式档案系统;
• 分散式档案系统解决的问题是什么;
• FastDFS的使用
通过第三阶段了解目前Java领域比较经典的三大框架,了解他们的大概功能,并加以使用。通过使用SSM开发一个简易CRM之类的专案来加强了解,理清楚框架的大致原理。搞清楚这三个框架之间的作用域以及角色。理解Redis作为内存数据库与MySQL这类关系型数据库的区别,并能使用常用的Jar包完成模拟请求,定时任务等相关系统常用功能的开发。并能够通过Maven建立SSM专案,整合Log4j或其他的日志包。了解FastDFS的作用,并理解图片上传至档案服务器和上传到tomcat之间的区别
4、模拟实际专案开发
• SpringBoot2.0的应用
• 了解SpringBoot的起源及优势
• 了解SpringBoot专案的格式以及建立方式
• yaml语法特性
• application配置档案及静态资源处理
• Thymeleaf模板引擎
• SpringBoot核心之WebMVCConfigurer
• Spring自定义错误处理
• SpringBoot日志引用及切换
• SpringBoot资料来源和Mybatis
• SpringBoot-redis应用
• Struts2应用(了解即可)
• 通过学习Struts,了解什么是MVC;
• 掌握Struts是如何完成界面控制的;
• 掌握Struts的引数接收及传递;
• 掌握Struts的拦截器;
• 掌握Struts的OGNL和标签使用。
• Hibernate应用(了解即可)
• Hibernate在专案中的作用及优势;
• Hibernate中的hbm与实体类之间的关系;
• 什么是HQL,什么是关系对映(一对一,多对一,多对多);
• 了解Hibernate的事务、懒载入和快取。
• Redis哨兵模式的搭建
• Linux操作系统
• Linux中的常用命令;
• Linux下的JDK、tomcat安装;
• Linux下的专案部署方式。
• Nginx的使用
• Nginx的作用;
• 反向代理和正向代理分别是什么;
• Nginx实现tomcat代理。
• Mysql丛集方案
• Mysql丛集的常用方案有哪些;
• Mycat中介软件的概念
• Mycat的使用准则;
• 了解数据库的主从复制;
• 了解数据库的主备切换;
• 为什么需要主从和主备。
• Solr入门
• 什么是全文检索;
• Solr做搜寻的优势是什么;
• Lucene、ElasticSearch、Solr之间的关系;
• Solr的安装与使用。
• JVM
• 回顾所有所学习到的知识,联络所有框架中的自定义容器、上下文来理解变数及物件的储存
• 理解垃圾回收是怎么一回事
• 理解集中回收算法
• 完全理解整个堆叠模型
通过第四个阶段了解更简单易用的SpringBoot,微服务应用和储存丛集相关的概念及实现方案。让自己具备一个设计高可用,可扩充套件的专案框架视野。这样对于后面继续专研SpringCloud/Dubbo、zookeeper这些RPC相关的框架有很大的好处。
最后,一定要动手,一定要动手,一定要动手。把程式码敲烂,你才会有收获,不要被视讯诱导,敲一遍之后误认为你自己会了,如果第二天你起来时已经忘了昨天学习了什么的话,那说明你还是没学会,好好加油吧。





























