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核心类库、开发工具包(编译器+调试工具)

相关推荐
abc123456sdggfd3 分钟前
bootstrap如何修改输入框获取焦点时的光晕
jvm·数据库·python
qq_330037998 分钟前
如何配置ASM元数据备份_md_backup与md_restore重建磁盘组结构
jvm·数据库·python
Chengbei1120 分钟前
红队专属Bing Dork自动化工具,敏感信息侦察效率拉满、自动生成可视化信息泄露审计报告
java·人工智能·安全·web安全·网络安全·自动化·系统安全
a95114164232 分钟前
SQL触发器实现自动生成流水号_配合序列对象实现递增逻辑
jvm·数据库·python
敖正炀35 分钟前
集合-Set深入解析
java
|_⊙37 分钟前
C++ 智能指针
开发语言·c++
电子科技圈40 分钟前
IAR作为Qt Group独立BU携两项重磅汽车电子应用开发方案首秀北京车展
开发语言·人工智能·汽车·软件工程·软件构建·代码规范·设计规范
代码中介商41 分钟前
C语言指针深度解析:从数组指针到函数指针
c语言·开发语言
解救女汉子43 分钟前
mysql如何配置元数据锁超时_mysql lock_wait_timeout设置
jvm·数据库·python
下次再写1 小时前
Java互联网大厂面试技术问答实战:涵盖Java SE、Spring Boot、微服务及多场景应用
java·数据库·缓存·面试·springboot·microservices·技术问答