JDK是什么?JRE是什么?JVM是什么?

Java Runtime Environment (JRE) 包含:

Java虚拟机(JVM)、库函数、运行 Java 应用程序和 Applet 所必须文件 。

Java 2 SDK (Development Kit)包含:JRE的超集,包含编译器和调试器等用于程序开发的文件

Java运行环境的三项主要功能:
1. 加载代码:由class loader 完成;
2. 校验代码:由bytecode verifier 完成;
3. 执行代码:由 runtime interpreter完成。

sdk(也就是jdk是jre的超集,是在jre的基础上增加了编译器及其他一些开发工具。
jre就是java运行时环境,包括了jvm和其它一些java核心api,任何一台电脑,只有安装了jre才可以运行java程序。
总结
1.、如果只是要运行JAVA程序,只需要JRE就可以。 

2、JRE通常非常小,也包含了JVM.

 

JVM是什么?

JVM是一种规范,可以使用软件来实现,也可以使用硬件来实现,就是一个虚拟的用于执行 bytecodes 字节码的计算机。他也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。

JVM 负责将 java 字节码解释运行,边解释边运行,这样,速度就会受到一定的影响。JAVA提供了另一种解释运行的方法JITjust in time),可以一次解释完,再运行特定平台上的机器码,高级的 JIT 可以只能分析热点代码,并将这些代码转成本地机器码,并将结果缓存起来,下次直接从内存中调用,这样就大大提高了执行 JAVA 代码的效率。这样就实现了跨平台、可移植的功能。

JVM 是指在一台计算机上由软件或硬件模拟的计算机(Java虚拟机);它类似一个小巧而高效的 CPU。

byte-code 代码是与平台无关的是虚拟机的机器指令。

java字节代码运行的两种方式:
1)方式interpreter(解释)
2)Just-in-time(即时编译):
有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行。

总结
1. JAVA 的跨平台实现的核心是不同平台使用不同的虚拟机。
2. 不同的操作系统有不同的虚拟机。
3. Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。

posted @   幻影黑子  阅读(667)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示