我在問自己,如果JRE來自不同的操作系統(例如:Windows,Linux,Mac等),都是不同的和平臺相關的?我問這個問題的原因是因爲如果Java Bytecode與平臺無關,那意味着某個操作系統的JRE必須實現相同的字節碼,這與操作系統有點不同?提前致謝。不同的OS JRE有什麼不同?
1
A
回答
4
Java運行時環境(JRE)依賴於平臺;儘管它們運行的是相同的Java字節碼。
+0
沒錯。從本質上講,JRE的目的是爲了使Java本身獨立於平臺(至少儘可能)。 –
1
的JRE中都是平臺和體系結構相關的,但所有平臺之間的字節碼和JVM功能相同(還有架構x86和x64之間的差異)
1
JRE是Java運行時Environment.It的縮寫用於提供運行時環境,它提供了JVM +庫(jvm需要這些庫)以及運行用Java編寫的applet和應用程序的其他組件。
Java虛擬機(JVM)是運行Java字節碼的虛擬機。 JVM不理解Java源代碼,這就是爲什麼編譯* .java文件以獲取包含JVM可理解的字節碼的* .class文件的原因。所以你只需編寫一次代碼(生成.class文件)並在不同的JVM上運行它。有不同系統的JVM的具體實現(Windows,Linux ..)。 JVM負責完成這些任務加載類,驗證代碼,執行代碼和提供運行時環境。
還有一個名爲JDK的術語,它由JRE +開發工具組成。
相關問題
- 1. Data.Void.absurd與⊥有什麼不同?
- 2. 「((...))」與「(...)」有什麼不同?
- 3. CoreData有什麼不同
- 4. 定義ID有幾種不同的方式。有什麼不同?
- 5. Android:爲什麼不同的AsyncTask有不同的TID?
- 6. android-爲什麼不同的設備有不同的Action_mask值
- 7. 爲什麼不同的操作員有不同的關聯性?
- 8. openjdk-7-jre-headless VS openjdk-7-jre與有什麼不一樣?
- 9. SilverStripe可以做什麼不同類型的「刷新」,它們有什麼不同?
- 10. 有什麼不同的綁定在WCF
- 11. sudo有不同的環境,爲什麼?
- 12. 爲什麼有不同的Ruby實現?
- 13. 我不知道什麼是argv和raw_input()有什麼不同?
- 14. 設置JRE到不同版本
- 15. Java的「同步」和C#的「鎖定」有什麼不同嗎?
- 16. 爲什麼相同的代碼有不同的結果
- 17. 爲什麼不同的HTML ID具有相同的風格?
- 18. 爲什麼會有不同的語法相同的結果?
- 19. HTML和WML/WAP有什麼不同?
- 20. Log4J 1.2和Log4J 2.0有什麼不同?
- 21. 與ramda.js代碼有什麼不同?
- 22. 鏈接方法有什麼不同
- 23. EQU對DC.B.有什麼不同?
- 24. Python - 信號與pubsub有什麼不同?
- 25. 爲什麼在Django 1.8有不同urls.py
- 26. oslo.config和oslo_config有什麼不同?
- 27. ArrayListMultimap與LinkedListMultimap有什麼不同?
- 28. Html.Label和Html.Display有什麼不同?
- 29. iText,JasperReports和Adobe LC有什麼不同?
- 30. UIButton事件。有什麼不同?
Java是平臺獨立的,因爲許多平臺都有依賴於平臺的編譯器/解釋器。它是獨立於平臺的,因爲我們不必將代碼更改爲在不同的平臺上運行,但是我們必須使用平臺特定的JRE版本來運行程序。 – 11thdimension
這幾乎是圍繞Java的核心概念--JRE是平臺特定的,字節碼不是。 – stdunbar
雖然字節碼不依賴於操作系統,但Java虛擬機是。 –