核心基础:理解何为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不是小小的一篇网文就能全部搞定的。 【编辑推荐】
点赞 0 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |