JVM是什么

什么是JVM?

  • 1、JVM是Java虚拟机,是用来执行Java字节码(二进制的形式)的虚拟机计算机。
  • 2、JVM是运行在操作系统之上的,与硬件没有任何关系。
    什么是JVM

Java的跨平台原理

  • 跨平台:由Java编写的程序可以在不同的操作系统上运行:一次编写,多出运行
  • 原理:编译之后的字节码文件和平台无关,需要在不同的操作系统之上安装一个对应版本的虚拟机(JVM)
    (Java虚拟机不和包括Java在内的任何语言绑定,他只与class文件这种二进制文件格式所关联。无论使用何种语言进行软件开发,只要将源文件编译成正确的class文件,那么这种语言就可以在Java虚拟机上运行,可以说,统一而强大的Class文件结构,就是Java虚拟机的基石、桥梁)

JVM的分类

  • 类加载器子系统
  • 运行时数据区【我们应该关心的核心】
  • 执行引擎(一般都是JIT编译器和解释器共存)
    • 1、JIT编译器(主要影响性能):编译执行;一般热点数据会进行二次编译,将字节码指令变成机器指令。将机器指令放在方法区缓存。
    • 2、解释器(负责响应时间):逐行解释字节码、

JVM架构

三大商业虚拟机

  • Sun Hotspot
    • 提起Hotspot VM,相信所有的Java程序员都知道,它是Sun JDK和Open JDK中所带的虚拟机,也是目前使用范围最广的虚拟机。
    • 在2006年的JavaOne大会上,Sun公司宣布最终会把Java开源,并在随后的一年,陆续将JDK的各个部分(其中当然也包括Hotspot VM)在GPL协议下公开了源码,并在此基础上建立了OpenJDK。这样,HotSpot VM便成为了Sun JDK和OpenJDK两个实现极度接近的JDK项目的共同虚拟机。
    • 在2008年和2009年,Oracle公司分别收购了BEA公司和Sun公司,这样Oracle就同时拥有了两款优秀的Java虚拟机:JRockit VM和HotSpot VM。 Oracle公司宣布在不久的将来(大约应在发布JDK 8的时候)会完成这两款虚拟机的整合工作,使之优势互补。 整合的方式大致上是在HotSpot的基础上,移植JRockit的优秀特性,譬如使用JRockit的垃圾回收器与MissionControl服务, 使用HotSpot的JIT编译器与混合的运行时系统
  • BEAJRocket
    • 专注于服务端应用(JRockit内部不包含解释器实现,全部代码都靠即时编译器编译后执行
    • Jrockit JVM 是世界上最快的jvm3. 2008年被oracle收购
  • IBM J9
    • 市场定位与hotspot接近,服务器端,桌面应用,嵌入式等
    • 目前,是影响力的三大商业虚拟机之一
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最好的文酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值