读 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
JDK 仅仅用于 Java Developers,它包括:
- 开发工具,用来提供 Java 开发环境来开发 java 程序
- 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.