Java中String String常量池的默认大小是多少?

时间:2017-07-29 02:06:20

标签: java

我想了解是否有给字符串常量池的默认大小?

java上不同版本的字符串常量池是否有变化? String常量池的默认大小是什么?

2 个答案:

答案 0 :(得分:2)

根据this文章,字符串常量池大小因不同的Java版本和发行版而异(但文章本身已超过3年,因此自那时起可能对最新的Java版本进行了一些更改)。

字符串池实现为HashMap。所以,

  1. 直到 Java 6 ,默认的池大小为1009个条目,并受PermGen大小的限制,可在Java6u30版本中进行配置。
  2. Java 7 中,默认哈希表大小增加到60013个条目,并且仍然可以使用标记-XX:StringTableSize=<value>进行配置。
  3. Java 8 中删除了PermGen区域,并将常量池移入堆中,使其大小仅受程序内存限制的限制(并且仍然接受表大小选项)。

答案 1 :(得分:0)

在大多数JVM中,Perm Space的默认大小大约为#64; 64MB&#34;。