当前位置: 移动技术网 > IT编程>开发语言>Java > java中字符串池,String池,共享池到底是怎么回事?

java中字符串池,String池,共享池到底是怎么回事?

2018年09月23日  | 移动技术网IT编程  | 我要评论

栈中有共享池的概念, 比如下面例子中,sz="hello";在栈中创建一个string对象引用变量sz,然后看看栈中有没有"hello",如果没有,则将"hello"存放进栈,并令sz指向”hello”,如果已经有”hello” 则直接令sz指向“hello”。对于int, float 类型的变量也是一样的有这种共享池的概念,

对于下面程序中:ss0 = new string( "hello" );是用new()来新建对象的, 存于堆中。每调用一次就会创建一个新的对象。当然从节省空间的角度来讲,肯定不如str="hello",有童鞋一定问,那要它有什么用?当时设计编译器时,为什么要设计它?马克-to-win,那我请问你,如果在你编程序时,你还不知道字符串内容怎么办?这时就用到new string(string original),所以,什么都有什么的用处。

(注意不能看调试窗口里value id,eclipse的问题)

 

public class test
{
    public static void main(string args[]) {
        string str, str1, ss0, ss1, ss2, ss3, ss4;
        str = "hello";
        str1 = "hello";
        ss0 = new string("hello");
。。。。。。。。。。。。。。。。
详情请见:

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网