自学吗是两个渐进的操作过程,也是两件须要秉持的事。对这首诗,相同期的人可能将有相同的认知,因此我把我重新整理的较为全面性的java自学走线撷取给我们,以附注。上面的那个自学走线主要就特别针对这些才刚学习了java,但还没深入细致认知的老师。
我约莫把自学业务流程分了四个期。
**第一期:此基础期**
此基础期我主要就分成了四大块文本:
**一、计算机程序与演算法**
1、单纯的计算机程序
(1)此基础基本概念(2)字符串(3)二叉树、(4)堆栈(5)栈
2、树
(1)二叉树(2)均衡二叉树 (3)最优化二叉树(斜堆树) (4)瑙脂树 (5)B、B+、B*树
(5)LSM树
3、图
(1)图的此基本知识和三种结点形式(2)最轻聚合树 (Prim 演算法 和 Kruskal 演算法)
(3)极短方向演算法 (Dijkstra(Kheda德鲁)演算法和Floyd(佛洛伊德)演算法)
(4)流形次序
4、次序演算法(8种次序演算法和天数内部空间维数)
5、java中次序辅助工具
(1)字符串次序(2)子集辅助工具类次序
6、常用演算法
(1)字符串较为KMP演算法(2)剪枝演算法(3)布隆过滤器(4)回溯演算法
**二、java此基础**
1、java子集
(1)各个java子集类(2)使用场景以及性能分析
2、常用类
(1)此基础类型封装类(2)BeanUtil辅助工具类(3)string系列类(4)java各种关键字(transient、final、static等等)(5)Math系列(6)system系列
3、javaIO
4、java泛型
5、多态以及实现原理(主要就是内存上的结构)
6、java注解和反射
7、java中的语法糖
8、java8、9、10新特性(主要就是8)
9、java异常
10、其他零碎知识点(比如创建对象的4种形式)
三、**设计模式**
1、创建型模式(5种)
2、结构性模式(7种)
3、行为性模式(11种)
四、JVM**系列**
1、jvm内存结构
2、类的加载机制
3、GC演算法、分析、优化、辅助工具
以上那个期看完了基本上就可以进入下一期了。第两个期是最枯燥乏味的,当然再上两个期中假设你还自学了HTML、css、js、jsp+servlet+jdbc这些。如果没你可以先把这些自学了进入下两个期。可能将像jvm系列这些在后面自学也可以,不过我觉得一开始就先明白更好
**第二期**
一、SSM框架
(1)spring(先使用)(2)mybatis(3)springmvc(4)SSM整合(包括使用maven整合)
二、相关辅助工具
(1)maven(2)git(3)IDEA(4)eclipse(5)日志框架(6)Jenkins
三、java并发编程(文本较为多)
四、java网络编程
(1)序列化(2)网络编程此基础(主要就看书、TCP/IP这些)(3)NIO(4)netty(5)远程调用(RMI、Thrift、gRPC)
五、数据库
1、Mysql、Oracle
2、nosql(redis、MongoDB)
第二期结束之后,我觉得应该是分专题的,因为没严格意义上的先后顺序了,基本上就是用到哪一块就学哪一块就好了。
**第三期**
一、应用服务器
1、Tomcat
2、Jboss
3、Jetty
4、Weblogic
二、linux(不须要完成整个运维师的知识、会使用和底层原理)
三、分布式系统(这里面文本很多、框架也很多)
(1)Dubbo(2)Zookeeper(3)三大消息中间件(4)分布式缓存(5)springSession
(6)高并发分流ngix(7)文件系统fastDFS(8)数据扩容mycat(9)Docker等等
四、微服务架构
(1)springBoot(2)SpringCloud等等
五、安全
1、加密机制
2、shiro安全验证框架
3、其他安全知识
4、一致性演算法
冯冬冬的IT技术栈
我会按照那个知识体系慢慢更新里面的文章