Java中對象的內存地址


1.Java中對象的內存地址,在JDK中如何去理解Java對象中內存地址

  •  棧內存:存儲的變量對象的地址空間的引用
  •  堆內存:存儲的是對象
     1 public class MeiZi {
     2    public static void main(String[] args) {
     3      /**
     4      *  1. new MeiZi(), 就是創建了一個MeiZi類的對象
     5      *  2. MeiZi類的對象存儲在JVM中堆內存里面
     6      *  3.彬彬姐其實是MeiZi類所產生的對象的引用(存儲是MeiZi這個類的對象的地址空間), 它存儲在棧內存
     7      */
     8      MeiZi 彬彬姐 = new MeiZi(); 
     9    }
    10 }
    11 
    12 public class ShuaiGe {
    13   public static void main(String[] args) {
    14     ShuaiGe 彬彬姐 = new ShuaiGe();
    15   }
    16 }

2.請看下面的一個例子,同時說明下面例子中對象的地址空間是如何存儲的

 

 1 public class TestString {
 2 
 3   public void changeString(String str) { //改變字符串中存儲的值
 4     str = “Hello World”;
 5   }
 6    
 7   public static void main(String[] args) {
 8 String str = “Java”;
 9 TestString t = new TestString();
10 t.changeString(str);
11 System.out.println(“str = ” + str);
12   }
13 }

 

3.分析下面的程序代碼中對象的地址空間是如何存儲的

 1 public class ObjectMemorySample {
 2    String name;
 3    public ObjectMemorySample(String name) {
 4       this.name = name;
 5    }
 6    public static void main(String[] args) {
 7       ObjectMemorySample obj = new ObjectMemorySample(“吳國友”);
 8       obj = new ObjectMemorySample(“張屹林”);
 9       System.out.println(“obj.name = ” + obj.name);
10    }
11 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM