JVM结构、架构与生命周期总结

news2025/1/11 18:31:07

【1】JVM结构

不同厂商的JVM产品 :

厂商JVM
Oracle-SUNHotspot
OracleJRocket
IBMJ9 JVM
阿里Taobao JVM

HotSpot VM是目前市面上高性能虚拟机的代表作之一。它采用解释器与即时编译器并存的架构。

在今天,Java程序的运行性能早已脱胎换骨,已经达到了可以和C/C++程序一较高下的地步。
在这里插入图片描述
执行引擎包含三部分:解释器,及时编译器,垃圾回收器。

【2】java代码执行流程

在这里插入图片描述

【3】JVM架构模型

Java编译器输入的指令流基本上是一种基于栈的指令集架构,另外一种指令集架构则是基于寄存器的指令集架构。具体来说:这两种架构之间的区别:

基于栈式架构的特点

  • 设计和实现更简单,适用于资源受限的系统;
  • 避开了寄存器的分配难题:使用零地址指令方式分配。
  • 指令流中的指令大部分是零地址指令,其执行过程依赖于操作栈。指令集更小(8位,寄存器是16位),编译器容易实现。
  • 不需要硬件支持,可移植性更好,更好实现跨平台

基于寄存器架构的特点

  • 典型的应用是x86的二进制指令集:比如传统的PC以及Android的Davlik虚拟机。
  • 指令集架构则完全依赖硬件,可移植性差
  • 性能优秀和执行更高效
    / 花费更少的指令去完成一项操作。

在大部分情况下,基于寄存器架构的指令集往往都以一地址指令、二地址指令和三地址指令为主,而基于栈式架构的指令集却是以零地址指令为主。

同样执行2+3这种逻辑操作,其指令分别如下。

基于栈的计算流程(以Java虚拟机为例):

iconst_2 //常量2入栈
istore_1
iconst_3 // 常量3入栈
istore_2
iload_1
iload_2
iadd //常量2/3出栈,执行相加
istore_0 // 结果5入栈

而基于寄存器的计算流程

mov eax,2 //将eax寄存器的值设为2
add eax,3 //使eax寄存器的值加3

由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。

【4】JVM生命周期

① 虚拟机的启动

Java虚拟机的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的。

② 虚拟机的执行

  • 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。
  • 程序开始执行时他才运行,程序结束时他就停止。
  • 执行一个所谓的Java程序的时候,真真正正在执行的是一个叫做Java虚拟机的进程。

③ 虚拟机的退出

有如下的几种情况

  • 程序正常执行结束

  • 程序在执行过程中遇到了异常或错误而异常终止

  • 由于操作系统出现错误而导致Java虚拟机进程终止

  • 某线程调用Runtime类或system类的exit方法,或Runtime类的halt方法,并且Java安全管理器也允许这次exit或halt操作。

  • 除此之外,JNI(Java Native Interface)规范描述了用JNI Invocation API来加载或卸载 Java虚拟机时,Java虚拟机的退出情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1969011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据上新 | 景联文科技推出高质量方言音文对数据集,驱动方言语音大模型技术革新

中国电信人工智能研究院(TeleAI)正式对外发布星辰超多方言语音识别大模型。这是业内首个支持30种方言自由混说的语音识别大模型,也是目前国内支持最多方言的语音识别大模型。 方言语音大模型具有广泛的应用场景,可以应用于语音助手…

1.1.9创建应用

1.在全局配置文件下找到urls.py进行路由配置 配置路由要指明哪个应用,和写好模块导入的函数 2.找到路由要启动的应用,在应用里找到视图函数进行设计 path(‘url模式/“,视图函数) 注意第五部没有/ 1.1.110路由匹配模…

小阿轩yx-KVM+GFS 分布式存储系统构建 KVM 高可用

小阿轩yx-KVMGFS 分布式存储系统构建 KVM 高可用 案例分析 案例概述 使用 KVM 及 GlusterFS 技术,结合起来实现 KVM 高可用利用 GlusterFS 分布式复制卷对 KVM 虚拟机文件进行分布存储和冗余 分布式复制卷 主要用于需要冗余的情况下把一个文件存放在两个或两个…

刚起步的海外仓怎么选WMS系统,要注意什么

对于刚起步的海外仓企业来说,最紧要的事情就是把核心业务打磨平稳,形成核心竞争力,才能在激烈的竞争中赢得一席之地。 而要实现这个目的,WMS海外仓系统的引入当然是必要的一环,不过因为刚起步,业务和资源都…

AI产品经理的职责与能力:将AI技术转化为实际价值

一、AI产品经理的职责 发现和解决问题:AI产品经理需要具备敏锐的洞察力,能够发现用户需求和痛点,并提出相应的解决方案。传递价值给用户:AI产品经理需要确保产品能够满足用户的需求,提供价值,并提升用户体…

大模型之语言大模型技术

