虚拟机基础概念-JVM、JRE、JDK间的关系

JVM

JVM即java虚拟机,它主要有一个功能就是将编译好的class文件进行解释执行,因为class文件不能由操作系统直接执行,需要有JVM解释方可执行。

JRE

JRE是指java运行时环境,class文件在运行时需要调用各种java的类库,即JVM要想运行class文件必须要依赖JRE中的lib库,可以认为,JVM+lib组成JRE。JRE主要面向用户,主要是class文件的运行,假如有编译好的class文件和JRE,那么就可以直接运行class了。

JDK

JDK即java开发工具包。JDK主要面向开发者,具有java的编译功能。
虚拟机基础概念-JVM、JRE、JDK间的关系

在一个java工程中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、jre,其中bin是最主要的是编译器(javac.exe) ,include是java和JVM交互用的头文件,lib是核心类库 ,jre是java运行环境。