- JDK: java development kit
- JRE: java runtime environment
- JVM: java virtual machine
JDK : Java开发工具包,是程序员用Java语言编写程序时所需要的开发工具包,是提供给开发人员使用的,jdk包含了JRE,javac以及其他开发相关的,调试,分析的工具软件,还包含了Java程序编写所需的文档和一些demo子程序
JRE: java运行时环境,包含了Java虚拟机,Java基础类库,是使用Java语言编写的程序运行时所需要的软件环境,提供给想运行Java程序的用户去使用;
JVM; java虚拟机,是一个抽象的机器,是一个规范,提供可以执行字节码的运行时环境
补充:1. jvm常见的实现有:参考: https://www.zhihu.com/question/29265430
* HotSpot VM
* J9 VM
* Zing VM
*
2. JIT 一种优化机制,java语言的平台无关性是依靠jvm来实现,是解释执行的逻辑,JIT优化可以将一些高频字节码编译之后的机器码保存下来,下次直接执行机器码,从而提升性能,采用JIT技术可以使性能接近纯编译技术
参考:https://developer.ibm.com/zh/articles/j-lo-just-in-time/