黑马程序员技术交流社区

标题: String类的常量池技术? [打印本页]

作者: WakeUp    时间: 2014-11-2 22:02
标题: String类的常量池技术?
本帖最后由 WakeUp 于 2014-11-3 19:31 编辑

String、Integer类等都实现了常量池技术,什么是常量池技术,具体体现在哪儿?

作者: striker    时间: 2014-11-3 08:09
类的对象都是通过new来获得的,常量池就是说在创建对象前,会先去池中找下有没有相同的对象已经存在,如果有,则直接把地址指向对象,如果没有 才会创建对象。
作者: WakeUp    时间: 2014-11-3 12:36
striker 发表于 2014-11-3 08:09
类的对象都是通过new来获得的,常量池就是说在创建对象前,会先去池中找下有没有相同的对象已经存在,如果 ...

是不是常量池内的对象也有一个地址值
String s1 = "abc";指向的是常量池内的地址
String s2 = new String("abc");s2指向堆内存中的一个地址,堆内存中存放的是常量池中对象的地址?
作者: ll_shitou    时间: 2014-11-3 12:52
应该就是一些常用的对象不需要你创建,内存有,这些对象使用很频繁,你自己建会降低效率吧
作者: 银河雨    时间: 2014-11-3 16:54
常量都放在了一个专门放常量的地方,常量本身是不可改的。所以可以是可以重用的,这样可以节省空间,提高效率。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2