java中关于基本类型和数组的一些注意问题

本文深入探讨了Java中基本类型与对象的区别,包括基本类型的存储方式、生命周期,以及与之相关的高级类型如BigInteger和BigDecimal。同时阐述了Java数组的安全机制与基本类型的生命周期特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于基本类型,java采用与C,C++相同方法,这些并非引用的自动变量直接存储值,并置于堆栈中,注意堆栈即栈,不是堆空间;这些基本类型所占存储空间的大小,并不像其他大多数语言那样随机器硬件架构的变化而变化。

所有的数值类型都有正负号,java中没有无符号的数值类型。

boolean类型所占存储空间大小没有明确指定,仅定义为能够取字面值true或false。

java提供了两个用于高精度计算的包装类:BigInteger,BigDecimal,一般的基本类型都有对应的包装类,如int对应于包装类Interger,但是这两个包装类没有对应的基本类型。

在C,C++中使用数组很危险,因为C,C++中的数组就是内存块;java确保数组会被初始化,而且不能在它的范围之外被访问,这种范围检查是以每个数组上少量的内存开销及运行时的下标检查为代价的。

java对象不具备和基本类型一样的生命周期,当用new创建对象之后,它可以存活于作用域之外,这就涉及到堆内存和堆栈内存的存储方式问题了,堆内存中的对象在不使用时由垃圾收集器回收,而堆栈中的变量则是自动回收的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值