相关疑难解决方法(0)

String Literal Pool是String对象或对象集合的引用的集合

看完SCJP Tip Line的作者Corey McGlone撰写关于javaranch网站的文章后,我感到很困惑.命名为Strings,Literally和SCJP Java 6程序员指南,由Kathy Sierra(javaranch的联合创始人)和Bert Bates撰写.

我将尝试引用Corey先生和Kathy Sierra女士引用的关于String Literal Pool的内容.

1.据Corey McGlone先生说:

  • String Literal Pool是指向String对象的引用的集合.

  • String s = "Hello"; (假设Heap上没有名为"Hello"的对象),将"Hello"在堆上创建一个String对象,并在String Literal Pool(Constant Table)中放置对该对象的引用

  • String a = new String("Bye");(假设Heap上没有名为"Bye" new的对象,操作符将强制JVM在堆上创建一个对象.

现在,"new"对于创建String及其引用的运算符的解释 在本文中有点令人困惑,所以我将文章本身的代码和解释放在下面.

public class ImmutableStrings
{
    public static void main(String[] args)
    {
        String one = "someString";
        String two = new String("someString");

        System.out.println(one.equals(two));
        System.out.println(one == two);
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,由于关键字,我们实际上最终会遇到略微不同的行为."new." 在这种情况下,对两个String文字的引用仍然放在常量表(String Literal Pool)中,但是当你来到关键字时"new,"JVM必须在运行时创建一个新的String对象,而不是使用常量表中的那个.

这是解释它的图表..

在此输入图像描述

那么它是否意味着,String Literal Pool也有对这个Object的引用?

以下是Corey McGlone撰写文章的链接

http://www.javaranch.com/journal/200409/Journal200409.jsp#a1

2. …

java string memory-management

69
推荐指数
1
解决办法
2万
查看次数

Java中新String()和新String("")的字符串初始化有什么区别?

Java中的以下两个初始化之间有什么区别?

  1. String a = new String();
  2. String b = new String("");

java string initialization

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

为什么String在Java中有一个无参数构造函数?

来自文档:

public String()

初始化新创建的String对象,使其表示空字符序列.请注意,由于字符串是不可变的,因此不必使用此构造函数.

它在以前的Java版本中有用吗?

java

5
推荐指数
0
解决办法
101
查看次数

String对象如何工作(如不可变对象)?

我有这两种情况:

String s = "aa";
s = s + " aa";
    System.out.println(s);
    //......
Run Code Online (Sandbox Code Playgroud)

工作正常!它打印aa aa.但有个问题:

String s = "aa";
this.addStringToStatement(s, " aa");
System.out.println(s);
//...
private void addStringToStatement(String statement, Object value) {
    statement += value;
}
Run Code Online (Sandbox Code Playgroud)

它打印:aa.是什么原因??谢谢!

java

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

标签 统计

java ×4

string ×2

initialization ×1

memory-management ×1