我用java編寫了一些程序,但是我想知道它們是32位還是64位,我的意思是如果它是64位,它將如何在32位計算機上運行?如何判斷我寫的程序是32位還是64位?
回答
我用Java寫了一些程序,但我想知道他們是否是32位或64位
都不是。您的Java程序不是特定的32位或64位。
所有的java程序都應該運行在每一個最新的Java實現上。
當你編譯一個java程序時,它變成了Java bytecode,它通常獨立於你編譯的平臺和運行它的平臺。
這個問題要回答一些問題,爲您提供:Java 32-bit vs 64-bit compatibility
雖然64位Java實現可能會處理一些64位操作更好,應該是沒有區別爲程序的運行(假設你不是活得t使用需要64位實現的庫)。
它由JRE決定。存在JRE和64位版本的32位版本。
編譯Java程序獨立於系統架構。 在情況下,如果要檢查JVM位大小爲某些特定情況下,你可以使用
System.out.println("JVM Bit size: " + System.getProperty("sun.arch.data.model"));
一般我們從來不寫代碼,我們可以說,32位或64位。它實際上取決於JRE和機器。其餘部分由JVM和CPU管理。
例如,如果我們在32位機器上使用64位基本類型long或double,那麼即使像long var = 10l;
這樣的分配操作也不會是原子操作。它會發生在32位的兩個階段。
但是相同的賦值操作將是64位的原子操作。
你的答案是正確的,你可以添加信息從http://howtodoinjava.com/core-java/basics/difference-between-32-bit-java-vs-64-bit-java/爲未來的參考和完整性 – Pfeiffer
在64位jvm中讀寫long和double類型的值不是原子的。jvm沒有指定它。並且jls定義了:'對於Java編程語言的存儲器模型而言,單個寫一個非 - 易失性長或雙值被視爲兩個獨立的寫入:每個32位一半。 Java虛擬機的實現可自由地執行寫入長和雙值的原子或兩部分.',並且不需要32位或64位 – dabaicai
@Pfeiffer不,這個答案是不正確的。 **這個答案是非常錯誤的。**閱讀Java規範[17.7。非原子治療雙重和長期](http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7):它明確表示,有***沒有*保證原子寫入'double'或'long' **,除非標記爲volatile。 JVM實現*可能*執行原子寫入,但沒有Java程序員應該依賴它。如果使用多線程,則必須防止不正確地讀取半寫的64位數字。 –
- 1. 如何判斷應用程序是64位還是32位?
- 2. 如何判斷我的cygwin安裝是32位還是64位?
- 3. 如何判斷應用程序是以32位還是64位模式運行?
- 4. 如何判斷我的現有Amazon EC2實例是32位還是64位?
- 5. 如何判斷我的應用程序是作爲32位還是64位應用程序運行的?
- 6. 無論系統是32位還是64位,int都是32位還是64位?
- 7. 如何檢測Cocoa應用程序是32位還是64位?
- 8. 如何檢查我的Perl安裝是32位還是64位?
- 9. 檢查應用程序是建立在32位還是64位?
- 10. 知道程序集是64位還是32位
- 11. 無論系統是32位還是64位,uint均爲32位?
- 12. 使用WMI,我如何確定遠程進程是32位還是64位?
- 13. 如何確定進程ID(PID)是32位還是64位應用程序?
- 14. 我在x86-64 PC上運行32位Windows。我應該下載32位還是64位的Python安裝程序?
- 15. 如何檢查安裝的wxPython是32位還是64位?
- 16. 如何檢查安裝的Anaconda是32位還是64位?
- 17. 如何檢測,如果CPU是32位還是64位
- 18. 我怎麼知道gcc的版本是64位還是32位?
- 19. 檢查正在運行的進程是32位還是64位
- 20. 如何確定System.Diagnostics.Process是32位還是64位?
- 21. 如何知道libpython27.a是32位還是64位?
- 22. 如何找到它是32位還是64位? Tomcat
- 23. 如何檢查WebSphere是32位還是64位?
- 24. 在VBScript中有一種方法可以判斷它是作爲32位還是64位進程運行的嗎?
- 25. 有沒有辦法檢查進程是64位還是32位?
- 26. 如何以編程方式確定特定進程是32位還是64位
- 27. 如何使用c程序找到我的機器是16位還是32位或64位
- 28. 使用C#,如何得到我的機器是64位還是32位?
- 29. 如何確定我的操作系統是32位還是64位?
- 30. 如何查找我的Amazon EC2實例是32位還是64位?
你只會運行它,除非你做了一些特殊的java處理所有的東西給你。正常的java代碼不關心你是否在64或32位jvm上運行它。 – Oleg
Java程序既不是32位也不是64位。只要有合適的JVM,它就可以運行。 – EJP