小编use*_*698的帖子

为什么intern方法不会在java中返回相等的String

public static void main (String[] args) {

    String s1 = new String("hello");
    String s2 = new String("hello");
    s1.intern();
    s2.intern();        
    System.out.println(s1 == s2); // why this returns false ?


}
Run Code Online (Sandbox Code Playgroud)

根据我的理解,第一次调用实习方法应该创建一个带有单个字符串的"字符串实习池" "hello".第二次调用实习方法没有做任何事情(因为"hello"字符串已经存在于池中).现在,当我说s1 == s2我希望JVM比较"hello"字符串实习池中的字符串并返回时true.

java

5
推荐指数
1
解决办法
220
查看次数

B-Tree保存在File中不是就失去了它的好处了吗?

我正在阅读有关 B 树的内容,很有趣的是,它是专门为存储在辅助内存中而构建的。但我对以下几点感到有点困惑:

  1. 如果我们将 B-Tree 保存在辅助内存中(通过 Java 中的序列化),B-Tree 的优势是否会丢失?因为一旦节点被序列化,我们将无法访问对子节点的引用(正如我们在主内存中获得的那样)。所以这意味着,我们必须一一读取所有节点(因为子节点没有可用的引用)。如果我们必须读取所有节点,那么树的优点是什么?我的意思是,在这种情况下,我们不会在树上使用二分搜索。有什么想法吗 ? B树

algorithm tree b-tree binary-search-tree data-structures

1
推荐指数
1
解决办法
676
查看次数