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.