Java String Pool实现的搜索算法是什么

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

String first = "abc";

我的问题是 JVM 搜索“abc”的搜索算法是什么?它只是循环整个字符串池值?


哆啦的时光机
浏览 91回答 1
1回答

繁花不似锦

它只是循环整个字符串池值?不。我的理解是字符串池是一种用本机代码实现的哈希表形式。所以搜索算法是哈希表算法。在正常情况下,实习字符串是一种摊销O(1)操作。(链接的问答包括一些指向 C++ 源代码的链接。)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java