java内存分配--引用
棧內(nèi)存 ?對象地址
堆內(nèi)存 ?存放屬性
public class TestDemo{
? ? ?public static void main(String args[]){
? ? ? ? ?Person perA =new Person(); ? ?//出現(xiàn)new百分之百就是要申請堆內(nèi)存
? ? ? ? ?perA.name="王強"; ? ? ? //perA 地址存放在棧內(nèi)存中,同一塊內(nèi)存只能存在一個棧內(nèi)存,一個棧內(nèi)存對應(yīng)一個堆內(nèi)存,多余的堆內(nèi)存會被視為垃圾交給GC回收
? ? ? ? ?perA.age=30;
? ? ? ? ?Person.perB=perA; ? ? ?//引用傳遞 ? 內(nèi)存中將perB棧內(nèi)存指向了perA的堆內(nèi)存,同時修改了perA.name="王剛"
? ? ? ? ?perB.name="王剛";
? ? ? ? ?perB.tell();
}
}
class Person{
? ? String name; ? ? ? ? ? ? ? ? ? ? ?//堆內(nèi)存
? ? int ? age;
? ?public void tell (){
? ? ? ?System.out.sprintln("姓名:"+name+"年齡:"+age);
}
}
轉(zhuǎn)載于:https://www.cnblogs.com/wangyinxu/p/haole.html
總結(jié)
以上是生活随笔為你收集整理的java内存分配--引用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server中SELECT会真的
- 下一篇: Java8中Lambda表达式的10个例