本文作为大模型综述第二篇,介绍语言大模型基本技术。 近年来,在 Transformer 架构基础上构建的预训练语言模型为自然语言处理领域带来了一系列突破式进展,成为人工智能主流技术范式。预训练语言模型采用“预训练+微调”方法,主要分为两步: 1)将模型在大规模无标注数据上…

No static resource favicon.ico.问题解决

一,问题 Spring Boot项目调用接口时报错 org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpReques…

餐饮卫生数字化防线:EasyCVR明厨亮灶/透明厨房/阳光厨房视频监管方案

近期有新闻报道,某互联网大厂办事处发生了一起大规模食物中毒事件,导致近60人住院。餐饮食品卫生安全直接关系到人民群众的身体健康和生命安全,是社会关注的焦点。 传统的监管方式往往依赖于人力巡查和抽检,存在效率低、覆盖面窄…

企业邮箱安全稳定吗?

企业邮箱安全稳定吗?企业邮箱通过GDPR等国际标准保护数据,采用加密技术、反垃圾邮件、身份验证等措施确保安全。服务器全球分布,灾难恢复和备份确保稳定。Zoho邮箱提供多种版本和注册流程,支持邮件协作、备份与恢复等功能。 一、…

成为一名月薪 2 万的 web 安全工程师需要掌握哪些技能?

现在 web 安全工程师比较火,岗位比较稀缺,现在除了一些大公司对学历要求严格,其余公司看中的大部分是能力。 有个亲戚的儿子已经工作 2 年了……当初也是因为其他的行业要求比较高,所以才选择的 web 安全方向。 资料免费分享给你…

“电商兴农 走进柳湖”明天赵堡准时启动,邀您一起来采摘

为了进一步推动农村电子商务普及应用,营造农村电商发展浓厚氛围,培育电商新业态、新模式,宣传推广崆峒农特产品,推动城乡生产与消费有效对接,拓宽农特产品销售渠道,释放农村消费潜能,挖掘乡村文…

凡图公益行|温暖新庞村:“守护童心、预防霸凌”公益活动圆满落幕!

凡图公益行|温暖新庞村:“守护童心、预防霸凌”公益活动圆满落幕! 在当今社会,霸凌这一现象如同阴霾般笼罩在部分孩子的生活之中,成为了一个不容忽视的社会问题。 它不仅给受害者带来深重的身心伤害,还对整个社会的和…

Haption力反馈设备在核工业遥操作机器人中的应用探讨

核工业作为能源领域的重要组成部分,其安全性和工作效率的提升越来越受到人们的关注。在核工业环境中,由于存在高辐射、高风险等特性,传统的人工操作方式并不适用于该领域,因此遥操作机器人技术应运而生。Haption力反馈设备作为虚拟…

springboot报错

springboot报错:g.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length 1 解决办法: file->settings 搜索encoding 然后选择File encodings 也可以直接找 File encodings 全部都更改整utf-8&#xff…

Midjourney咒语之风景大片极简抽象神秘特效

风景大片 Himalayas, landscape, very detailed, --ar 16:9 --style raw --v 5.1 Serene blue mountains landscape. hills, mist, morning fog, Wide-angle lens, Low ISO, EOS 5D Mark IV, --ar 16:9

Vue2中渲染功能,添加功能,删除功能,统计功能

上述是代码运行结果&#xff0c;完整代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport"…

防近视台灯有效果吗?家长们要注意台灯怎么选才靠谱

近年来&#xff0c;电子产品的广泛应用进一步加重了学生的用眼负担。平板电脑、智能手机和笔记本电脑成为日常学习不可或缺的一部分&#xff0c;而长时间使用这些设备无疑加剧了视力疲劳。根据权威机构的预测&#xff0c;到2050年&#xff0c;全球近视人数将达到约49.49亿人&am…

Spring Boot 动态数据源

目录 前言 前置环境 pom yml Entity Dao 枚举类 数据源 AOP Controller 启动类 演示 前言 大多数系统中&#xff0c;都需要数据库来持久化数据&#xff0c;在大多数情况下&#xff0c;一个系统只需要配置一个数据源便能够完成所有业务的查询&#xff0c;保存操作。…

Interceptor拦截器开发

因为1登录后的接口都需要token验证代码,会出现重复代码;2当前的接口不防刷,会被恶意攻击 所以在controller层增加请求拦截,如果你的token不合法,就不让你做后续的处理了 拦截器的作用是什么 作用: 1、对controller层代码的访问进行拦截,合法的请求,那此层代码就处理,反…

三好夫人是正规牌子吗?99%不知道的秘密:三好夫人竟成宠夫神器

三好夫人是正规品牌&#xff0c;是2023年在中国国家商标局注册的第30类商标。所属公司为苏州好夫人健康科技有限公司。 当下的社会&#xff0c;健康与爱情成为了现代人追求的两大宝藏。在众多养生品牌中&#xff0c;“三好夫人”如同一股清流&#xff0c;悄然间成为了许多家庭中…