java常量池

简介: 常量池:专门用于管理在编译时被确定并被保存在已编译的.class文件中的一些数据,包括:关于类、方法、接口中的常量,还包括字符串常量。 String s1="疯狂java";//s1直接引用常量池中的“疯狂java” String s2="疯狂"; String s3=“java”; ...

常量池:专门用于管理在编译时被确定并被保存在已编译的.class文件中的一些数据,包括:关于类、方法、接口中的常量,还包括字符串常量。

String s1="疯狂java";//s1直接引用常量池中的“疯狂java”

String s2="疯狂";
String s3=“java”;

//s4后面的字符串在编译时就被确定下来,它引用常量池中的“疯狂java”
String s4="疯狂"+“java”;

//s5后面的字符串在编译时不能被确定,不能引用常量池中的
String s5=s2+s3;

//使用new创建的对象,s6引用堆内存中新创建的对象
String s6=new String("疯狂java");

//所以有s1=s4;
//s1!=s5
//s1!=s6

  

目录
相关文章
|
4月前
|
存储 Java 编译器
【面试知识】Java内存分配之常量池、堆、栈
【面试知识】Java内存分配之常量池、堆、栈
|
1月前
|
存储 安全 Java
36、Java 中的 String、StringBuilder、StringBuffer、字符串常量池和 intern 方法
36、Java 中的 String、StringBuilder、StringBuffer、字符串常量池和 intern 方法
31 0
|
存储 Java C++
【Java】String类的理解及字符串常量池
【Java】String类的理解及字符串常量池
147 0
【Java】String类的理解及字符串常量池
Java String 的 常量池 和 intern 方法 简析
Java String 的 常量池 和 intern 方法 简析字符串常量池和 intern 方法 先举个例子,我们创建 10000 个相同的 String,并且不使用常量池 String[] list = new String[10000]; for (int i = 0; i < 10000; i++) { list[i] = new String(new char[]{'a','b','c'}); } 结果是:每个 String 都用新开的对象,占用大量内存 现在我们这样创建,增加一个 map ,key 和 value 内容一样,每次取的时候,先检查一下 map 里面有没
|
存储 Java 编译器
正确理解和使用JAVA中的字符串常量池
研究表明,Java堆中对象占据最大比重的就是字符串对象,所以弄清楚字符串知识很重要,本文主要重点聊聊字符串常量池。Java中的字符串常量池是Java堆中的一块特殊存储区域,用于存储字符串。它的实现是为了提高字符串操作的性能并节省内存
172 0
正确理解和使用JAVA中的字符串常量池
|
存储 安全 Java
第36篇:Java 中的 String、StringBuilder、StringBuffer、字符串常量池和 intern 方法
🌿 字符串的底层是 char[],但是 char 数组和字符串不能等价。char 数组是 char 数组,字符串是字符串。 🌿 C 语言中是可以把 char 数组和字符串等价的 ✏️ 所有的 字符串字面量(如:"林哥")都是 String 类的实例 ✏️ String 对象创建完毕后,String 对象的字符内容是不可以修改的 🌿 String 对象的引用变量的指向是可以修改的
104 0
第36篇:Java 中的 String、StringBuilder、StringBuffer、字符串常量池和 intern 方法
|
存储 Java
Java 基础:String——常量池与 intern
Java 基础:String——常量池与 intern
45 0
Java 基础:String——常量池与 intern
|
存储 Java 编译器
Java 中方法区与常量池
Java 中方法区与常量池
220 0
Java 中方法区与常量池
Java 字符串常量池详解
Java 字符串常量池详解
363 0
Java 字符串常量池详解
|
存储 Java 程序员
Java中,那些关于String和字符串常量池你不得不知道的东西
Java中,那些关于String和字符串常量池你不得不知道的东西
131 0