JDK是JRE的超集。 JDK具有必要的工具,如javac java.exe調試器等+ JRE。 但JRE具有JVM的特定實現。完全與java.exe混淆
我的假設是java.exe或java應用程序啓動器是解釋器(請糾正我,如果我錯了)。另外,JVM也會進行解釋。
最後是JVM的解釋器部分還是JDK工具的一部分?請解釋。
JDK是JRE的超集。 JDK具有必要的工具,如javac java.exe調試器等+ JRE。 但JRE具有JVM的特定實現。完全與java.exe混淆
我的假設是java.exe或java應用程序啓動器是解釋器(請糾正我,如果我錯了)。另外,JVM也會進行解釋。
最後是JVM的解釋器部分還是JDK工具的一部分?請解釋。
你是對的java.exe是是你的代碼被通過與底層操作系統進行通信執行的JVM(Java虛擬機)和JVM解釋
它是什麼解釋? – 2014-09-24 15:42:09
@SotiriosDelimanolis Java字節碼? – 2014-09-24 15:43:53
但我的問題是,如果我的系統中只有JRE,那麼JVM如何使用實際上是JDK工具一部分的解釋器。 – karthik4621 2014-09-24 18:16:19
@ karthik4621的java.exe/javaw進程的應用是JRE的一部分查看JRE安裝目錄以查找bin文件夾,找到可執行文件以及與JDK一起發現的java.exe也是一樣的:)爲了更好地瞭解這個問題,我建議你通過oracle文檔以及快速刷JDK/JRE安裝位置的內容的更新 -
嘗試使用可用的java.exe JRE的bin目錄解釋一個字節代碼(任何每個已編譯的.class文件以瞭解其差異,並確保在JDK安裝位置刪除指向java.exe的路徑環境變量) – snoopy 2014-09-24 19:55:20
java.exe
既不是JVM也不是解釋器。這是一個發射 - 通常是C語言編寫的一個小程序,它具有以下功能:
jvm.dll
)main()
方法JNIJRE大致由
jvm.dll
rt.jar
java.dll
,net.dll
,nio.dll
,awt.dll
等現在,字節碼解釋器,字節碼校驗器,類裝載器,JIT編譯器,垃圾收集和許多其他很酷的東西 - 都是Java虛擬機的一部分。
非常感謝您的解釋 – karthik4621 2014-10-14 14:40:52
我總是輕輕地建議我的朋友研究文檔的。 - [相關StackOverflow問題](http://stackoverflow.com/questions/1906445/what-is-the-difference-between-jdk-and-jre) – Coffee 2014-09-24 15:31:48
我的問題是不是區別b/w JDK,JRE等。我懷疑的是,如果我的系統中只有JRE,那麼JVM如何使用實際上是JDK工具一部分的解釋器。 – karthik4621 2014-09-24 18:31:28
@ karthik4621 JRE *是* JVM(再加上一點點)。它*是字節碼解釋器。 – 2014-09-24 19:51:35