JVM的基本组成

server/2024/9/25 8:36:06/

一、JDK\JRE\JVM

JDK: 全称 "Java Development Kit" ,Java 开发工具包,提供 javac 编译器、jheap、jconsole 等监控工具;
JRE: 全称"Java Runtime Environment",Java 运行环境提供Class Library 核心类库 + JVM ;
JVM: 全称"Java Virtual Machine", Java虚拟机,用于运行Java 应用程序;

二、Java程序执行过程

1.编译: 通过 javac 命令,调用 JDK 编译器,将 *.java 源文件编译成 *.class 字节码文件。
2.执行: 通过 java 命令,调用 JVM 虚拟机,执行 *.class 字节码文件。

三、Java实现跨平台的原因

1.不同平台,通用的字节码文件

2.不同的平台的JVM虚拟机版本,用于将字节码翻译成当前平台可以执行的机器码指令。

四、JVM执行方式

JVM 以解释+编译的混合模式,执行字节码文件(解释为主,编译为辅)。

1. 一方面,以解释执行为主,即JVM将字节码文件中的每个指令通过解释器转换成当前平台可识别的机器码后交 CPU 执行。

2. 另一方面,为提高执行效率,在运行期间通过热点代码统计分析,识别高频的方法调用、循环体、公共模块等。当超过阈值时,基于 JIT 即时编译器将热点代码转换成机器码交 CPU 执行。

其中,在 client 模式下默认阈值是 1500 次,Server 模式下是 10008 次

五、JVM组成结构

        JVM 由类加载器、运行时数据区、 JVM 解释器、 JIT 即时编译器、垃圾回收器、本地方法库等部分组成。
        由类加载器完成字节码文件的加载验证和解析,存储至运行时数据区,并由执行引擎中的解释器,完成字节码到机器码的解释执行。同时进行热点代码的统计分析,调用 JIT 即时编译器将字节码直接编译成机器码,提高执行效率。JVM运行期间的方法调、数据对象统存放至运行时数据区。


http://www.ppmy.cn/server/121731.html

相关文章

Android 保存本地图片

1.工具类BitmapUtils public class BitmapUtils {public static Bitmap mirror(Bitmap rawBitmap) {Matrix matrix new Matrix();matrix.postScale(-1f, 1f);return Bitmap.createBitmap(rawBitmap, 0, 0, rawBitmap.getWidth(), rawBitmap.getHeight(), matrix, true);}publ…

设计原则模式概览

前言 架构设计是软件系统稳定的核心因素,也是程序员晋级架构师的核心因素,建议日常开发过程中针对设计进行深挖与思考 核心 分清楚哪些是稳定的,哪些是变化的(一定有稳定跟变化的成分); 捋清楚哪些是类设计…

智能听诊器宠物社区的新宠

在宠物社区中,智能听诊器正迅速成为宠物主人的新宠。这款设备通过高精度传感器和智能算法,为宠物提供实时的健康监测和诊断建议。智能听诊器的移动健康应用,使得宠物主人能够随时随地访问宠物的健康数据,并与兽医进行交流。 智能…

python学习-11【图形用户界面】

1、EasyGUI 快速入门 在命令提示符中使用 pip install easygui 命令下载并安装 Easy GUI 功能演示 1、 msgbox() 函数可以显示一个对话框,默认提供名为 OK 的按钮 msgbox(msg(message), title, ok_buttonOK, imageNone, rootNone) 2、ccbox() 函数用于提供选择功能…

Cilium + ebpf 系列文章- XDP (eXpress data Path)(四)

前言: 现有网络容器的性能消耗与通信简单流程: 1、只要是Pod都有自己的网络命名空间。 2、Pod的网络命名空间由Pod内的容器使用并共享但是由暂停容器(Pause Container)管理。 3、Pod内的容器网络通过veth_pair对与主机网络命名空间打通。 …

短视频矩阵管理系统贴牌 源码开发

抖音账号矩阵的开发核心维度包括: 多账号管理开发维度:通过运用不同类型的账号矩阵,可以实现统一且便捷的管理。目前,矩阵系统支持管理抖音、快手、视频号,b站的账号,未来计划加入小红书,tk等等的账号管理。 矩阵账号…

蓝队技能-应急响应篇Web内存马查杀JVM分析Class提取诊断反编译日志定性

知识点: 1、应急响应-Web内存马-定性&排查 2、应急响应-Web内存马-分析&日志 注:传统WEB类型的内存马只要网站重启后就清除了。 演示案例-蓝队技能-JAVA Web内存马-JVM分析&日志URL&内存查杀 0、环境搭建 参考地址:http…

如何安装部署kafka

安装和部署Apache Kafka需要以下几个步骤,包括下载 Kafka、配置 ZooKeeper(或者使用 Kafka 自带的 Kafka Raft 模式替代 ZooKeeper),以及启动 Kafka 服务。以下是一个但基于 Linux 的典型安装流程,可以根据需要改装到其…