当前位置 博文首页 > 立志欲坚不欲锐,成功在久不在速度:JAVA - JDK、JVM、JRE 是什

    立志欲坚不欲锐,成功在久不在速度:JAVA - JDK、JVM、JRE 是什

    作者:[db:作者] 时间:2021-07-31 14:57

    前言:? ?前段时间就已经安装了JAVA,也学习了一段时间的Java的基础知识,有些词一直出现眼前,但是也从来没有去搞清楚这些东西的作用,今天就来学习一下关于?JAVA中的?JDK、JVM、JRE?

    JVM? (java?Virtual?Machine)?Java虚拟机:

    ? ? ? ? ? ?是整个java实现跨平台最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,class并不会直接和电脑的操作系统对应,而是通过虚拟机间接的和操作系统交互,我们都知道Java是跨平台的,其实是它的JVM能够跨平台。

    ?

    JRE (java?Runtime?Environment)?Java运行环境:

    ? ? ? ? ?JRE是java运行环境,并不是开发环境。? 光有JVM还不能使class的执行,因为在解释class的时候JVM需要调用解释需要的类库lib,我们在安装了JDK之后在目录中可以发现jre?目录,jre里面有两个文件夹 bin?和?lib ,这里我们可以把bin就认为是JVM ,

    而lib中则放着JVM工作需要的类库,而jvm和lib合起来就称为JRE 。?

    ? ? ? ? 所以,我们在写完java程序后,编译成.class?文件后,可以把这个文件?和 jre?一起打包发给朋友,这样就可以运行我们的程序了

    ?JDK (Java?Development?kit)java开发工具包?

    ? ? ? ? ? ??Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。

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

    JDK、JRE、JVM?三者的联系:

    JVM不能单独完成class文件的执行,解释class文件的时候JVM需要调用解释需要的类库lib。在JDK下面的jre目录里有两个文件夹bin和lib,可以认为bin里面就是jvm? lib中是jvm工作需要的类库,jvm和lib联合起来就是JRE

    总体来说就是,我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用

    ?

    cs