一、基础观念
1、JDK:Java Development Kit ,Java开发工具。是官网为Java应用开发者提供的一个工具包,包括了运行环境,以及一些常用的工具。
2、JRE:Java Runtime Environment,Java运行环境。它让计算机系统可以运行Java应用程序,当中包括一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类别函数库。
3、JVM:Java Virtual Machine,Java虚拟机。JVM是建立在具体的计算机操作系统之上的一个虚拟计算机,它屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(.class),就可以在多种平台上不加修改地运行。
二、JDK、JRE和JVM的关系
由上图可知,jre包含了jvm,而jdk又包含了jre。如果单纯是为了运java应用,那么只需安装jre即可。对于java开发者而言,需要编译和运行java程序,则需要安装jdk。
我们知道java程序是一次编译,处处可运行的,跨平台语言。但是不同的操作系统之间的指令等存在差异,那么Java又是怎样做到跨平台的呢?这就要靠jvm。当通过编译器把源代码(.java)编译成字节码文件(.class)后,加载到jvm后,jvm就会通过内置的解释器,把字节码翻译成对应操作系统的机器码,机器码才是操作系统能识别的语言指令。不同的操作系统,有不同的jvm。
三、程序的运行流程
上图就是从编译.java到映射到系统进程等待资源执行应用的过程。我们可以了解到 JDK、JRE和JVM三者在其中的作用。
以上就是作者为大家带来JDK、JRE和JVM关系的内容,讲述了三者的概念和作用、联系以及在应用运行的过程中的使用节点,帮助大家梳理这些底层基础。