java数据类型

java分两种数据类型:基本数据类型和引用数据类型

基本数据类型以及所占的字节:

1,byte :Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0;

2.short 短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0;

3.int :整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0;

4.long :长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L;

5.float :浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0;

6.double :双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0;

7.boolean :布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false;

8.char :字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空;

引用数据类型

引用数据类型分3种:类,接口,数组;

引用数据类型存储在堆中,基本数据类型存储在栈中。

基本类型类型以及对象的引用变量是存储在栈内存中, 当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。

  而对象本身的值或者说new创建的对象和数组是存储在堆内存中。 在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。在堆中产生了一个数组或者对象后,还可以在栈中定义一个特殊的变量(对象的引用变量),这个变量的取值等于数组或者对象在堆内存中的首地址,在栈中的这个特殊的变量就变成了数组或者对象的引用变量,以后就可以在程序中使用栈内存中的引用变量来访问堆中的数组或者对象,引用变量相当于为数组或者对象起的一个别名,或者代号。

  数组和对象在没有引用变量指向它的时候,才变成垃圾,不能再被使用,但是仍然占着内存,在随后的一个不确定的时间被垃圾回收器释放掉。这个也是java比较占内存的主要原因,实际上,栈中的变量指向堆内存中的变量,这就是 Java 中的指针!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值