運行在32位機器上編譯並在64位機器上運行的Java應用程序是否存在已知問題?在64位操作系統上針對32位操作系統運行時問題編譯的Java
3
A
回答
7
由32位JDK生成的字節代碼與由64位JDK生成的字節代碼相同。如果您的問題只發生在64位JVM上,是因爲JVM中存在一個錯誤,並且使用64位JDK不會產生任何影響。
2
0
沒有我能想到的,除非你明確地調用特定於環境的32位本地代碼。
像Windows這樣的操作系統使用WoW64允許32位應用程序在64位系統下運行。這是一項允許向後兼容的規定。只要本地庫只依賴於32位或僅在64位庫上,一切都很好。 JVM負責使用JIT將字節碼轉換爲適當的機器碼,所以不用擔心。
3
Java背後的思想是程序的字節碼版本對於所有平臺都是相同的。這就是爲什麼您可以在Windows機器上編譯並在Linux機器上運行生成的類和jar文件的原因。我每天都在做這樣的交叉編譯。
這包括JVM使用32位還是64位。
所以,簡單的答案是沒有,沒有問題
(更先進的回答是,如果你也使用您帶來您的Java代碼,非Java本機代碼,如DLL那麼這段代碼很可能需要重新編譯)
相關問題
- 1. 在64位操作系統上編寫程序時,程序是否會運行在32位操作系統上?
- 2. 32位/ 64位操作系統?
- 3. 在32位操作系統上運行64位jvm
- 4. 64位操作系統上的32位ActiveX DLL的問題
- 5. 在32位操作系統上運行二進制文件以在64位操作系統上運行
- 6. Windows 64位操作系統上的32位或64位Android SDK?
- 7. 32位和64位操作系統上的Java版本
- 8. 確定從32位操作系統或64位操作系統C/C++應用
- 9. 對32位系統中的64位字進行操作
- 10. 64位操作系統與32位MS辦公室問題
- 11. 使用arm v8運行32位和64位操作系統
- 12. 64位操作系統上的32位VC++可再發行?
- 13. 什麼數據類型是32位操作系統中的16位和64位操作系統中的32位?
- 14. 安裝在64位操作系統上的Windows 32位Eclipse?
- 15. 在64位架構上的32位操作系統
- 16. JNA在64位操作系統上具有32位JVM
- 17. 在64位操作系統上調試32位CASSINI(Oracle 9)
- 18. 在64位操作系統上啓動32位進程
- 19. 在64位服務器上加載32位dll操作系統
- 20. java 9可以在32位操作系統上運行嗎?
- 21. 32位操作系統上的Apache Hive
- 22. 對32位和64位操作系統的不同計算
- 23. VM Virtual Box 64位硬件上的32位操作系統
- 24. 在64位操作系統上運行的32位程序內存消耗
- 25. 在64位操作系統上以32位身份運行AnyCPU應用程序
- 26. 在Windows7 32位操作系統上的鉻生成錯誤操作系統
- 27. 32位DLL不能在64位操作系統
- 28. 在32位操作系統中使用64位dll
- 29. 開在64位操作系統32位Visual C#項目
- 30. 邏輯地址空間在64位和32位操作系統
不需要,除非你做了一件傻事 – Petesh
嗨,Petesh,你能更具體地說明你的意思是什麼「愚蠢」嗎? – Paul
從32位虛擬機編譯的代碼應該沒有問題,而不是從64位虛擬機編譯的問題。傻瓜正在做一些特定平臺。 – Petesh