《深入理解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

posted @ 2018-12-03 11:34  i孤独行者  阅读(184)  评论(0)    收藏  举报