Java常量池学习总结-1
来源:互联网 发布:ubuntu不显示eth 编辑:程序博客网 时间:2024/06/18 13:26
今天复习java,将常量池这部分总结一下。
常量池技术,是为了方便快捷地创建某些对象而出现的,当需要一个对象时,就可以从池中取一个出来(如果池中没有则创建一个),则在需要重复创建相等变量时节省了很多时间。常量池其实也就是一个内存空间,常量池存在于方法区中。
JVM的编译器将源程序编译成class文件后,会用一部分字节分类存储常量。这些常量集中在class中的一个区域存放,一个紧接着一个,就称为“常量池”。其中包括了关于类,方法,接口等中的常量,也包括字符串常量,如String s ="java"这种申明方式;对于String s = "java",在编译成.class时能够识别为同一字符串的,自动优化成常量,所以如果有多个字
符串"java",则它们都会引用自同一String对象。也就是说String s = "java"其中"java"值在JAVA程序编译期就确定下来了的。
intern方法会尝试将字符串添加到常量池中,并返回其在常量池中的地址,当常量池中已有该字符串时,intern方法会直接返回地址。
java中基本类型的包装类的大部分都实现了常量池技术,这些类是Byte,Short,Integer,Long,Character,Boolean,两种浮点数类型的包装类则没有实现。Byte,Short,Integer,Long,Character这5种整型的包装类也只是对从-128 到 127的对象使用对象池
利用缓存机制实现常量池:为了减少不必要的内存消耗和内存开辟次数,Integer 里做了一个缓存,缓存了从 -128 到 127 之间的 Integer 对象,总共是256个对象。
- Java常量池学习总结-1
- java学习--常量池
- java常量池测试总结
- java String、常量池、StringBuffer总结
- Java常量池理解与总结
- Java常量池理解和经典总结
- Java常量池理解与总结
- Java常量池理解与总结
- Java常量池理解与总结
- Java常量池理解与总结
- Java常量池理解与总结
- Java 常量池理解与总结(转摘)
- Java常量池理解与总结
- Java常量池理解与总结
- Java常量池理解与总结
- Java常量池理解与总结
- Java常量池理解与总结
- Java堆.栈和常量池学习
- 多线程入门(一)
- spring mvc处理json文件静态资源文件报错Request method 'POST' not supported
- BZOJ 4565 字符合并 (区间状压dp)
- vim下设置tab来实现C原因对齐
- 硬件编程--电路与二进制运算
- Java常量池学习总结-1
- redis教程(python)
- 第一章
- localhost和127.0.0.1大致区别
- java、js、jquery中的length、length()、size()的区别
- BZOJ 3673: 可持久化并查集 by zky
- CCF考试——201703-3地铁修建
- GameEntity(四)—— Ientity
- 程序员必备的代码审查(Code Review)清单