JVM的基本组成

一、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运行期间的方法调、数据对象统存放至运行时数据区。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷酷无情小美

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值