您现在的位置是:亿华云 > 系统运维
一次性聊透JVM架构设计,就算八股文也得会
亿华云2025-10-03 09:32:03【系统运维】8人已围观
简介有位小伙伴在我的粉丝群里面问我一个面试题,说面试被问对JVM的理解,不知道怎么回答,今天咱们来聊透,就算是八股文你也得会。另外,往期面试题解析中配套的文档我已经准备好,想获得的可以在我的煮叶简介中找到
有位小伙伴在我的次性粉丝群里面问我一个面试题,说面试被问对JVM的聊透理解,不知道怎么回答,架计算今天咱们来聊透,构设股文就算是次性八股文你也得会。另外,聊透往期面试题解析中配套的架计算文档我已经准备好,想获得的构设股文可以在我的煮叶简介中找到。
先来看什么是次性JVM?
1、什么是聊透JVMJVM(Java Virtual Machine)其实是一套标准。通过定义虚拟机,架计算像真实计算机一样,构设股文能够运行字节码指令。次性JVM的聊透好处是可以屏蔽操作系统的细节, 使Java可以一次编写,架计算到处运行。
实现JVM的厂商有很多,比如Hotspot、JRockit、IBM J9等等。今天我们重点来聊一聊主流的香港云服务器Hotspot,因为Oracle JDK与OpenJDK都是采用HotSpot VM。从源码层面说,它们俩基本上没什么区别。
2、JVM架构设计下面我给大家详细介绍一下JVM的架构设计,总体来看HotSpot VM 主要由3个核心部分组成:
类装载子系统(Class Loader Subsystem)。运行时数据区(Runtime Data Areas)。执行引擎(Execution Engine)。那么Hotspot JVM架构细节和运行机制又是怎样的呢?首先,将编译好的.class文件装载到类加载子系统,它的主要功能是查找并验证类文件、完成相关内存空间的分配和对象赋值。
类文件加载到内存之后由运行时数据区来完成数据存储和数据交换。运行时数据区又分为线程共享内存区和线程隔离内存区。线程共享内存区包括方法区和堆区,它们是程序员能够通过编写代码直接操作的内存区,而线程隔离内存区包括栈区、程序计数器和本地方法栈,它们是完全由JVM来调度的内存区域。
首先来看方法区,亿华云它的主要功能是存储运行时常量池、字段和方法的元数据和类的的元数据。
而堆区呢,主要是用来存储Java对象的实例,也就是我们new的类都存在堆区。
栈区是通过线程的方式运行来加载各种方法。
程序计数器呢,是负责保存每个线程执行的方法的地址。
本地方法区是负责加载并运行native类型的方法。
这样,通过运行时数据区的五个内存区就能完成Java程序程序逻辑的执行和数据交换。接下来看执行引擎,它主要包含即时编辑器和垃圾回收器。
即时编译器,通俗地理解就是服务器租用用来将字节码翻译成操作系统能够执行的CPU指令,可以通过JVM参数来设置选择解释执行或者是编译执行。
所谓解释执行就是直接将字节码作为源程序输入解释执行,不必等待编译器全部编译完成再执行,这样可以省去许多不必要的编译时间。
而编译执行就是就是由编译程序将目标代码一次性编译成目标程序,再由机器运行,执行效率更高,占用内存资源也更小。
在Hotspot的实现中默认是两种方式的组合。
垃圾回收器主要负责对运行时数据区的数据进行管理和回收,其实就是对各种垃圾回收算法的实现,总体来说有三种核心算法,分别是复制算法、标记清除算法和标记整理算法,这些算法的选择呢,我们可以通过JVM参数来设置。
最后,来看本地方法接口,也就是JNI技术。我们可以通过JNI来查找并调用C或C++实现的代码,还可以调用操作系统的动态链接库(DLL)等等。
好了,通过对Hotspot架构的分析,相信各位小伙伴已经非常清晰地知道了JVM的运行原理。当然,在实际的开发过程中,我们可以通过配置JVM参数来对JVM进行调优,比如这些参数。
还可以通过一些常见的JDK命令来分析JVM的状态,查找问题的原因从而完成对JVM的调优,比如这些命令。
以上就是我对JVM的理解。
很赞哦!(9)
上一篇: 光纤管理在数据中心中的重要性与日俱增
下一篇: 为什么数据中心是游戏的未来
相关文章
- 气候变化将如何影响数据中心的位置选择
- 以上的就是为大家介绍的关于域名的详解域名注册:域名注册0
- 域后缀首选.com,.net,然后是.cn。后缀选择不当,导致流量损失。域名是企业与互联网网址之间的链接,关键是企业在网络上存在的标志。因此,选择好域名是开展网上工作的首要重要条件。
- 3.dns修改成功后,点击“域名解析”,按提示进行操作。解析格式一般如下:
- 数据中心如何将其电力基础设施用于电网运营
- 为什么起域名意义非凡?起域名有什么名堂?
- 4、参加域名拍卖会
- 互联网中的地址是数字的IP地址,域名解析的作用主要就是为了便于记忆。
- 电源和冷却:今天的设计必须考虑长远
- 2、根据用户基础选择访问提供程序。由于互联问题的存在,接入商的选择也非常重要,如果用户群主要在联通,尽量选择联通接入较好的接入商,如果用户群主要在电信,那么选择电信接入较好的接入商。如果用户组位于国家/地区,则选择更好的访问提供程序进行交互。
热门文章
站长推荐
为什么数据中心温湿度监控至关重要?
只要我们做的是从目前的市场情况选择域名,从简单易记,从个性特征上,我们就可以找到一个好域名进行注册。域名注册进行域名记录和解析以及绑定网站后,客户可以通过URL登录您的网站。
为什么大家都选优质域名?到底存在着什么好处?
域名资源有限,好域名更是有限,但机会随时都有,这取决于我们能否抓住机会。一般观点认为,国内域名注册太深,建议优先考虑外国注册人。外国注册人相对诚实,但价格差别很大,从几美元到几十美元不等。域名投资者应抓住机遇,尽早注册国外域名。
数据中心布线管理需进行端口复制的五个主要原因
网站页面结构改版,仅是页面样式发生变化,不会对排名、收录有影响;只有涉及到页面URL改变,才会对网站排名、收录有影响。
解析之后一般在十分钟内生效,如果没有生效可以联系域名服务商进行沟通。
记住那句话,域名向来不属于任何人,谁先买就归谁,购买期过后,域名又不再属于任何人。