微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JVM、JER、JDK--是什么

什么是 JVM?

jvm是 Java Virtual Machine(Java虚拟机)的缩写。

它是 java 运行时的环境,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

 

针对 java 用户,也就是拥有可运行的.class 文件包(jar 或者 war)的用户

里面主要包含了 jvm 和 java 运行时基本类库(rt.jar)。

rt.jar 可以简单粗暴地理解为:它就是 java 源码编译成的 jar 包。

Java 虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。

这就是 Java 的能够“一次编译,到处运行”的原因。

  • 实现跨平台的最核心的部分
  • .class 文件会在 JVM 上执行,JVM 会解释给操作系统执行
  • 有自己的指令集,解释自己的指令集到 cpu 指令集和系统资源的调用
  • JVM 只关注被编译的 .class 文件,不关心 .java 源文件

 

 

什么是 JRE?

jre是 Java Runtime Environment(Java运行环境)的缩写

 

  • 包含 JVM 标准实现及 Java 核心类库,这些是运行 Java 程序的必要组件
  • 是 Java 程序的运行环境,并不是一个开发环境,没有包含任何开发工具(如编译器和调试器)
  • 是运行基于 Java 语言编写的程序所不可缺少的运行环境,通过它,Java 程序才能正常运行

JRE(Java Runtime Environment,Java 运行环境),包含 JVM 标准实现及 Java 核心类库。JRE 是 Java 运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)。

JRE 是指 java 运行环境。光有 JVM 还不能完成 class 的执行,因为在解释 class 的时候 JVM 需要调用解释所需要的类库 lib。 (jre 里有运行.class 的 java.exe)。

JRE 是运行 Java 程序必不可少的(除非用其他一些编译环境编译成 .exe 可执行文件),JRE 的地位就象一台 PC 机一样,我们写好的 Win64 应用程序需要操作系统帮我们运行,同样的,我们编写的 Java 程序也必须要 JRE 才能运行。

 

 

 

什么是 JDK?

JDK 是 Java Development Kit(Java开发工具包)的缩写

里面包含了:jre、javac(源码的编译器)、jconsole(监控工具)、jvisualvm(分析工具)等等

JDK目录下的主要几部分:

  • bin 最主要的是编译器  (javac.exe、java.exe)
  • include  java 和 JVM 交互用的头文件
  • lib  类库
  • jre java 运行环境
  • src 类库源码压缩包

在jre目录里有两个文件夹:

  • bin:可以认为是jvm
  • lib:jvm工作所需要的类库。

总的来说 JDK 是用于 java 程序的开发,而 jre 则是只能运行 class 而没有编译的功能

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