JDK:开发java程序用的开发包,其中包含了java编译器,JVM,大量的java工具,java类库,java语言规范。JDK仅仅是开发环境,比如你写代码的时候要用到自带的类,必须要有JDK,但是如果你想要运行这个java程序,必须要有JRE。一般会将JRE分在JDK里面,但是我们学习将他们分成两部分。
JRE:java的运行环境,包含java虚拟机,java基础类库,是用java语言编写的程序运行时所需要的软件环境,是提供给想运行java程序的用户使用的。就是运行.class字节码文件,然后让jvm进行相应的解析。
JDK是java语言的软件开发工具包 包括了 java运行环境(jre),一堆java工具(javac/java/jdb)和java基础类库(java API)
JVM是一个虚构出来的计算机,java语言使用jvm屏蔽了与具体平台相关的信息,使得java语言编译程序只需生成在java虚拟机上运行的目标代码(字节码),jvm会将字节码解释成具体平台的机器指令执行,这就是java能够一次编译,到处运行的原因。
我们利用JDK(调用javaAPI)开发属于我们的java程序
通过JDK中的编译程序(javac)将我们写的.java编译成.class
在JRE上面运行这些java字节码,jvm解析这些字节码,翻译成具体平台的机器指令。
执行顺序 :JDK----JRE----JVM----OS