剑指JAVA 001:区分JDK,JRE,JVM
定义:
JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。
JDK包含的基本组件包括:
·javac – 编译器,将源程序转成字节码
·jar – 打包工具,将相关的类文件打包成一个文件
·javadoc – 文档生成器,从源码注释中提取文档
·jdb – debugger,查错工具
我们借助JDK的安装目录来了解他们的关系。
JDK中包含JRE
jre文件夹里面有bin文件夹和lib文件夹,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。
JDK=JRE+(javac,加入,Javadoc,jdb等工具)
JRE=bin+lib(这里的bin可以理解为jvm)
说到底三者就是包含的关系:JDK包含JRE,JRE包含JVM。
JDK就是Java开发的工具包,JRE就是程序运行的环境,JVM就是程序运行的虚拟机。总结起来就是,JDK、JRE和JVM为Java的运行提供了支持。
JAVA之所以能够跨平台运行,并不是说它本身能够跨平台,而是因为JVM虚拟机的作用。例如windows系统和Linux系统肯定是不一样的,而Java程序编译之后变成字节码,JVM只对编译之后的字节码处理,JVM里面写有不同平台的API,这样即使是不同的平台,通过JVM就能运行。通俗一点来说,JVM就是一个翻译官,同样的Java程序可以翻译成不同平台可以识别的语言。