脚本宝典收集整理的这篇文章主要介绍了1_JDK、JRE 和 JVM,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
新建JAVA_HOME
配置path变量(两个) 测试JDK 和 JRE 之间的关系?
答:
JDK (Java Development KIT ):Java 开发工具包,提供了 Java 的开发环境和运行环境。
JRE (Java Runtime environment ):Java 运行环境,为 Java 的运行提供了所需环境。
JVM (Java Virtual Machine ) : Java 虚拟机,它是整个java实现跨平台的最核心的部分。
关系:
JDK 包含了 JRE , 同时包含了编译 Java 源码的编译器 Javac ,还包含了很多Java程序调试和分析工具。
简单来说就是,如果你要运行编译后的 java 程序也就是 .class 文件,只需安装 JRE 就可以了,如果你需要编写或编译 Java 程序,就需要安装 JDK 了。
现在我们对三者有了一个大概的了解,那么再深入的了解一下 !
图一
图二
可以发现两个 JRE 文件夹, 细看之下内容基本是一样的,如果只是 java 程序的使用者,用图一下的 JRE 就好了。
JDK 中的 JRE 目录是自带的,你如果安装了JDK必然会有一个 JRE ,问题来了为什么会有两套 JRE 呢?
举个例子(为啥有两套 JRE):在任意文件夹下运行 cmd 键入 javac
报错的原因就是输入的javac的命令不是去JDK中bin目录去找的javac.exe,而是去JDK中lib目录中的tools.jar中com.sun.tools.javac.Main中执行,因此javac.exe只是一个包装器(WrapPEr),存在的目的是为了让开发者免于输入过长的指命。这个时候发现JDK里的工具几乎是用Java所编写,同属于Java应用程序,因此要使用JDK所附的工具来开发Java程序,所以自身需要附一套JRE才能运行。上图中与 jdk 同级目录下的 jre 就是用来运行一般Java程序用的。
再总结一下:
JDK 里面的工具也是用 JAVA 编写的,它们本身运行的时候也需要一套 JRE,而C:/Program Files/Java/目录下的 JRE 是用来执行我们自己编写的 JAVA 程序。当然,两套JRE中的任何一套都可以用来执行我们自己编写的JAVA程序,但是 JDK 里面的工具只能由 JDK 目录下的JRE来执行。
说一下 JVM(问题?:为什么Java程序可以实现一次编译处处运行? 那就得说说什么是jvm了)
它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,class文件并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
JVM不能单独搞定class的执行,解释class的时候JVM需要调用解释所需要的类库lib。在JDK下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。JVM+Lib=JRE
JDK下面的文件夹作用
在 JDK 目录下面有五个文件夹 ,一个 src 类库源码压缩包和几个声明文件,其他五个文件夹分别是:bin、db、include、lib、 jre, ( db 这个文件看业务需求)
总结:
总的来说,JDK包含JRE,而JRE包含JVM,JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。
Eclipse、IntelliJ IDEA等其他IDE有自己的编译器而不是用JDK bin目录中自带的。
以上是脚本宝典为你收集整理的1_JDK、JRE 和 JVM全部内容,希望文章能够帮你解决1_JDK、JRE 和 JVM所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。