理解java,解释执行和编译执行 jvm jre jdk

本文详细解析了Java环境的搭建过程,包括JDK、JRE和JVM的概念及其相互关系,介绍了mac环境下JDK的安装路径。同时,深入探讨了Java的执行原理,解释了Java源代码如何通过Javac编译为字节码,以及JVM如何使用解释器和JIT编译器执行字节码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jvm jdk 和 jre

下载jdk  -- java development kit
mac下安装jdk后路径如下:
jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/ext/zipfs.jar!/
这里面有三个概念:
jvm jre jdk 

JVM – java virtual machine
java虚拟机,它是虚拟出来的计算机,包含自己的堆栈、计数器和指令系统,用于执行.class文件,由虚拟机将.class文件解释给本地系统执行,即调用本地的CPU指令集或OS系统调用。

JRE - Java Runtime Envirnment
JVM + JAVA核心类库和支持文件

JDK - java development kit
jre(jvm+核心库) + java工具(javac/jstack等)

原文链接:https://blog.youkuaiyun.com/axi295309066/article/details/60469630

java 是解释执行吗
我们开发的 Java 的源代码,首先通过 Javac 编译成为字节码(bytecode);在运行时,通过 Java 虚拟机(JVM)内嵌的解释器将字节码转换成为最终的机器码。这是经常说的解释执行
但是常见的 JVM,比如 Oracle JDK 提供的 Hotspot JVM,都提供了 JIT(Just-In-Time)编译器,也就是通常所说的动态编译器,JIT 能够在运行时将热点代码编译成机器码,这种情况下部分热点代码就属于编译执行。

一般是解释执行,流程: 源代码-javac编译->字节码-jvm解释器->机器码
jvm也提供了JIT编译器,针对热点代码 -JIT编译器->机器码

所以 java同时提供了解释执行和编译执行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值