我想知道在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