JRE、JDK和JVM的介绍:
JRE(Java Runtime Environment, Java运行环境)是Java平台,所有的程序都要在JRE下才能够运行。包括JVM和Java核心类库和支持文件。
JDK(Java Development Kit,Java开发工具包)是用来编译、调试Java程序的开发工具包。包括Java工具(javac/java/jdb等)和Java基础的类库(java API )。
JVM(Java Virtual Machine, Java虚拟机)它是整个 java实现跨平台的最核心的部分,所有的 java 程序会首先被编译为.class 的类文件,这种类文件可以在虚拟机上执行。JVM是JRE的一部分。真正运行Java程序的地方。
JVM 主要由四大部分组成:ClassLoader(类加载器),Runtime Data Area(运行时数据区,内存分区),Execution Engine(执行引擎),Native Interface(本地库接口)。
这四部分是两个组件和两个子系统,分别为:
(1)Native Interface(本地库接口):与native lib(本地方法库)交互,融合其他编程语言为Java所用,是与其它编程语言交互的接口
(2)Runtime data area(运行时数据区):即常说的JVM内存
(3)Class loader(类加载子系统):根据全限定类名装载class文件到运行时数据区的方法区中
(4)Execution engine(执行引擎子系统):也叫解释器,负责解释class指令,再提交给操作系统执行
三者的关系:
使用JDK开发JAVA程序后,通过JDK中的编译程序(javac)将Java程序编译为Java字节码,在JRE上运行这些字节码,JVM会解析并映射到真实操作系统的CPU指令集和OS的系统调用。










网友评论