JVM,JRE和JDK的区别

JVM,JRE和JDK的区别

    • [JVM(Java Virtual Machine,Java虚拟机)](#JVM(Java Virtual Machine,Java虚拟机))
    • JRE
    • JDK

JVM(Java Virtual Machine,Java虚拟机)

Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。因此在运行时,Java源程序需要通过编译器编译成为.class文件。众所周知java.exe是java class文件的执行程序,但实际上java.exe程序只是一个执行的外壳,它会装载jvm.dll(windows下,下皆以windows平台为例,linux下和solaris下其实类似,为:libjvm.so),这个动态连接库才是java虚拟机的实际操作处理所在。

JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行使用JVM就是为了支持与操作系统无关,实现跨平台。 所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安装了JRE(当然也可以单独安装JRE)。

JRE

Java Runtime Environment,Java运行环境。 包含JVM标准实现和java核心类库,完整的Java运行环境.

JRE目录结构

JRE目录结构

  1. bin:Java平台工具所使用的的.exe可执行文件和.dll可执行文件。
  2. lib:代码库、树形设置以及JRE使用的源文件,如------
    rt.jar:Bootstrap类(构成Java平台核心API的运行时类);
    charsets.jar:字符转换类;
    jfxrt.jar:JavaFX的运行时库。
  3. lib\applet:包含支持类的小程序jar文件可以放置在lib/applet/目录中。这样,通过允许小程序类从Applet类装载器的本地文件系统预装,提供同样的保护,就好像他们已经被下载超过净减少启动时间大的小程序。
  4. lib\ext:Java平台的扩展程序(插件等)的默认安装目录。如------
    localedata.jar-用于现场数据 java.text和java.util。
  5. lib\fonts:平台使用的字体文件。
  6. lib\security:包含用于安全管理的文件。这些措施包括安全策略(java.policy)和安全性(java.security)文件。

JDK

Java Development Kit,Java开发环境。 包含了JRE、Java核心类库、开发工具包(编译器+调试工具)

相关推荐
2766958292几秒前
海关 瑞数 后缀分析 rs
java·python·rs·瑞数·海关·瑞数后缀·后缀生成
小臭希12 分钟前
Java——琐碎知识点一
java·开发语言
张帅涛_66612 分钟前
golang goroutine(协程)和 channel(管道) 案例解析
jvm·golang·go
淋一遍下雨天1 小时前
Spark Streaming核心编程总结(四)
java·开发语言·数据库
小白学大数据1 小时前
如何避免爬虫因Cookie过期导致登录失效
开发语言·爬虫·python·scrapy
琢磨先生David1 小时前
重构数字信任基石:Java 24 网络安全特性的全维度革新与未来防御体系构建
java·web安全·密码学
程序修理员2 小时前
技能点总结
java
Jennifer33K2 小时前
报错_NoSuchMethodException: cn.mvc.entity.User.<init>()
java
爱吃烤鸡翅的酸菜鱼2 小时前
【SpringMVC】概念引入与连接
java·开发语言·mysql
小白学大数据2 小时前
Python自动化解决滑块验证码的最佳实践
开发语言·python·自动化