我在翻阅《Java--完整参考》这本书时,偶然发现了这样一句话“整数类型的宽度不应该被认为是它消耗的存储量,而是它为该类型的变量和表达式定义的行为。java运行时环境可以自由使用它想要的任何大小,只要类型的行为与您声明的一样”。这是否意味着java可以自由选择整数数据类型的大小(通常为4字节)?
bn31dyow1#
“整数类型的宽度不应该被认为是它消耗的存储量,JVM可以在32位实现中以32位的形式 * 存储 * Java 16位short,以提高性能...而是作为它为该类型的变量和表达式定义的行为。...但它的行为就像一个16位有符号的二进制补码整数,不管它是如何存储在内存中的。Java运行时环境可以自由使用它想要的任何大小,只要类型的行为与您声明的一样。如果一个程序需要在任何JVM上运行,那么所有JVM都需要以相同的方式处理程序及其整数。但是JVM如何实现对Java开发人员来说并不重要,这允许特定于体系结构的优化。
short
1条答案
按热度按时间bn31dyow1#
“整数类型的宽度不应该被认为是它消耗的存储量,
JVM可以在32位实现中以32位的形式 * 存储 * Java 16位
short
,以提高性能...而是作为它为该类型的变量和表达式定义的行为。
...但它的行为就像一个16位有符号的二进制补码整数,不管它是如何存储在内存中的。
Java运行时环境可以自由使用它想要的任何大小,只要类型的行为与您声明的一样。
如果一个程序需要在任何JVM上运行,那么所有JVM都需要以相同的方式处理程序及其整数。但是JVM如何实现对Java开发人员来说并不重要,这允许特定于体系结构的优化。