有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    what is the use of the intern() method

    internstrings提供了将字符串与==(更快)进行比较的简单性,而不是非intern不能使用equals运算符实现相等的==函数

    String s = new String(“hello”); 
    

    new将把内存分配给堆中的s,而不是由VM维护的内部唯一字符串集,也称为SCP。在加载调用时在类中找到的所有字符串都会被自动插入(带有强引用),从而有效地使用内存

    s字符串文本上调用intern()将在SCP中添加s的弱引用(短时间),并返回该引用,因此GC肯定会释放s消耗的堆内存

    当不再使用弱引用时,它也将被删除,从而再次导致高效的内存管理

    When exactly the object is created in string constant pool

    字符串将临时添加到SCP,或者使用direct double quotes(String s=“sytax”;)语法或调用intern()

    when we use new operator?

    尽量避免使用字符串,否则永远不要