JDK
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。
类似于现实中的螺丝刀套装工具包一样有着各种各样的花型,当你需要用到哪一个花型时候直接拿出来用就可以了。jdk就是java语言的工具包,当你需要用到哪个工具类的时候按照java的api找到相应的工具类直接拿来用即可。
JDK包含的基本组件包括:
javac – 编译器,将源程序转成字节码
jar – 打包工具,将相关的类文件打包成一个文件
- javadoc – 文档生成器,从源码注释中提取文档
- jdb – debugger,查错工具
- java – 运行编译后的java程序(.class后缀的)
- appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
- Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
- Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
- Jconsole: Java进行系统调试和监控的工具
JRE
JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
类似于现实中养鱼一样,水是鱼的生存环境。鱼离开水就无法生存,而jre是java的生存环境,java离开jre也无法运行。
包括两部分:
Java Runtime Environment:
是可以在其上运行、测试和传输应用程序的Java平台。
它包括Java虚拟机(jvm)、Java核心类库和支持文件。
它不包含开发工具(JDK)—编译器、调试器和其它工具。
JRE需要辅助软件—Java Plug-in—以便在浏览器中运行applet。
Java Plug-in。
允许Java Applet和JavaBean组件在使用Sun的Java Runtime Environment(JRE)的浏览器中运行,
而不是在使用缺省的Java运行环境的浏览器中运行。
Java Plug-in可用于Netscape Navigator和Microsoft Internet Explorer。
JVM
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
它就类似于每个国家有每个国家自己的语言一样,当你需要与某个国家进行语言交流的时候就,需要把你现在所说的的语言翻译成被交流国家的语言。jvm是将.class文件翻译成不同的平台下机器可识别的指令。
- 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。
- Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,
- 使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),
- 就可以在多种平台上不加修改地运行。
- Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
- 这就是Java的能够“一次编译,到处运行”的原因。
总结:
jdk开发中用
jre运行时用
jvm解决了跨平台:把class文件编译成别的平台认可的文件