基本数据类型与引用数据类型的比较

基本数据类型与引用数据类型的比较

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

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

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

long:长整型,在内存中占64位,即8个字节-263~263-1,默认值0L

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

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

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

boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false
二,引用数据类型()
数组:比如:int[ ],用于存储数据,有相应的索引,是最原始的存储数据方式

String:字符串型,用于存储一串字符。

类:表示一类事物,比如动物为一类,人就是动物中的一部分。

接口

三,在堆栈中,基本数据类型与引用数据类型区别

基本数据类型:
1.在栈中分配
2.变量名指向具体的数值
3.变量在声明之后java就会立刻分配给他内存空间
4.基本类型之间的赋值是创建新的拷贝
5.“==”和“!=”是在比较值
6.基本类型变量创建和销毁很快
引用数据类型:
1.在堆中进行分配,堆的读写速度远不及栈
2.变量名指向存数据对象的内存地址,即变量名指向hash值
3.它以特殊的方式(类似C指针)指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址
4.对象之间的赋值只是传递引用
5.“= =”和“!=”是在比较两个引用是否相同,实现需要用到equals()方法
6.类对象需要JVM去销毁。
四,堆与栈之间的优缺点
栈:
1.优点在于存取速度比堆要快,仅次于直接位于CPU中的寄存器。
2.缺点在于存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享。
堆:
1.可以动态分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的。
2.要在运行时动态分配内存,存取速度较慢。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值