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