黑马程序员技术交流社区

标题: 关于字符串常量池 [打印本页]

作者: 小穿钉    时间: 2015-11-9 11:34
标题: 关于字符串常量池
package cn.stringdemo;
/**
* 计算机内存
* 1.寄存器:最快的存储区,由编译器根据需求进行分配,我们在程序中无法控制
* 2.栈内存:存放基本类型的变量数据和对象的引用,但是对象本身不存放在栈中,而是存放在堆(new出来的对象)或常量池中(字符串常量对象存放在常量池中)
* 3.堆内存:存放所有new出来的对象
* 4.静态域:存放静态成员(static定义)
* 5.常量池:存放字符串常量和基本数据类型常量
* 6.非RAM:硬盘等永久存储空间
* @author Administrator
*
*/
public class Demo_2 {


        public static void main(String[] args) {
                String s1="asd";
                String s2="asd";
                System.out.println(s1==s2);
                /*
                 * 注意:因为常量池里存放字符串常量和基本数据类型常量,
                 * 所以s1创建之后,"asd"存在于常量池中,s2创建的时候,常量池中存在"asd",于是引用变量s2直接指向已经存在的字符串对象"asd",
                 * 故s1==s2为true
                 */
        }


}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2