我想知道在x86和x64中long是64位嗎?在32位和64位機器中總是長64位
回答
是的。 Java long
在任何JVM上都是64位,無一例外。所有Java基元類型都是完全可移植的,並且在所有實現中都具有固定大小。
JLS參考:http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2.3 – Mat 2012-01-06 15:08:53
是的。 A long
被稱爲64位整數。
原始類型始終是相同的大小。只有引用可以改變大小,但你通常不需要知道這一點。
您可以
int addressSize = Unsafe.addressSize();
注獲得參考的尺寸:即使是在64位JVM(在最新的Java的JVM 6+),引用是32位的,但除非你使用32 GB堆或更大。這是OpenJDK/Sun/Oracle JDK的默認值,但是@ user988052指出,IBM JVM需要在命令行上設置適當的標誌。其他JVM可能根本不支持此選項。
*即使在64位JVM(在最新的Java 6+ JVM上)中,引用是32位,除非你使用32 GB的堆或更大* ...是不是依賴於JVM? * -XX:Oracle/Sun JVMs上的+ UseCompressedOOps *現在確實是默認的,但據我所知,例如IBM JVM明確指出,如果您不*使用* Xcompressedrefs * VM參數,那麼引用在默認情況下存儲在64位... – TacticalCoder 2012-01-06 16:12:55
我已更新我的答案,包括您的評論,謝謝。 – 2012-01-06 16:21:08
- 1. asp.net中的64位和32位機器
- 2. 在32位和64位平臺上總是處理32位?
- 3. 在64位機器上生成32位
- 4. C# - 在32位和64位
- 5. 在32位和64位
- 6. 32或64位機器
- 7. 64位機器上的SQL Server 2012 32位或64位?
- 8. 64位debian和32位酒
- 9. 32位和64位性能
- 10. 32位和64位的ODP.NET
- 11. ODBC .NET 32位和64位
- 12. Gluegen 32位和64位庫
- 13. Java 32位和64位
- 14. 32位和64位CPU/OS
- 15. 無論系統是32位還是64位,int都是32位還是64位?
- 16. 需要在32位長的機器上執行64位乘法
- 17. MySQL 32位或64位 - Apache 32位Windows 64位?
- 18. int_max在32位和64位環境中
- 19. 啓動64位進程修改32位和64位.NET machine.config中
- 20. 64位機器上的32位或64位虛擬機速度更快(vmware)
- 21. 在64位機器上調用64位Dephi DLL從C#在64位機器上
- 22. 在同一臺機器上Python和oracle 32位和64位instaclient
- 23. XOR高32位,低32位,64位數
- 24. 在Windows 7 64位機器上將32位exe轉換爲64位exe
- 25. 編碼/在32位和64位
- 26. 鍵盤消息在32位和64位
- 27. SWT在32位和64位JRE
- 28. C++ INT VS在64位機器長長
- 29. 32位OpenFileDialog - > 64位System32?
- 30. Xcode&64位&32位問題
Google「java long length」。 – 2012-01-06 15:09:19