这样说吧,系统学Java底层,是大多数Java初学者都会缴的智商税。为什么这样说呢?
1 初级开发做的是增删改查,没必要了解底层,了解了对开发帮助也不大。
2 中级开发要求的是熟悉业务,能排查大多数问题,这时也无需系统学习底层技能。
3 架构师确实要熟悉各种分布式组件或Java组件的底层,但程序员先得升级到架构,才有必要去掌握底层技能。
4 底层技能唯一的用处是面试,java程序员可以通过准备和说明底层技能在面试中充分展示技能,但这无需系统学习,在面试前顶多用两三周时间死记硬背即可。
先说下,什么是Java的底层?在写代码时总要通过import语句引入所用的包,底层就包含在这些引入的jar包里。
1 针对Java核心库,比如HashMap,ArrayList或ConcurrentHashMap,或者是多线程锁相关的,底层源码是包含在JDK1.11的库里,比如是上述类的实现细节代码。
2 针对Spring Boot或Spring MVC,比如日常说的,Bean加载生命周期,Spring boot启动或装载模式,能