[八股文]Java

JVM、JDK、JRE三者关系?

  • JDK是Java开发工具包,是开发Java程序所需的工具集合。它包含了JVM、编译器(javac)、调试器(jdb)等开发工具,以及一系列的类库(如Java标准库和开发工具库)。JDK提供了开发、编译、调试和运行Java程序所需的全部工具和环境。
  • JVM是Java虚拟机,是Java程序运行的环境。它负责将Java字节码(由Java编译器生成)解释或编译成机器码,并执行程序。JVM提供了内存管理、垃圾回收、安全性等功能,使得Java程序具备跨平台性。
  • JRE是Java运行时环境,是Java程序运行所需的最小环境。它包含了JVM和一组Java类库,用于支持Java程序的执行。JRE不包含开发工具,只提供Java程序运行所需的运行环境。

为什么Java解释和编译都有?

(1) 前端编译(javac):将 .java 源码编译成 字节码(.class 文件

(2) 后端执行(JVM)

  • 解释器(Interpreter):逐行解释字节码并执行,启动快执行慢(适合冷代码)。
  • JIT 编译器(Just-In-Time):运行时将热点代码(频繁执行的代码)直接编译为本地机器码,后续执行无需解释,大幅提升性能(如 HotSpot VM 的 C1/C2 编译器)。

JIT如何判断热点代码?:JVM中的一个方法调用计数器,当累计计数大于一定值时,就使用JIT进行编译生成机器码文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值