java小白到架构师之路

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

序

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

我把学习过程分为三个阶段。

第一阶段:基础阶段

在基础阶段,我主要分为四个部分:

一、数据结构和算法

1.简单数据结构

基本概念

排列

链表

长队

棚

2.树

平衡二叉树

最优二叉树

红色黑色的树

B,B+,B*树

LSM树

3.数字

图形的基本知识

图的遍历

最小生成树

最短路径算法和弗洛伊德算法)

拓扑排序

4.分类算法

选择排序法

冒泡排序

插入排序

快速排序

合并分类

谢尔分类

堆排序

基数排序

桶分类

排序算法的比较分析

5.java中的排序工具

数组排序

集合类排序

6.常见算法

字符串比较KMP算法

剪枝算法

布鲁姆过滤器

回溯算法

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

第二,java基础

1.java集合

总体框架

收藏架构

列表系列

地图系列

设置系列

交互器和枚举

set的使用场景和对比分析

2.公共类

基础类型封装类

BeanUtil工具类

字符串类

Java关键字

数学系列

串联系统

3.Java的其他知识点

贾瓦约

java泛型

Java多态性

注释

Java反射

java中的语法糖

java8、9、10的新特性

Java异常

创建类的4种方法

为什么字符串类型是不可变的?

枚举类型

建议:对于Java的基础,可以先了解Java的源码层面,但是学习Java虚拟机之后,要能够从jvm的内存角度进行分析和理解。

三、设计模式

1.创作模式

2.结构模式

3.行为模式。

建议:设计模式主要用在工作中,最重要的是理解他们的想法然后灵活运用,但是设计模式衍生出来的知识点是面试中经常被问到的知识点。

四。JVM系列

1.jvm内存结构

2.类的加载机制

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

4.编译程序

5.优化参数等等。

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

好了,以上是Java学习的基础阶段。看完以上阶段,基本可以进入下一阶段了。第一阶段是最枯燥的,但是当你学习了这些知识,你会发现对Java有了新的认识。我对这个阶段的总体建议是硬着头皮找出来。然后开始下一阶段。

第二阶段

零,初步了解

1、HTML+css+Javascript

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

3、jsp+servlet+jdbc

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

建议:对于前端,你要了解web的整个执行过程,前端要学习基本用法。可以有大师等知识,但要想学好,就不要考虑学这个学那个。最好的方法是全部学会。学完之后可以找个项目来训练,最重要的是搞清楚原理和机理。

一. SSM框架

春天

框架

学习笔记一

SSM一体化

建议:这个阶段其实是基础阶段,因为还有SSH框架,但是已经逐渐不那么占优势了。甚至这个SSM框架正在被SpringBoot框架所取代,但是这三个框架的原则和思想都是极其重要的。

二。相关工具

专家

饭桶

想法

黯然失色

杂志

詹金斯,等等

建议:说实话,这些工具并没有严格的分类。eclipse正逐渐失去市场,但目前仍以idea和eclipse为主。像vscode这样的市场份额还是比较少的。具体可以看索引或者自己搜索。是maven和git开发者的必备工具。要学的工具太多了,先来了解一下这些常用的。

三、java网络编程

1、Java网络编程基础

计算机基础知识

套接字编程

案例项目培训

2.Java的NIO编程

3.序列化机制

Java默认序列化机制

序列化框架,如protobuf等。

4.网状框架

5.Mina框架

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

7.远程呼叫

无线电磁指示器(Radio Magnetic Indicator的缩写)

节约

GRPC等等

公共对象请求代理结构(同Common Object Request Breaker Architecture)

建议:在这个小阶段,我在同时学习书籍、教程和博客。先把计算机网络的基础知识搞清楚再进一步学习,尽量了解各种场景下各框架的适用场景和用法。

动词 (verb的缩写)数据库ˌ资料库

1、Mysql、

2、甲骨文

3、redis、

4、MongoDB

5.搜索引擎

使用

弹性搜索

6、备忘录

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

不及物动词并发编程基础

1.线程入门

2.Java内存模型

3.同步的和易变的关键字

4、以前发生过

5.锁系列

6.并发容器

并发容器的分类及比较分析

实现队列

实现队列

copy onwriterarraylist

绑定

阻塞队列

7、线程池相关知识

8.并发工具类

闭锁

栅栏

旗语

交换器

9.实战

生产者消费者问题

并发和设计模式

建议:对于并发编程,我认为它的地位应该是在最顶端。把每个知识点都讲清楚,掌握好就对了。以上只是列举了一些基础。学习中遇到其他问题,说清楚,整理好OK。另外一句话,就是至少要看源代码水平。

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

第三阶段

一、应用服务器

1、Tomcat

2、Jboss

3、码头

4、Weblogic

建议:刚开始学习的时候,先接触Apache tomcat服务器,但是后来在框架学习的时候,你会发现你会认识和接触很多其他的服务器,索引上说这些服务器的份额还在飙升。

第二,linux

1.常用命令和工具的使用和安装

2.Linux权限、进程等。

3.网络相关知识,如dns

4.shell脚本和编程

5.服务代理和集群

6.基础知识

建议:说实话,linux是一个操作系统,也是我们的编程环境。弄清楚基础知识后,我们可以在后期的学习中使用那个框架,然后根据linux进行组合。这一点可以根据学习linux时的运维教程来学习,而且还挺全的。以上路线是我自己的,大家可以按照自己的计划来分配。

三。分布式的计算机系统

0.分布式系统的基础知识

1、杜博

2.坐标动物园管理员

3.消息中间件

4.分布式缓存redis和MongoDB

春季课程

6.高并发分流

7.文件系统fastDFS

8.数据扩展mycat

9、码头工人

10、卡夫卡

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

四。微服务架构

1、跳靴

初级课程

网络基础

与其他框架的集成

相关原则和注意事项

2、春云

建议:微服务也有很多知识,但是相对分布来说就简单多了。一步一步学就行了。

动词 (verb的缩写)安全

1.加密机制

2.shiro安全验证框架

3.其他安全知识

4.一致性算法

不及物动词大数据和云计算

这一块知识是之前上课学的,因为在网上看招聘信息的时候,经常提到有大数据云计算经验的会加分。因此,它被列出。

这是我整理的一套学习路线,参考了很多帖子和博客,我会在我的微信官方账号里不断更新这个目录里的文章。谢谢你的支持

微信官方账号:技术栈,Java的架构师。

 
友情链接
鄂ICP备19019357号-22