《深入理解Java虚拟机》系列 | 第一篇:认识Java
认识Java分为三个部分:
- Java发展历史;
- 典型的Java虚拟机版本;
- JDK、JRE、JVM三者间的关系
(一):Java的发展历史
(二):虚拟机分类
- Sun Classic VM: 第一款商用Java虚拟机、只能使用纯解释器方式执行代码,不能和编译器配合使用(Java语言很慢)。
- Exact VM:准确式内存管理、解释器和编译器配合工作。
准确式内存管理:虚拟机知道某个位置的数据是什么类型。
- Sun HotSpot VM:JDK1.3及以后默认虚拟机、准确式内存管理、准确式GC、JIT编译器、热点代码探测技术。
热点代码探测:通过执行计数器找出最具有编译价值的代码,通知JIT编译器以方法为单位进行编译,如果方法频繁调用或这方法循环的次数多,触发标准编译以及栈上替换编译,通过解释器和编译器配合工作,可以在最优的程序的响应时间与最佳性能取的平衡,无需等待本地代码输出才能执行程序,即使编译时间压力减少,引入代码优化技术。
- Taobao VM:阿里深度定制的java虚拟机。
(三):jdk、jre、jvm三者间的关系
jdk:开发工具集,包含jre+javac、java 编译工具+运行工具
jre: 运行环境+核心的类库
jvm:虚拟机,在win平台/ireHome/bin/server/jvm.dll
(四):MAC编译OPENJDK
作者:
i孤独行者
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号