美文网首页
6-对象引用分析

6-对象引用分析

作者: c88bc9f9d088 | 来源:发表于2020-10-16 09:53 被阅读0次

引用传递分析

    类本身属于引用数据类型,既然是引用数据类型,那么久牵扯到内存的引用传递,所谓的引用传递的本质:同一块堆内存空间可以被不同的栈内存所指向,也可以更换指向。

范例:定义一个引用传递的分析程序

public class JavaDemo{
      public static void main(String args[]){
              Person per1 = new Person(); //声明并实例化对象
              per1.name = "张三";
              per1.age = 18;
              Person per2 = per1; //引用传递
              per2.age = 80;
              per1.tell(); //进行代码调用
       }
}

    这个时候的引用传递是直接在主方法之中定义的,也可以通过方法实现引用传递处理。

范例:利用方法实现引用传递处理

public  class JavaDemo{
    public  static  void main(String args[]){
        Person per = new Person(); //声明并实例化对象
        per.name = "张三";
        per.age = 18;
        change(per); //等价于:Person temp = per;
        per.tell(); //进行代码调用
    }
    public  static  void change(Person temp) {
        temp.age = 80;
     }
}

姓名:张三、年龄:80

    与之前的差别最大的地方在于,此时的程序是将Person类的实例化对象(内存地址、数值)传递到了change()方法之中,由于传递的是一个Person类型,那么change()方法接收的也是Person类型。

    引用传递可以发生在方法上,这个时候一定要观察方法的参数类型,同时也要观察方法的执行过程。

相关文章

  • 6-对象引用分析

    引用传递分析     类本身属于引用数据类型,既然是引用数据类型,那么久牵扯到内存的引用传递,所谓的引用传递的本质...

  • java的四种引用

    无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象是否引用链可达,判定对象是否存活都和“引用...

  • 再谈Java引用

    *** 无论是通过引用计数算法来判断对象的引用数量,还是通过可达性分析算法来判断对象的引用链是否可达,判定对象是否...

  • java的四种引用

    Java对引用的定义 无论是通用引用计数算法判断对象的引用数据,还是通过可达性分析算法判断对象的引用链是否可达,判...

  • Java的4种引用

    java中引用的重要性 无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象的引用链是否可达,...

  • 垃圾回收算法

    哪些对象回收,哪些不回收引用计数法:缺点,堆里面的对象互相引用可达性分析:gcroot 从reference出发,...

  • Java的垃圾收集器和内存分配策略

    对象标记算法 对象回收前,需要标记其"死活",常用的对象标记算法主要包括引用计数算法和可达性分析算法。 引用 强引...

  • Dubbo服务引用

    1 Dubbo服务引用流程 2 Dubbo引用源码分析 2.1 创建代理 Dubbo会为引用服务创建一个代理对象,...

  • 垃圾收集

    判断对象是否已死: 引用计数法(很难解决对象之间相互循环引用的问题) 可达性分析算法 可作为GC Roots的对象...

  • Java垃圾收集器和内存分配策略

    1. 首先需要解决的问题:哪些对象已经死亡 1.1 引用计数算法 引用分析算法是这样的: 给每一个对象添加一个引用...

网友评论

      本文标题:6-对象引用分析

      本文链接:https://www.haomeiwen.com/subject/rptzpktx.html