java缓存池原理讲解

Java缓存池的原理讲解

本文内容
String.intern原理

String 类是一个不可变的类,即String 对象一旦创建就不允许修改。在java7之后,创建String 对象引用会判断该对象是否存在于缓存池,如果存在直接返回缓存池结果, 如果不存在,则会将当前堆中对象的引用存放在缓存池中,在返回其引用地址。

String a=new String(“a”) 和 String a="a"的区别

只有new生成的才是对象,每个对象之间互相独立,没有new的对象都是引用,即指向一个缓存池的地址。

String a = new String(“a”)

new一个新的对象存放在堆中。他们是独立的,也就是说,同时new两个相同值的字符串对象,他们本质上地址是不相同的,只是表面上值相同。

String a="a"

每次声明,JVM会先从字符串缓存池中查找是否有值为“a”的引用地址,如果有,则直接返回此地址,如果没有则将声明一个字符串常量并将其放入字符串缓存池中并返回此地址。

最后

可以关注一下我的公众号,最近开始写公众号,我会在上面分享一些资源和发布一些csdn上发布不了的干货
在这里插入图片描述

点个关注是对博主最大的支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值