Java中对象的大小
2017-08-20 12:27
176 查看
Java中数据的类型分为8种基本类型和非基本类型,这里要说的就是非基本类型的Java对象的大小
1.先说一下java中的8种基本类型的大小:
2.上面展示了java中最常用的基本类似的数据大小,还有就是我们日常用到最多的String的大小:
String内部使用一个char[]数组来存放字符串的内容,数组下标是整型
整型(Java规定32位)表示范围是2G,也就是说,Java数组最大的长度是2G,即字符串不能超过2G个字符。
3.下面再介绍一下java中的对象的大小:
在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小:
在java的栈中,一个对象只对应了一个4btye的引用,所有上面的ob对象的大小就是8byte(堆中)+4byte(栈中)
所有的Java非基本类型的对象都需要默认继承Object对象,因此不论什么样的Java对象,其大小都必须是大于8byte
这里再举个例子:
其大小为:空对象大小(8byte)+int大小(4byte)+Boolean大小(1byte)+空Object引用的大小(4byte)=17byte。但是因为Java在对对象内存分配时都是以8的整数倍来分,因此大于17byte的最接近8的整数倍的是24,因此此对象的大小为24byte
最后再说一下注意的地方:
1.先说一下java中的8种基本类型的大小:
ava数据类型 字节 表示范围 byte(字节型) 1 -128~127 short(短整型) 2 -32768~32767 int(整型) 4 -2147483648~2147483647 long(长整型) 8 -9223372036854775808 ~ 9223372036854775807 float(浮点型) 4 -3.4E38~3.4E38 double(双精度型) 8 -1.7E308~1.7E308 char(字符型) 2 从字符型对应的整型数来划分,其表示范围是0~65535 boolean(布尔型) 1 true或false
2.上面展示了java中最常用的基本类似的数据大小,还有就是我们日常用到最多的String的大小:
String内部使用一个char[]数组来存放字符串的内容,数组下标是整型
String的构造方法:String(char value[], int offset, int count)
整型(Java规定32位)表示范围是2G,也就是说,Java数组最大的长度是2G,即字符串不能超过2G个字符。
3.下面再介绍一下java中的对象的大小:
在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小:
Object ob = new Object();
在java的栈中,一个对象只对应了一个4btye的引用,所有上面的ob对象的大小就是8byte(堆中)+4byte(栈中)
所有的Java非基本类型的对象都需要默认继承Object对象,因此不论什么样的Java对象,其大小都必须是大于8byte
这里再举个例子:
Class NewObject { int count; boolean flag; Object ob; }
其大小为:空对象大小(8byte)+int大小(4byte)+Boolean大小(1byte)+空Object引用的大小(4byte)=17byte。但是因为Java在对对象内存分配时都是以8的整数倍来分,因此大于17byte的最接近8的整数倍的是24,因此此对象的大小为24byte
最后再说一下注意的地方:
1.java中的8中基本对象的大小是固定的 2.java中一个空Object类的大小是8byte 3.Java非基本类型的对象都需要默认继承Object对象,因此其大小都大于8byte 4.Java在对对象内存分配时都是以8的整数倍来分,不是整数倍的需要找就近的8的整数倍
相关文章推荐
- JVM概念中的Java对象的大小,以及三种引用类型的定义与区分
- 实现一个sizeof获取Java对象大小
- Java程序计算各种对象所占内存的大小的方法
- Java拾遗]Java对象大小探究
- java对象占内存大小
- 如何计算java对象的大小
- JVM概念之Java对象的大小与引用类型
- java计算对象占用内存大小:lucene专用于计算堆内存占用大小的工具类
- java-判断相同和对象比较大小
- 准确计算Java中对象的大小
- JVM —— Java 对象占用空间大小计算
- 如何查看Java对象占用JVM内存大小
- java如何获取对象在内存中的大小
- JAVA——对象所占内存空间大小的计算
- [Java拾遗]Java对象大小探究
- Java对象结构及大小计算
- 测量Java对象所占内存大小
- java中计算对象内存大小
- java计算内存大小 java计算对象占用内存大小
- java对象占用内存大小计算方式