对于 32位系统中的Java整数对象,内存为4字节(对于类指针)+ 4字节(对于标志)+ 4字节(对于锁)+ 4字节(对于int) )= 16字节。在 64位系统中,整数对象的内存为8字节(对于类指针)+ 8字节(对于标志)+ 8字节(对于锁)+ 4字节(对于int)= 28字节。填充到32字节。但是32位系统如何为整数对象提供32字节。其余的16字节是否来自填充?
如果是填充,那么使它与64位系统相同是什么用途。因为即使它是16字节(在32位系统中),也不会出现范围内的任何问题。
为了澄清,我建议以下文章。
http://www.ibm.com/developerworks/java/library/j-codetoheap/index.html