java基础---------字符串常量池-创建了几个对象
来源:互联网 发布:mac 建筑 软件 收费吗 编辑:程序博客网 时间:2024/05/22 03:47
常量池:
java设计人员为了高效的使用内存,有了字符串常量池的概念.相同的字面值对象只在字符串常量池中创建一次就可以了,
当再出现相同的字面值对象时,不会创建新的对象,只是引用常量池中已经创建好的对象即可.
无则创建,有则返回
JVM虚拟机运行时,人为划分的内存分类
栈:方法调用的入栈、方法执行完毕出栈,方法中的局部变量都在每个方法对应的栈帧中分配.
堆: 程序运行时动态分配的内存,一new创建的对象就在堆里。
方法区(静态区):常量池在方法区里面
创建了几个对象
1.直接赋值
只会创建一个对象,在常量池中,无则创建,有则返回
String s1 = "aaa";//创建了一个对象 在常量池中
String s2 = "aaa";//没有创建对象
System.out.println(s1==s2);//true
System.out.println(s1.equals(s2));//true
2.new
new创建了两个对象:1.常量池中(无则创建、有则返回) 2.堆里(只要一new就一定会在堆里出现一个新的)
String s1 = new String("aaa");//创建了两个对象 常量池中是字面值对象 堆里是指向常量池中的地址
String s2 = new String("aaa");创建了一个对象 堆里那个
System.out.println(s1==s2);//false 不是引用同一个对象
System.out.println(s1.equals(s2));//true
System.out.println(s1.intern()==s2.intern());//true
- java基础---------字符串常量池-创建了几个对象
- 字符串常量池和创建几个对象
- String对象与java字符串池——到底创建了几个String对象
- JAVA解惑---String创建了几个对象
- JAVA解惑---String创建了几个对象
- java中字符串基本知识 String s=new String("abc")创建了几个对象?
- JAVA内存管理+String创建字符串对象+常量池详解(合集)
- String 创建了几个对象
- String - 创建了几个对象
- Java问题解析:到底创建了几个String对象?
- java中String到底创建了几个对象
- Java问题解析:到底创建了几个String对象?
- 创建了几个对象————>java
- Java问题解析:到底创建了几个String对象?
- Java问题解析:到底创建了几个String对象?
- java面试题十三 string创建了几个对象
- JAVA基础之再次解读String-创建几个对象
- 关于 String对象 常量池 字符串常量
- python3应用openpyxl小结
- Chapter3 字符串、向量和数组
- SparkSQL(下)--Spark实战应用
- Python NLP入门教程
- nova的pause instance的log
- java基础---------字符串常量池-创建了几个对象
- TCP/IP--ICMP和IGMP
- tensorflow 模型训练
- 51Nod-1618-树或非树
- 数据结构与算法--关键路径
- 文字一行显示,超出部分显示省略号
- js基础知识
- orcl 查询锁表 解锁
- 在串口禁止打印内核信息