[英]Java programing for 64 bit JVM
幾個問題:):
如何識別當前安裝的JVM? (64位/ 32位)
在為64位JVM目標平台編程時,是否需要做一些考慮?
我的Java代碼可以在32位以及64位JVM上運行嗎?
如何在64位JVM上運行我的Java App?
如何識別我的Java App使用的JVM?
通常情況下,64位jvm會識別自己。
我看到32/64位注意事項:
是的,相同的代碼將在兩個JVM上運行。
我認為系統屬性“sun.arch.data.model”具有32/64標志。
這里有一些有用的信息: http : //www.oracle.com/technetwork/java/hotspotfaq-138619.html
在您自己的Java代碼中,您不必對32位或64位執行任何特殊操作。 與例如C和C ++不同,Java中的int
總是32位, long
總是64位(在C和C ++中,這些類型的大小取決於系統)。
沒有單獨的32位和64位版本的Java字節碼; 字節碼完全相同,無論您運行它的JVM是32位還是64位。 您不必為32位或64位不同地編譯Java源代碼。 關於功能,如果它在32位或64位JVM上運行,則對Java應用程序無關緊要。
jowierun已經提到過可能存在一些技術差異。 可能還存在性能差異; 例如,Oracle的64位JVM for Windows調整方式與32位JVM不同,它還進行其他JIT優化。 我自己注意到了我最近編寫的計算密集型應用程序; 在64位JVM上,它運行速度比在32位JVM上快得多。 (但這只是一個例子,不要把它當作任何程序在64位JVM上運行得更快的證據)。
如果您計划使用Java Native Interface(JNI)編寫本機代碼,則必須特別注意編寫將在64位和32位計算機上運行的正確C代碼。 確保在向/從java代碼傳遞參數時使用正確的Java類型(JNI為java類型提供了一組typedef),尤其是在轉換數組時。 在測試本機代碼時,使用不同的JVM測試兩種體系結構(-m32將強制GNU gcc上的32位arch)。
你有這些問題回到最前面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.