JAVA - JDK、JVM、JRE 是什么?

前言:   前段时间就已经安装了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的系统调用

发布了136 篇原创文章 · 获赞 34 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_30631063/article/details/104059554