1. java 的内存大小?一个对象占多少内存空间?
1.1. 重要概念
① java对象在内存中占用的空间分为3类, 1. 对象头(Header)[数组对象会多个数组长度]; 2. 实例数据(Instance Data); 3. 对齐填充(Padding:保证整体是8的倍数)。而我们常说的基础数据类型大小主要是指第二类实例数据
由于HotSpot VM的自动内存管理系统要求对象起始地址必须是8字节的整数倍,换句话说,就是对象的大小必须是8字节的整数倍。
假设有类A和B,当new A()或者new B()后,实际占用的java内存是多大呢?下面就对此进行详细分析。 static class A{ String s = new String(); int i = 0; } static class B{ String s; int i; } 对象头 HotSpot虚拟机的对象头包括两部分信息: mark |