2020太难了,我前ios同事失业2个多月还没找到工作,面试机会都很少,所以一定要沉淀下技术,jvm其实离我们做Android的很远,但是又很近,因为像热修复或者Java垃圾回收机制,都会用到,但是相对来说Java后台的人是比学的,但是把自己的知识体系扩展点也挺好,
Java从1995到今天已有25年历史了,一门语言25年已经发展很好了,现在jdk版本是13还是14了,但是开发中还是使用jdk8,因为它稳定
jvm虚拟机也经历了很多,肯定是越来越好,指的是性能方面,学习下jvm的发展历程也挺有意思,
1:Sun Classic VM
早在1996年Java1.0版本的时候,Sun公司发布了一款名为Sun Classic VM的Java虚拟机,它同时也是世界第一款商用Java虚拟机,JDK1.4时完全被淘汰
这款虚拟机内部只提供解释器
如果使用JIT编译器,就需要进行外挂,但是一旦使用了JIT编译器,JIT就会接管虚拟机的执行系统,解释器就不再工作,解释器和编译器不能配合工作
现在hotspot内置了此虚拟机
2:Exact VM
为了解决上一个虚拟机问题,jdk1.2时,sun提供了此虚拟机
Exact Memory Management:准确式内存管理
也可以叫
Non-Conservative/Accurate Memory Managment
虚拟机可以知道内存中某个位置的数据时什么类型
具体现代高性能虚拟机的雏形
1:热点探测
2:编译器与解释器混合工作模式
只在Solaris平台短暂使用,其他平台上还是Classic VM,最终还是被Hotspot虚拟机替换
Hotspot VM <