java中,new 一个变量的时候,是在堆区中创建一个空间存储, new 一个方法或对象时,在栈区新建一个引用指向堆区。基本类型的变量是存储在栈区的。
==比较的是引用地址,而不是比较实际的值。 堆区里有个String Pool对堆区的String进行管理,所以如果是String a=“123456”,String b="123456",String Pool会把他们2个分配同一个引用地址,使用==比较就是相等的。但是如果String a=new String(“123456”),String b=new Sting("123456"),因为是新分配的空间,所以是不相等的。
还有一个是代码区,静态区,static静态方法就是放在这个区,这个区的代码和数据是共享的,所以static可以被大家调用