java缓冲池

类型

java的缓冲池分为两种,数值型的和字符串类型的。缓冲池空间位于垃圾收集器管理的内存之外。 这是分配本地堆外内存的一种方法。

字符串缓冲池

String被声明为final,因此它不可被继承。在java8中,String内部使用char数组存数据。

数值型缓冲池

Boolean,缓存了 true/false 对应实例,确切说,只会返回两个常量实例Boolean.TRUE/FALSE。
Short,同样是缓存了 -128 到 127 之间的数值。
Byte,数值有限,所以全部都被缓存。
Character,缓存范围’\u0000’ 到 ‘\u007F’。
Integer,-128 到 127 之间的数值。
Long,-128 到 127 之间的数值。

举例

Integer的IntegerCache
当符合i >= IntegerCache.low && i <= IntegerCache.high时返回IntegerCache.cache[i + (-IntegerCache.low)]

当不符合时返回new Integer(i)。

根据IntegerCache的源码,得到low为-128,high为127,即Integer的缓冲池大小为1个字节。

则当Integer直接赋值时,值-128到127之间时,创建的对象存放在常量池中,直接从常量池中获取数据。

参考

Java中long和double的原子性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盖丽男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值