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

文昌建设局网站论坛营销

文昌建设局网站,论坛营销,全国大型网站建设,衡水网站建设什么是JVM JVM 全称是 Java Virtual Machine,中文译名 Java虚拟机。JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。 Java源代码执行流程如下: 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的发展历程

初出茅庐 - 19994 

源自1997年收购的SmallTalk语言的虚拟机,HotSpot虚拟机初次在JDK中使用。在JDK1.2中作为附加功能存在,

JDK1.3之后作为默认的虚拟机。

野蛮生长 - 200612

JDK 6发布,并在虚拟机层面做了大量的优化,这些优化对后续虚拟机的发展产生了深远的影响。

稳步前进 - 2009-2013

JDK7中首次推出了G1垃圾收集器。收购了Sun公司之后,吸纳了JRockIt虚拟机的一些设计思想,JDK8中引入了JMC等工具,去除了永久代。

百家争鸣 - 2018-2019

JDK11优化了G1垃圾收集器的性能,同时推出了ZGC新一代的垃圾回收器,JDK12推出Shenan-doah垃圾回收器。

拥抱云原生 - 2019-至今

以Hotspot为基础的GraalVM虚拟机诞生,不仅让解决了单体应用中多语言整合的难题,同时也提升了这些语言运行时的效率。极高的性能、极快的启动速度也更适用于当下的云原生架构。

http://www.dtcms.com/wzjs/417899.html

相关文章:

  • 网站建设优化重庆磁力云搜索引擎入口
  • 邵东微网站建设小江seo
  • wordpress怎么去掉顶栏驻马店网站seo
  • 企业静态网站模板手机制作网站的软件
  • 如何做论坛网站百度广告屏蔽
  • 好的互联网资讯网站营销广告文案
  • 购物网站开发方案什么软件可以免费引流
  • 新西兰注册公司做网站百度权重高的网站有哪些
  • 学校登陆网站制作网址大全导航
  • 福田网站推广排名优化系统
  • 在那可以做公司网站成品网站源码在线看
  • 漯河百度做网站电话知名的seo快速排名多少钱
  • 用什么做网站简单杭州网站设计
  • 网站制作怎么入门网站推广优化服务
  • 辽宁城乡住房建设厅官网证书查询重庆seo技术教程
  • 泛微oa办公系统教程搜索引擎优化心得体会
  • 不为建盏公司简介贺贵江seo教程
  • 做网站图片要求高吗东莞新闻头条新闻
  • 网站设计公司列表夸克搜索入口
  • 网站开发需要的软件seol英文啥意思
  • CMCAP官方网站百度有效点击软件
  • 免费做拍卖网站今天重大新闻国内最新消息
  • 窝窝网专业网站推广优化
  • 做外贸需要网站吗线上线下整合营销方案
  • 男女直接做免费的网站seo排名诊断
  • 宝安电子厂做高端网站seo系统
  • 龙岩排头疫情最新消息seo优化专员招聘
  • 深圳做地铁的公司网站网站建站网站
  • htmlcss网页设计成品北京网站优化校学费
  • php做的网站模版推广网站怎么制作