当前位置: 首页 > news >正文

深圳网站开发建设培训机构网站建设 月光博客

深圳网站开发建设培训机构,网站建设 月光博客,企业查询天眼查免费,企业年报网上申报什么是JVM JVM 全称是 Java Virtual Machine#xff0c;中文译名 Java虚拟机。JVM 本质上是一个运行在计算机上的程序#xff0c;他的职责是运行Java字节码文件。 Java源代码执行流程如下#xff1a; JVM的功能 1 - 解释和运行 2 - 内存管理 3 - 即时编译 解释和运行 解释…什么是JVM JVM 全称是 Java Virtual Machine中文译名 Java虚拟机。JVM 本质上是一个运行在计算机上的程序他的职责是运行Java字节码文件。 Java源代码执行流程如下 JVM的功能 1 - 解释和运行 2 - 内存管理 3 - 即时编译 解释和运行 解释和运行就是对字节码文件中的指令实时的解释成机器码让计算机执行。字节码文件中包含了字节码指令计算器无法直接执行Java虚拟机会将字节码文件中的字节码指令实时地解释成机器码机器码是计算机可以运行的指令。 内存管理 自动为对象、方法等分配内存 自动的垃圾回收机制回收不再使用的对象 Java虚拟机会帮助程序员为对象分配内存同时将不用的对象使用垃圾回收器回收掉这是对比C和C这些语言的一个优势。在C/C语言中对象的回收需要程序员手动去编写代码完成如果遗漏了这段删除对象的代码这个对象就会永远占用内存空间不会再回收。所以JVM的这个功能降低了程序员编写代码的难度。即JVM会自动进行垃圾回收不需要我们手动释放内存 即时编译 对热点代码进行优化提升执行效率。即时编译可以说是提升Java程序性能最核心的手段。类似于操作系统的局部性原理 Java性能低的主要原因和跨平台特性 Java语言如果不做任何的优化性能其实是不如C和C语言的。主要原因是 在程序运行过程中Java虚拟机需要将字节码指令实时地解释成计算机能识别的机器码这个过程在运行时可能会反复地执行所以效率较低。 C和C语言在执行过程中只需要将源代码编译成可执行文件就包含了计算机能识别的机器码无需在运行过程中再实时地解释所以性能较高。 Java为什么要选择一条执行效率比较低的方式呢主要是为了实现跨平台的特性。Java的字节码指令如果希望在不同平台操作系统硬件架构比如在windows或者linux上运行。可以使用同一份字节码指令交给windows和linux上的Java虚拟机进行解释这样就可以获得不同平台上的机器码了。这样就实现了Write OnceRun Anywhere 编写一次到处运行 的目标。 但是C/C语言如果要让程序在不同平台上运行就需要将一份源代码在不同平台上分别进行编译相对来说比较麻烦。再回到即时编译在JDK1.1的版本中就推出了即时编译去优化对应的性能。 虚拟机在运行过程中如果发现某一个方法甚至是循环是热点代码被非常高频调用即时编译器会优化这段代码并将优化后的机器码保存在内存中如果第二次再去执行这段代码。Java虚拟机会将机器码从内存中取出来直接进行调用。这样节省了一次解释的步骤同时执行的是优化后的代码效率较高。Java通过即时编译器获得了接近C/C语言的性能在某些特定的场景下甚至可以实现超越。 常见的JVM Java虚拟机规范 《Java虚拟机规范》由Oracle制定内容主要包含了Java虚拟机在设计和实现时需要遵守的规范主要包含class字节码文件的定义、类和接口的加载和初始化、指令集等内容。 《Java虚拟机规范》是对虚拟机设计的要求而不是对Java设计的要求也就是说虚拟机可以运行在其他的语言比如Groovy、Scala生成的class字节码文件之上。 官网地址https://docs.oracle.com/javase/specs/index.html   常见的Java虚拟机 平时我们最常用的就是Hotspot虚拟机。 HotSpot的发展历程 初出茅庐 - 1999年4月  源自1997年收购的SmallTalk语言的虚拟机HotSpot虚拟机初次在JDK中使用。在JDK1.2中作为附加功能存在 JDK1.3之后作为默认的虚拟机。 野蛮生长 - 2006年12月 JDK 6发布并在虚拟机层面做了大量的优化这些优化对后续虚拟机的发展产生了深远的影响。 稳步前进 - 2009-2013 JDK7中首次推出了G1垃圾收集器。收购了Sun公司之后吸纳了JRockIt虚拟机的一些设计思想JDK8中引入了JMC等工具去除了永久代。 百家争鸣 - 2018-2019 JDK11优化了G1垃圾收集器的性能,同时推出了ZGC新一代的垃圾回收器JDK12推出Shenan-doah垃圾回收器。 拥抱云原生 - 2019-至今 以Hotspot为基础的GraalVM虚拟机诞生不仅让解决了单体应用中多语言整合的难题同时也提升了这些语言运行时的效率。极高的性能、极快的启动速度也更适用于当下的云原生架构。
http://www.hkea.cn/news/14346999/

相关文章:

  • 有一个可以做任务的网站湖州企业做网站
  • html5可以做交互网站吗静态网页做的网站怎么发到网上
  • 长白山网站学做管理厦门旅游必去十大景点
  • 企业网站建设与网络营销的关系福田欧辉广东工厂
  • 织梦示范网站做网站的大骗子
  • 公司做网站的流程wordpress 机械 主题
  • 做设计素材网站漳州市住房建设局网站
  • 做网站py和php网络品牌营销策略有哪些
  • 潍坊网站建设维护陕西省房和城乡建设厅网站
  • html5手机网站案例交易网站怎么做
  • 寻找网站建设 网站外包合肥网站设计公
  • html5网站模板 医院世界足球世界排名
  • 北京矿建建设集团有限公司网站免费网站建设网站优化软件
  • 泉州网站建设哪家专业做教育培训网站的公司
  • php做网站知乎上海网站托管
  • 广州网站建设哪家便宜seo 网站结构
  • 电子商务商城网站建设大连大型网站制作公司
  • 长春网站制作设计搜索引擎优化有哪些
  • 织梦行业网站模板有什么网站建设软件
  • 在工作室上班网站建设会好吗wordpress字体库
  • 珠海企业模板建站石家庄工程造价信息网官网
  • 有用dojo做的网站吗网站搭建公司排行
  • 广州网站营销企业所得税怎么算公式
  • 千万pv网站开发成本网站开发财务预算
  • wordpress站所有分类不显示安徽企业网站建设
  • 网站模板提供源码成都有哪些设计公司
  • 网站需要优化的小型公司什么是顺联网络营销
  • 网站规划内容网站关键词排名优化推广软件
  • 公司网站推广费用咸宁响应式网站建设价格
  • 网站开发工具的是什么苏州做网站建设公司