【问题标题】:What's the searching algorithm does Java String Pool implemented [duplicate]Java字符串池实现的搜索算法是什么[重复]
【发布时间】:2018-12-10 03:56:58
【问题描述】:

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

String first = "abc";

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

【问题讨论】:

标签: java


【解决方案1】:

它只是循环整个字符串池值?

没有。

我的理解是,字符串池是一种以原生代码实现的哈希表形式。

所以搜索算法是哈希表算法。正常情况下,对字符串的实习是一个摊销的O(1)操作。

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

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 2011-04-17
    • 2015-03-30
    • 2023-03-21
    • 2016-08-02
    • 2011-03-17
    • 1970-01-01
    • 2011-03-20
    相关资源
    最近更新 更多