加入收藏 | 设为首页 | 会员中心 | 我要投稿 大同站长网 (https://www.0352zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

理解何为JVM?掌握Java虚拟机构成精髓

发布时间:2021-05-05 13:09:53 所属栏目:动态 来源:互联网
导读:技术定义:JVM是执行代码并为该代码提供运行时环境的软件程序的规范。 常规定义:JVM是我们运行Java程序的工作方式。 我们配置JVM的设置,然后依赖它来在执行期间管理程序资源。 当开发人员谈论JVM时,我们通常是指在一台机器上运行的进程,尤其是服务器,它


  • 技术定义:JVM是执行代码并为该代码提供运行时环境的软件程序的规范。
  • 常规定义:JVM是我们运行Java程序的工作方式。 我们配置JVM的设置,然后依赖它来在执行期间管理程序资源。

当开发人员谈论JVM时,我们通常是指在一台机器上运行的进程,尤其是服务器,它代表并控制Java应用程序的资源使用情况。这些是参照JVM规范实现的的——所谓JVM规范,其描述了构建执行这些任务的程序的要求。

那么,谁开发和维护JVM?

——JVM由一些非常聪明的程序员、公司和开源组织来广泛部署、大量使用、升级开发和维护的。 OpenJDK项目是Sun Microsystems决定开源Java的后代。Sun被Oracle收购,OpenJDK继续通过Oracle来对Java管理,现在由Oracle工程师完成了大量繁重工作。

2.JVM中内存管理

与正在运行的JVM最常见的交互是检查堆(Heap)和堆栈(stack,简称为栈)中的内存使用情况。 最常见的调整是调优JVM的内存设置。

2.1.垃圾回收

在Java之前,所有程序内存都由程序员管理。 在Java中,程序内存由JVM管理。 JVM通过称为垃圾收集的进程来管理内存,该进程持续识别并消除Java程序中未使用的内存。 垃圾收集发生在正在运行的JVM中。

在早期,Java因为没有像C那样"接近源质(close the metal)"而受到很多批评,因此没有那么快。 垃圾收集过程尤其引起争议。 从那时起,已经提出了各种算法和方法,并用于垃圾收集。 随着兼容性开发和优化,垃圾收集得到了极大的改进。

注:接近源质是什么意思?

——当程序员说编程语言或平台"接近源质"时,我们的意思是开发人员能够以编程方式(通过编写代码)管理操作系统的内存。 从理论上讲,程序员可以通过规定使用多少以及何时丢弃它,以便从我们的程序中获得更多性能。 在大多数情况下,将内存管理委派给高度精炼的流程(如JVM)可以产生超过你自己管理的更好性能和更少错误。

3. JVM分为三部分

3.1.JVM规范

首先,JVM是一个软件规范。 以某种通告或宣告方式表达其要求,JVM规范强调其实现细节不在其规范中具体定义,以便在其实现中实现***的创造性(如下通告要求):

"要正确实现Java虚拟机,您只需要能够读取类文件格式并正确执行其中指定的操作。"

还有这样的例子,如J.S. 巴赫(Bach)曾经类似的描述过音乐创作:

"你所要做的就是在合适的时间触碰那正确的调调(就是音乐家或唱歌所说那个key,键)。"

因此,JVM所要做的就是正确运行Java程序。 听起来很简单,甚至可能从外面看起来也很简单,但这是一项艰巨的任务,特别是考虑到Java语言的强大功能和灵活性。

注意,JVM就是个虚拟的机器,可进一步描述如下:

  • 技术定义:JVM是执行代码并为该代码提供运行时环境的软件程序的规范。
  • 常规定义:JVM是我们运行Java程序的工作方式。 我们配置JVM的设置,然后依赖它来在执行期间管理程序资源。

当开发人员谈论JVM时,我们通常是指在一台机器上运行的进程,尤其是服务器,它代表并控制Java应用程序的资源使用情况。这些是参照JVM规范实现的的——所谓JVM规范,其描述了构建执行这些任务的程序的要求。

那么,谁开发和维护JVM?

——JVM由一些非常聪明的程序员、公司和开源组织来广泛部署、大量使用、升级开发和维护的。 OpenJDK项目是Sun Microsystems决定开源Java的后代。Sun被Oracle收购,OpenJDK继续通过Oracle来对Java管理,现在由Oracle工程师完成了大量繁重工作。

2.JVM中内存管理

与正在运行的JVM最常见的交互是检查堆(Heap)和堆栈(stack,简称为栈)中的内存使用情况。 最常见的调整是调优JVM的内存设置。

2.1.垃圾回收

在Java之前,所有程序内存都由程序员管理。 在Java中,程序内存由JVM管理。 JVM通过称为垃圾收集的进程来管理内存,该进程持续识别并消除Java程序中未使用的内存。 垃圾收集发生在正在运行的JVM中。

在早期,Java因为没有像C那样"接近源质(close the metal)"而受到很多批评,因此没有那么快。 垃圾收集过程尤其引起争议。 从那时起,已经提出了各种算法和方法,并用于垃圾收集。 随着兼容性开发和优化,垃圾收集得到了极大的改进。

注:接近源质是什么意思?

——当程序员说编程语言或平台"接近源质"时,我们的意思是开发人员能够以编程方式(通过编写代码)管理操作系统的内存。 从理论上讲,程序员可以通过规定使用多少以及何时丢弃它,以便从我们的程序中获得更多性能。 在大多数情况下,将内存管理委派给高度精炼的流程(如JVM)可以产生超过你自己管理的更好性能和更少错误。

3. JVM分为三部分

3.1.JVM规范

首先,JVM是一个软件规范。 以某种通告或宣告方式表达其要求,JVM规范强调其实现细节不在其规范中具体定义,以便在其实现中实现***的创造性(如下通告要求):

"要正确实现Java虚拟机,您只需要能够读取类文件格式并正确执行其中指定的操作。"

还有这样的例子,如J.S. 巴赫(Bach)曾经类似的描述过音乐创作:

"你所要做的就是在合适的时间触碰那正确的调调(就是音乐家或唱歌所说那个key,键)。"

因此,JVM所要做的就是正确运行Java程序。 听起来很简单,甚至可能从外面看起来也很简单,但这是一项艰巨的任务,特别是考虑到Java语言的强大功能和灵活性。

注意,JVM就是个虚拟的机器,可进一步描述如下:

(编辑:大同站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读