读 Differences between JDK, JRE and JVM

JDK

Java Development Kit
Java applications and applets 的开发环境。它包括 JRE,java解释/加载工具( java),编译工具( javac ),归档工具( jar ),文档生成工具( javac ) 以及其他的 java 开发需要的工具

JRE

Java RunTime Environment

运行 java 程序所需要的最小要求,包括 JVM,core classes 以及 supporting files

JVM

Java Virtual Machie

JVM 规格说明书规定了 JVM 是如何工作的,具体的实现算法有各个实现者选择。当我们在命令行运行 java class 的时候,就会创建一个 JVM 实例

JDK vs JRE vs JVM

读 Differences between JDK, JRE and JVMJDK 仅仅用于 Java Developers,它包括:

  1. 开发工具,用来提供 Java 开发环境来开发 java 程序
  2. JRE,用来运行 java 程序

JRE 仅仅是用来运行 java 程序的
提供运行 java 程序的环境

JVM 是 JRE 和 JDK 的重要组成部分
使用 JRE 或者 JDK 来运行 java 程序,最终 java 程序都会进入 JVM,然后 JVM 负责一行一行的执行 java code

JRE 包括什么?
  • Deployment technologies
    including deployment, Java Web Start and Java Plug-in.
  • User interface toolkits
    including Abstract Window Toolkit (AWT), Swing, Java 2D, Accessibility, Image I/O, Print Service, Sound, drag and drop (DnD) and input methods.
  • Integration libraries
    including Interface Definition Language (IDL), Java Database Connectivity (JDBC), Java Naming and Directory - - Interface (JNDI), Remote Method Invocation (RMI), Remote Method Invocation Over Internet Inter-Orb Protocol (RMI-IIOP) and scripting.
  • Other base libraries
    including international support, input/output (I/O), extension mechanism, Beans, Java Management Extensions (JMX), Java Native Interface (JNI), Math, Networking, Override Mechanism, Security, Serialization and Java for XML Processing (XML JAXP).
  • Lang and util base libraries
    including lang and util, management, versioning, zip, instrument, reflection, Collections, Concurrency Utilities, Java Archive (JAR), Logging, Preferences API, Ref Objects and Regular Expressions.
  • Java Virtual Machine (JVM)
    including Java HotSpot Client and Server Virtual Machines.
总结

读 Differences between JDK, JRE and JVM

链接

Differences between JDK, JRE and JVM