A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© WakeUp 中级黑马   /  2014-11-2 22:02  /  1464 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 WakeUp 于 2014-11-3 19:31 编辑

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

5 个回复

倒序浏览
类的对象都是通过new来获得的,常量池就是说在创建对象前,会先去池中找下有没有相同的对象已经存在,如果有,则直接把地址指向对象,如果没有 才会创建对象。
回复 使用道具 举报
striker 发表于 2014-11-3 08:09
类的对象都是通过new来获得的,常量池就是说在创建对象前,会先去池中找下有没有相同的对象已经存在,如果 ...

是不是常量池内的对象也有一个地址值
String s1 = "abc";指向的是常量池内的地址
String s2 = new String("abc");s2指向堆内存中的一个地址,堆内存中存放的是常量池中对象的地址?
回复 使用道具 举报
应该就是一些常用的对象不需要你创建,内存有,这些对象使用很频繁,你自己建会降低效率吧
回复 使用道具 举报
常量都放在了一个专门放常量的地方,常量本身是不可改的。所以可以是可以重用的,这样可以节省空间,提高效率。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马