java缓冲池

Posted 盖丽男

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的原子性

以上是关于java缓冲池的主要内容,如果未能解决你的问题,请参考以下文章

java 创建string对象机制 字符串缓冲池 字符串拼接机制

java 创建string对象机制 字符串缓冲池 字符串拼接机制 字符串中intern()方法

Java_Web 连接池

缓冲池,线程池,连接池

java 创建string对象机制 字符串缓冲池 字符串拼接机制

db2缓冲池调优