首页 文章

什么是Java String Pool实现的搜索算法[重复]

提问于
浏览
0

这个问题在这里已有答案:

Java中的字符串是不可变的 . 当我们使用String literal(双引号)来创建String时,它首先在String池中查找具有相同值的String .

String first = "abc";

我的问题是JVM搜索“abc”的搜索算法是什么?它只是循环整个String Pool值?

1 回答

  • 2

    它只是循环整个String Pool值?

    没有 .

    我的理解是字符串池是在本机代码中实现的哈希表的一种形式 .

    因此搜索算法是一种哈希表算法 . 在正常情况下,实习字符串是一个摊销的 O(1) 操作 .

    (链接的问答包括一些指向C源代码的链接 . )

相关问题