Java历史-2-JVM历史

  • JDK 1.0

    • Classic VM,纯解释执行
    • 想要使用JIT,就需要外挂
    • 外挂后,虚拟机执行系统被JIT接管,解释器不再工作
    • Sun提供的外挂JIT是sunwjit
    • 编译器和解释器不能配合工作,导致所有代码都需要编译,编译优化被极大削弱,影响执行效率,Java比C/C++慢的映象就是这个时候出现的
  • JDK 1.2

    • 在Solaris平台上发布Exact VM
    • 执行系统已具备现代高性能虚拟机的雏形,如两级即时编译器,编译解释混合工作模式
    • 准确式内存管理,Exact Memory Management,也叫Non-Conservative Memory Management
    • 虚拟机可以知道内存中某个位置数据类型
    • Exact VM抛弃了Classic VM中基于handler的对象查找方式
    • 不过Exact VM还没来得及出Windows和Linux版本就被HotSpot VM取代了
  • HotSpot VM和Exact VM

    • 存在一定相似性,比如都有准确式内存,及热点探测
  • JDK 1.2之前

    • Classic VM
  • JDK 1.2

    • Classic VM与HotSpot并存,默认Classic VM
  • JDK 1.3

    • 并存,默认HotSpot
  • JDK 1.4

    • Classic VM退出
  • HotSpot VM

    • Longview Technologies(一家小公司,1997被Sun收购)设计,最初并非为了Java而开发设计,而是源于Strongtalk VM
  • Strongtalk VM

    • 源于另一款为Self语言而开发的虚拟机

你可能感兴趣的:(Java历史-2-JVM历史)