java程序运行在64位jvm上需要付出较大的额外代价
1, 内存问题
由于指针膨胀和各种数据类型对齐补白的原因, 运行于64位系统上比32位增加10%-30%的内存消耗
2,运行速度
比32位慢15%
32位的内存最大4G, 无法满足需求, 这就是64位的意义了。
2^32 = 4,294,967,296
32位操作系统针对的32位的CPU设计。CPU内部寄存器和寻址总线是32位,指令集可以运行32位数据指令,也就是说一次可以提取32位数据(4个字节,32bit=4Byte)。32位CPU有4G左右的内存寻址空间。
1, 内存问题
由于指针膨胀和各种数据类型对齐补白的原因, 运行于64位系统上比32位增加10%-30%的内存消耗
2,运行速度
比32位慢15%
32位的内存最大4G, 无法满足需求, 这就是64位的意义了。
2^32 = 4,294,967,296
32位操作系统针对的32位的CPU设计。CPU内部寄存器和寻址总线是32位,指令集可以运行32位数据指令,也就是说一次可以提取32位数据(4个字节,32bit=4Byte)。32位CPU有4G左右的内存寻址空间。