• JVM笔记(2)


    第一部分

      第一张 走进Java

         这一章主要讲述的是 Java发展的历程和不同公司研发Java虚拟机(虚拟机家族丰富的恩怨纠葛)。在这个虚拟机家庭中HotSpot以他独有的优势在虚拟机中独占鳌头,经久不衰。还有就是最后一节是一个实战事例,就是自己编译JDK(如果window系统可以安装VMware下安装Linux系统(ubunto版本)搭建编译环境),这个例个人感觉很不错,自己也在着手在干,也希望有兴趣的同学也去做一做。

        第一点 Java技术体系

          按照功能划分:  Java核心类库, Java虚拟机,  Java程序设计语言。

          按照产品划分:  1. Java Card  支持Java小程序运行在小内存设备上的平台。

                   2. Java ME  支持Java程序运行在移动终端上的平台。

                   3. Java SE  支持面向桌面级应用上的平台。

                   4. Java EE 支持使用多级架构的企业应用的Java平台。 

         第二点 Java虚拟机家族

              1)Java虚拟机鼻祖: sun Classic  /  Exact VM

            对于sun Classic虚拟机来说它只是单纯的通过解释器来执行Java程序,而他的编译器需要通过外挂的形式,但是它是世界上第一款商用虚拟机,这样子就足以让我们记住它。

            Exact VM来说,它是有了现代高性能的虚拟机的雏形,对于来说它有准确的管理内存的优势,但是不幸的是不久它就被HotSpot VM取代了。而且在windows和Linux的试用版本都没发布。

            2)武林盟主:HotSpot VM 

            再来说一说HotSpot VM它不仅继承了sun之前虚拟机的准确式的内存管理和他自己的热点代码探测技术,还有优秀的理念和成果。使它成为了全世界使用最多的虚拟机。最后说一下其实它最初不是Java语言研发的,是为Self虚拟机设计的。

            3)小家碧玉:Mobile  /  Embedded VM  

            因为sun/oracle公司在Java ME发展不太好(在智能手机这部分主要是Android和ios占领)所以最终把Java ME这部分规划到Java SE Embedded下。

            4)天下第二:BEA JRockit  /  IBM J9 VM

            BEA JRockit当时主要是为服务器硬件和服务端应用场景的一款虚拟机,它的代码全部是通过即时编译器完成的,而且他的垃圾回收器在当时也是比较优秀的,但是EBA被oracle收购了,他最终永远的停留在R28版本。

            J9是一款和HotSpot相类似的,它发展全面在服务端,桌面开发,嵌入式的多用途的虚拟机,在职责分离和模块化这部分相比HotSpot虚拟机要好。J9这款虚拟机至今还非常活跃。

            5)软硬合璧:BEA Liquid  VM /  Azul VM

            Liquid VM 可以直接运行在自家的Hypervisor系统的虚拟机,可以说他本身就实现操作系统的必要功能,自身就可以直接控制硬件操作,可以最大的发挥硬件的能力,最终它也停止更新。

            Azul VM 是运行在vega系统上的Java虚拟机,他又有优秀的PGC和C4收集器,可以控制多个cpu和管理数百GB内存的硬件资源。

            6)挑战者:Apache Harmony /   Google Android Dalvik VM 

            对于Harmony和Dalvik只能称之为虚拟机不能称Java虚拟机,想要兼容Java体系,必须通过TCK的兼容性测试,由于sun没有把TCK的授权提供给Apache,导致Apache退出JCP组织,sun又开源了JDK,最终导致Apache领导的Apache Harmony不了了之。

            Dalvik是Android的虚拟机,但是在Android 5.0时候就被ART替代。

             7)Graal VM一款在HotSpot虚拟机上开发的跨语言的全栈虚拟机

          第三点 展望未来

            总的来说Java未来是很难被替代的。

    未完更新中,还会优化内容的!!!        

  • 相关阅读:
    Unity内生成深度贴图
    曲线细分
    Hermite插值
    查看静态库支持的CPU架构
    NLua引擎
    ImWindow
    Xenko Engine
    Fast Shadow Receiver
    2D色彩变换
    RVO
  • 原文地址:https://www.cnblogs.com/linyu1/p/13688322.html
Copyright © 2020-2023  润新知