我们知道C语言的指针地址占多少位是依据系统位数而定的,也就是32位的系统占32位,64位的系统占64位。
我们在64位JVM中,想要通过压缩地址来节约32空间,那么该如何压缩?能表示多少对象空间?
在JVM中,一个Object对象在32位中占8byte,所以最小对象为8byte,所以对象对齐的大小为8byte对齐(8的倍数)。
2^32 * 8byte = 32G
所以指针压缩模型,最大只能支持32G。
我们知道C语言的指针地址占多少位是依据系统位数而定的,也就是32位的系统占32位,64位的系统占64位。
我们在64位JVM中,想要通过压缩地址来节约32空间,那么该如何压缩?能表示多少对象空间?
在JVM中,一个Object对象在32位中占8byte,所以最小对象为8byte,所以对象对齐的大小为8byte对齐(8的倍数)。
2^32 * 8byte = 32G
所以指针压缩模型,最大只能支持32G。