Java高级工程师必备技术栈

1 Java基础知识
包括异常处理、反射、注解、序列化等。

2 Java集合
数据集合框架以及继承关系。

3 JVM原理
包括JVM的架构、内存管理、垃圾回收、字节码、类加载机制等。
学会这本神书 《深入理解Java虚拟机》
你就可以入门JVM并且应付大部分人了。

4 Java多线程高并发
第一层学会Java线程基础知识以及常见的锁的用法
第二层去理解锁机制,线程的底层原理。
建议阅读 《Java并发编程的艺术》,阿里大牛的神作。

5 设计模式
23种设计模式,这个只需要你能够看出是哪种设计模式就好。如果要熟练运用就必须有大量的实战经验。
推荐学习 《设计模式》

6 Spring相关
包括IOC、AOP、SpringMVC、SpringBoot等
不仅要知道如何使用,更要明白其实现原理。
学习了上面的设计其实可以帮你更好的理解Spring的设计思想。
比如Spring是如何解决循环依赖的,一个bean的生命周期是怎样的,AOP是如何实现的,SpringMVC是如何接入用户请求并将请求分发给我们编写的业务代码进行处理的。
推荐学习 《Spring实战》

7 数据库
了解数据库的基本使用、熟悉Mysql数据库架构、数据库优化等
推荐学习 《高性能Mysql》

8 计算机网络
深入理解计算机网络的7层架构、TCP的3次握手4次挥手等
推荐学习 《计算机网络》

9 微服务
了解微服务架构
认识服务注册、服务调用、服务降级、服务网关、配置中心等。
通过学习微服务架构思想,你可以学到很多公共组件。
推荐直接到SpringCloud官网学习。

10 公共组件
包括Nginx、Tomcat、Redis、Kafka、Zookeeper、RabbitMQ等。
1)Nginx 学会反向代理、负载均衡、动静分离等
推荐到Nginx官网学习。
另外阿里大神的一本书也非常不错 《深入浅出Nginx》
2)Tomcat 学会其架构能够很好的理解Http协议,并发知识等。
推荐学习 《深入学习Tomcat》
该书直接教你如何一步一步写出一个Tomcat
3) Redis 分布式缓存实现。理解缓存雪崩、缓存穿透等概念。
4) Zookeeper 注册中心 理解其工作原理、选举机制、一致性保障机制
4) Kafka 消息队列 理解发布订阅模式
5) RabbitMQ 也是一种消息队列

11 其他
如机器学习、Hadoop、Spark、云计算等可以根据自己的兴趣选择一到两个深入研究。

你可能感兴趣的:(入门篇,数据库,java,spring)