-
byte、short、int、long、float、double、char、boolean
-
byte:8位,1字节,[-128,127],默认0
-
short:16位,2字节,[-32768,32767],默认0
-
int:32位,4字节,[-2^31,2^31-1],默认0
-
long:64位,8字节,[-2^63,2^63-1],默认0L
-
float:32位,4字节,默认0.0f
-
double:64位,8字节,默认0.0d
-
boolean: 大小依赖于JVM,默认false
-
JVM在处理 boolean 值的时候会根据虚拟机本身的实现,从而将(true/false) 编译映射为整数类型的一种(int、byte、short 不排除其他类型)
-
如果boolean是单独使用:boolean占4个字节
-
如果boolean是以“ boolean 数组”的形式使用:boolean 占1个字节。
-
-
char:最小值是’\u0000’(即为0),最大值是’\uffff’(即为65,535),默认unicode编码,通常2字节
-
String:String占用内存计算公式:40 + 2*n,n为字符串长度
-
对象头(8 字节)+ 引用 (4 字节 ) + char 数组(16 字节)+ 1个 int(4字节)+ 1个long(8字节)= 40 字节
-
阿瑟Java (1):8个基本数据类型
于 2023-05-14 23:59:53 首次发布
文章详细介绍了Java中基本数据类型的内存占用,如byte、short、int、long、float、double、char及boolean的取值范围和默认值。特别指出,boolean的大小依赖于JVM实现,可能以整数类型存储。此外,还提及了String对象的内存计算公式和一个示例对象的总内存占用情况。
2127






