"abc"已经被创建并保存于字符串池中,因此JAVA虚拟机只会在堆中新创建一个String对象,但是它的值(value)是共享前一行代码执行时在栈中创建的三个char型值值'a'、'b'和'c'
来源:互联网 发布:网络放大器的使用方法 编辑:程序博客网 时间:2024/05/22 07:56
当执行String a="abc";时,JAVA虚拟机会在栈中创建三个char型的值'a'、'b'和'c',然后在堆中创建一个String对象,它的值(value)是刚才在栈中创建的三个char型值组成的数组{'a','b','c'},最后这个新创建的String对象会被添加到字符串池中。如果我们接着执行String b=new String("abc");代码,由于"abc"已经被创建并保存于字符串池中,因此JAVA虚拟机只会在堆中新创建一个String对象,但是它的值(value)是共享前一行代码执行时在栈中创建的三个char型值值'a'、'b'和'c'。
- "abc"已经被创建并保存于字符串池中,因此JAVA虚拟机只会在堆中新创建一个String对象,但是它的值(value)是共享前一行代码执行时在栈中创建的三个char型值值'a'、'b'和'c'
- 请教大家:这段程序定义的三个引用,在堆中是不是其实只创建了两个String对象??
- 在java虚拟机中对象的创建过程
- HotSpot 虚拟机在 Java 堆中对象是如何创建、如何布局以及如何访问的?
- java如何在文件中读取一个字符串并创建以这个字符为名字的类的对象
- 在主方法中创建String型变量,并判断变量的前导和后置字符串
- 在C++代码中创建Java虚拟机。
- 在C++代码中创建Java虚拟机。
- 在Linux虚拟机中创建与Windows的共享文件夹
- 在主方法中创建String对象,使用charAt()方法查看字符串str中索引位置是6的字符
- Java基础:创建String对象时,String s=new String("abc")和String s="abc"的区别
- 使用编程在c盘根目录下创建一个文件夹abc ,在文件夹abc中循环创建1000个文本文件
- string 和 stringBuilder在创建字符串的效率比较代码
- 在用ATL创建组件时,如何在一个接口的实现中创建另一个已经实现了的接口的对象?
- java中字符串基本知识 String s=new String("abc")创建了几个对象?
- Java中string 创建对象时 “”和null的区别
- Java中newString(abc)创建几个对象的解释
- 有关于在Java 类的静态初始化块中创建一个自身实例的问题。
- APP刷榜业务披露
- Android 更换桌面壁纸 代码
- QT210 -> u-boot-samsung-dev中的cpu/s5pc11x/config.mk文件注释
- C语言的5种存储类以及关键字volatile、restrict
- sql server2005如何收缩日志
- "abc"已经被创建并保存于字符串池中,因此JAVA虚拟机只会在堆中新创建一个String对象,但是它的值(value)是共享前一行代码执行时在栈中创建的三个char型值值'a'、'b'和'c'
- CodeForces 236B - Easy Number Challenge(数论:求因子个数)
- PHP中正则表达式
- 交叉编译ffmpeg
- STL源码剖析 — — vector
- Linux多线程编程
- 窗口产生及消息循环
- Delta3D 例子--爆炸效果,键盘鼠标的使用
- DB2 pureScale问题诊断