ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JVM、JER、JDK--是什么

2021-06-06 21:34:11  阅读:239  来源: 互联网

标签:JER 类库 JRE Java JDK -- JVM java 运行


什么是 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 而没有编译的功能。

 

 

 

标签:JER,类库,JRE,Java,JDK,--,JVM,java,运行
来源: https://blog.csdn.net/lyh1023812/article/details/117636406

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有