初学者到Java架构师学习路线

初学者到Java架构师学习路线

长沙中公优就业      2022-04-30 03:07:01     21

初学者到Java架构师学习路线,  “学习真的是一个循序渐进的过程,也是一件需要坚持的事情。对于这篇文章,不同阶段的人可能有不同的理解,所以小编花了点时

课程价格 请咨询

上课时段: 授课校区:

详细介绍


  “学习真的是一个循序渐进的过程,也是一件需要坚持的事情。对于这篇文章,不同阶段的人可能有不同的理解,所以小编花了点时间整理了一套学习路线提供给大家,以供参考。下面的这个学习路线适合刚刚学习了Java还没有深入、或者是想进一步提高的同学”



  我大概把学习流程分了三个阶段。


  第一阶段:基础阶段


  基础阶段我主要分为了四大块内容:


  一、数据结构与算法


  1、简单的数据结构


  (1)基础概念


  (2)数组


  (3)链表


  (4)队列


  (5)栈


  2、树


  (1)平衡二叉树


  (2)最优二叉树(哈夫曼树)


  (3)红黑树


  (4)B、B+、B*树


  (5)LSM树


  3、图


  (1)图的基础知识


  (2)图的遍历(两种)


  (2)最小生成树(Prim算法和Kruskal算法)


  (3)最短路径算法(Dijkstra(迪杰斯特拉)算法和Floyd(弗洛伊德)算法)


  (4)拓扑排序


  4、排序算法(掌握基本实现和变形实现)


  (1)选择排序


  (2)冒泡排序


  (3)插入排序


  (4)快速排序


  (5)归并排序


  (6)希尔排序


  (7)堆排序


  (8)基数排序


  (9)桶排序


  (10)排序算法比较分析


  5、java中排序工具


  (1)数组排序


  (2)集合工具类排序


  6、常见算法


  (1)字符串比较KMP算法


  (2)剪枝算法


  (3)布隆过滤器


  (4)回溯算法


  建议:对于数据结构,要掌握使用JAVA语言去描述数据结构和常见的算法操作。



  二、java基础


  1、java集合


  (1)总体框架


  (2)collection架构


  (3)List系列(ArrayList、fail-fast原理、linkedList、Vector、Stack)


  (4)Map系列(HashMap、HashTable、TreeMap、WeakHashMap、linkHashMap)


  (5)set系列(HashSet、TreeSet)


  (6)Interator和Enumeration


  (7)集合的使用场景和对比分析


  2、常用类


  (1)基础类型封装类


  (2)BeanUtil工具类


  (3)string系列类


  (4)java各种关键字(transient、final、static等等)


  (5)Math系列


  (6)system系列


  3、Java其他知识点


  (1)javaIO


  (2)java泛型


  (3)Java多态


  (4)java注解


  (5)Java反射


  (6)java中的语法糖


  (7)java8、9、10新特性(主要是8)


  (8)java异常


  (9)创建类的4种方式


  (10)String类型为什么不可变


  (11)枚举类型


  建议:对于Java基础,可以先了解到Java的源码级别,但是学过了Java虚拟机之后,要能够从jvm的内存角度等去分析和理解


  三、设计模式


  1、创建型模式(5种)


  2、结构性模式(7种)


  3、行为性模式(11种)


  建议:设计模式主要是在工作中使用,最主要的是了解其思想,然后灵活的使用,但是从设计模式衍生出的知识点是面试常问知识点。


  四、JVM系列


  1、jvm内存结构


  2、类的加载机制


  3、GC算法、分析、优化、工具


  4、编译器


  5、优化参数等等。


  建议:了解两个常见版本的jvm,java7和java8,然后对比分析去记忆,jvm是进阶的一个必备知识,面试和工作中经常使用。


  OK,上面就是Java学习的基础阶段。以上这个阶段看完了基本上就可以进入下一阶段了。第一个阶段是最枯燥乏味的,但是当你学完了这些知识,再往下学习的时候,会发现对Java有一个全新的认识。对于这个阶段我的整体建议是要硬着头皮弄清楚。然后再开始下一个阶段。



  第二阶段


  零、预备知识


  1、HTML+css+Javascript


  2、常见的前端框架Vue、React、Jquery等


  3、jsp+servlet+jdbc


  4、最简单的小项目训练一下。


  建议:对于前端,你要弄清楚web的整个执行流程,前端要学会基本的使用。可以有一个精通、其他的了解,但是想要学得好就不要考虑学这个那个了,最好的方法就是全学了。学完了之后可以找个项目训练一下,最主要的弄清楚原理机制。


  一、SSM框架


  (1)spring


  (2)mybatis


  (3)springmvc


  (4)SSM整合(包括使用maven整合)


  建议:对于这个阶段其实也算是基础阶段,因为还有SSH框架,但是已经逐渐的不占优势了,即使是这个SSM框架也正在被SpringBoot框架所取代,但是这三种框架的原理与思想是极其重要的。


  二、相关工具


  (1)maven


  (2)git


  (3)IDEA


  (4)eclipse


  (5)日志


  (6)Jenkins等等


  建议:说实话这些工具分类没有严格的划分,eclipse正在逐渐失去市场,但目前依然是idea和eclipse的天下,像vscode这些市场份额还是比较小的,具体的可以看一下百度指数或者自己搜一下,对于maven和git是一个开发者必要的工具。需要学的工具太多了,就先了解这个几个常用的吧。


  三、java网络编程


  1、Java网络编程基础


  (1)计算机网络基础知识


  (2)socket编程


  (3)案例项目训练


  2、Java之NIO编程


  3、序列化机制


  (1)Java默认序列化机制


  (2)序列化框架,比如protobuf等等


  4、netty框架


  5、Mina框架


  6、其他通信框架,如grizzly、quickserver、xSocket等等


  7、远程调用


  (1)rmi


  (2)thrift


  (3)gRPC等等


  (4)corba


  建议:这一小阶段,我是书、教程、博客同时学习的,先把计算机网络基础知识弄清楚再往下学习,尽量每一个框架要了解其适用场景和各种场景下的使用


  五、数据库(有基础知识)


  1、Mysql、


  2、Oracle


  3、redis、


  4、MongoDB


  5、搜索引擎


  (1)solr


  (2)ElasticSearch


  6、Memocached


  建议:数据库写到这里总觉得不合时宜,因为第一阶段学习了之后,在学习jdbc的时候就需要用到数据库,这里的数据库是要深入去理解的,比如说各种数据库的性能优化。工作极其重要。在平时要了解这些数据库的使用场景,然后用到那个,在着重去理解。



  六、并发编程基础


  1、线程入门(概念、api等等相关基础)


  2、Java内存模型


  3、synchorized和volatile关键字


  4、happen-before


  5、锁系列(内容很多)


  6、并发容器


  (1)并发容器分类及其对比分析


  (2)concurrentHashMap


  (3)concurrentHashMap


  (4)copyOnWriteArrayList


  (5)ThreadLocal


  (6)BlockingQueue(内部很多)


  7、线程池相关知识


  8、并发工具类


  (1)CountDownLatch


  (2)CyclicBarrier


  (3)Semaphore


  (4)Exchanger


  9、实战


  (1)生产者消费者问题


  (2)并发与设计模式


  建议:对于并发编程我觉得他的地位应该是处于最顶端,每一个知识点弄清楚掌握好就对了,上面的也只是列出了一部分基础。学习的时候遇到其他问题,弄清楚整理一下OK。还有一句,那就是最少要看到源码级别才好。


  第二阶段会学习很长一段时间,因为只看一遍教程或者是敲一遍代码很难掌握,最好的方法就是把这些知识来回蹂躏,然后这一阶段学习完之后,下一阶段学习才算是真正的提高吧,全是一些框架这些。所以这一阶段是分专题的,因为没有严格意义上的先后顺序了,基本上就是用到哪一块就学哪一块就好了。第三阶段要对一些主流的框架,进行一个源码分析。


  第三阶段


  一、应用服务器


  1、Tomcat


  2、Jboss


  3、Jetty


  4、Weblogic


  建议:一开始学习的时候应该都是先接触的Apache的tomcat服务器,但是后面的框架学习中会发现也会认识和接触很多其他的服务器,而且百度指数上说这些服务器的份额还在不断的飙升。


  二、linux(工具)


  1、常用命令和工具使用安装


  2、Linux权限、进程等基础


  3、网路相关知识,比如dns这些


  4、shell脚本及编程


  5、服务代理和集群


  6、底层知识


  建议:说实话linux就是一个操作系统,也是我们的编程环境,把基础知识弄清楚之后,在后面的学习中用到那个框架然后根据linux相结合就好。这一点可以在学习linux的时候按照运维的教程来学习,也比较全,上面的路线是我自己的,你可以根据自己的计划来分配


  三、分布式系统


  0、分布式系统基础知识


  1、Dubbo


  2、协调Zookeeper


  3、消息中间件(四五个比较重要)


  4、分布式缓存redis和MongoDB


  5、springSession


  6、高并发分流ngix


  7、文件系统fastDFS


  8、数据扩容mycat


  9、Docker


  10、Kafka


  建议:分布式框架是为了数据处理的更好更高效,这些框架也在不断的更新,但是目前主流的大部分都在这,这些框架只要环境等等配置好,使用起来跑个基本案例很简单,剩下的就看自己的业务场景了,因为我也只是使用了其中几个。


  四、微服务架构


  1、springBoot


  (1)入门


  (2)web基础


  (3)与其他各种框架的整合


  (4)相关原理和注解


  2、SpringCloud


  建议:微服务这一块里面的知识也很多,但是相对分布式来讲还是简单很多,就按部就班的学习就好


  五、安全


  1、加密机制


  2、shiro安全验证框架


  3、其他安全知识


  4、一致性算法


  六、大数据和云计算


  这一块的知识是在之前上课的时候了解到的,因为在网上看招聘信息的时候,经常会提到一句,有大数据云计算等经验者加分。因此将其列了进来。



       以上就是长沙中公优就业Java培训机构小编介绍的“初学者到Java架构师学习路线”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


       Java全套自学资料+视频


  新手Java安装教程:http://www.bjpowernode.com/v106/


  Java基础视频教程:http://www.bjpowernode.com/v104/


  经典Java基础教程:http://www.bjpowernode.com/v19/


  Java免费视频教程:http://www.bjpowernode.com/v61/


      Javaweb开发基础视频


  Javaweb开发视频教程:http://www.bjpowernode.com/v77/


  免费html视频教程:http://www.bjpowernode.com/v27/


  全套css基础教程:http://www.bjpowernode.com/v67/


  Javascript视频教程下载:http://www.bjpowernode.com/v68/


  ajax视频教程全集【免费下载】:http://www.bjpowernode.com/v31/


  菜鸟jquery教程下载:http://www.bjpowernode.com/v30/


      Java编程框架视频教程


  SSM框架整合技术:http://www.bjpowernode.com/v92/

  

       Java架构师相关视频教程:


  分布式限流实战Java架构师学习视频:http://www.bjpowernode.com/v108/


  MyBatis框架Java架构师视频教程:http://www.bjpowernode.com/v107/


学分高考提醒您:交易时请核实对方资质,对于过大宣传或承诺需谨慎!任何要求预付定金、汇款等方式均存在风险,谨防上当。