加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 空间 > 正文

核心基础:理解何为JVM?掌握Java虚拟机构成精髓

发布时间:2019-03-08 15:33:10 所属栏目:空间 来源:牛旦教育IT课堂
导读:副标题#e# Java虚拟机是一个程序,其目的是执行其他程序。 这是一个简要的观念,也是我们编码功夫最好的示例之一。 JVM打破了当时的现状,并继续支持今天的编程创新。 1.JVM的用法和定义 JVM有两个主要功能:允许Java程序在任何设备或操作系统上运行(称为一

每个Java虚拟机都包含一个类加载器。 JVM规范描述了在运行时查询和操作类加载器的标准方法,但JVM实现负责实现这些功能。 从开发人员的角度来看,底层的类加载器机制通常是一个黑盒子。注意,一般具体的JVM实现,也不止一个类加载器。

4.2.Java执行引擎

一旦类加载器完成了加载类的工作,JVM就开始在每个类中执行代码。 执行引擎是处理此功能的JVM组件。 执行引擎对于运行JVM至关重要。 实际上,出于所有实际目的,它就是JVM实例。

执行代码涉及管理对系统资源的访问。JVM执行引擎位于正在运行的程序(包括对文件、网络和内存资源的需求)和提供这些资源的操作系统之间。

4.3.执行引擎如何管理系统资源

系统资源可以分为两大类:内存和其他所有内容。

回想一下,JVM负责处理未使用的内存,垃圾收集是执行这种处理的机制。 JVM还负责分配和维护开发人员认为理所当然的参照性结构。 举个例子,JVM的执行引擎负责在Java中使用类似new关键字的东西,并将其转换为特定于操作系统的内存分配请求。

除了内存管理,执行引擎还管理文件系统访问和网络I/O的资源。 由于JVM可跨操作系统进行互操作,因此这绝非易事。 除了每个应用程序的资源需求外,执行引擎还必须响应每个OS环境。这就是JVM能够处理内部需求的方式。

5. JVM演变:过去,现在,未来

1995年,JVM引入了两个革命性的概念,这些概念从此成为现代软件开发的标准配置:"一次编写,随处运行"和自动内存管理。 软件互操作性在当时是一个大胆的概念,但今天很少有开发人员会三思而后行。 同样,虽然我们的工程先驱必须自己管理程序内存,但我这一代人是在垃圾收集器(garbage collection)中长大。

我们可以说James Gosling和Brendan Eich发明了现代编程,但在接下来的几十年里,成千上万的其他人已经完善并内置了他们的想法(编程方式的内部性的观念认知)。 虽然Java虚拟机最初只是用于Java,但现在它已经发展到支持许多脚本和编程语言,包括Scala,Groovy和Kotlin。 展望未来,很难看到未来JVM不是发展领域的重要组成部分(依然是突出的组成部分)。

6.结论

本文总览性对JVM进行了介绍,具体设计的内容还很多,这里就不一一展开了,可以看本号已发表的相关文章,以进一步了解。最后,我以一张JVM组成图来总结本文,以更直观的方式认识和感知Java 虚拟机( Java virtual machine):

Java 虚拟机实现架构参考

本篇关于认知JVM精要组成的内容,就到这里了。具体的JVM不是小小的一篇网文就能全部搞定的。

【编辑推荐】

  1. 如何应对云计算环境下 VMware 虚拟机备份挑战?
  2. 看完这篇文章你还敢说你懂JVM吗?
  3. 如何合理的规划JVM性能调优
  4. 深入进阶:图解分析JVM内存堆布局
  5. Java虚拟机如何加载类的?
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:南平站长网)

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

推荐文章
    热点阅读