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
*/
}
}
|
|