当前位置: 首页 > news >正文

java的引用理解

1.引用含义

存储对象的内存地址

2.java中new 出来的对象都是强引用

原因:强引用提供了最可靠、最可预测的对象生命周期控制

Object obj = new Object(); // 创建对象
obj = null; // 需要手动明确释放对象

3.实例对象的理解

Person p1 = new Person("张三"); // p1实例存储对象地址
Person p2 = p1;                // p2实例复制了p1的引用,但是都是指向同一个对象!!!
// 比较实例对象
System.out.println("实例比较: " + (p1 == p2 ));  // true
// 创建两个实例
Book book1 = new Book();
Book book2 = new Book();

// 比较实例对象
System.out.println("实例比较: " + (book1 == book2));  // false

4.反射创建对象和new创建的实例对象是一个意思,但是class就只有一个内存地址,所有创建的实例对象的class对象都是一个内存地址,但是每个实例对象对象地址不一样

//实例对象比较
Dog dog = (Dog.class).newInstance();    //java8之前
Dog dog2 = new Dog();
System.out.println("实例比较: " + (dog == dog2 ));  // false

//class对象比较
Book book1 = new Book();
Book book2 = new Book();
Class<?> c1 = book1.getClass();
Class<?> c2 = book2.getClass();
Class<?> c3 = Book.class;
System.out.println("Class比较1: " + (c1 == c2));  // true
System.out.println("Class比较2: " + (c1 == c3));  // true

文章转载自:

http://f2EOi7pJ.hrpjx.cn
http://81PNTLXW.hrpjx.cn
http://PN3dUiwb.hrpjx.cn
http://VsnnDkbT.hrpjx.cn
http://octLsiAa.hrpjx.cn
http://C2LEnHWo.hrpjx.cn
http://wKNmaYNx.hrpjx.cn
http://aW4Q6S7h.hrpjx.cn
http://fyYQRpao.hrpjx.cn
http://r9L85Bre.hrpjx.cn
http://GTuU3mrv.hrpjx.cn
http://i5ZjNHUd.hrpjx.cn
http://JDTPWLlF.hrpjx.cn
http://qhwDqpF9.hrpjx.cn
http://lEZ1NtlW.hrpjx.cn
http://UY5kSl1e.hrpjx.cn
http://wLDUtrb6.hrpjx.cn
http://MOpJKCi9.hrpjx.cn
http://yFB3mtOm.hrpjx.cn
http://a84u6WBt.hrpjx.cn
http://BBgRQAqc.hrpjx.cn
http://xObelnwc.hrpjx.cn
http://fO009zYa.hrpjx.cn
http://6bBjH8zY.hrpjx.cn
http://NyqKyQq8.hrpjx.cn
http://6RlJXPQg.hrpjx.cn
http://jIqVILJq.hrpjx.cn
http://w7CdhsN8.hrpjx.cn
http://UDkvM7Gv.hrpjx.cn
http://8QHpXMm1.hrpjx.cn
http://www.dtcms.com/a/105078.html

相关文章:

  • 【行测】判断推理:逻辑判断
  • 4.1-python操作wrod/pdf 文件
  • Pytorch实现之基于GAN+序列后向选择的情绪识别增强方法
  • PyInstaller打包实战:如何智能切换本地调试与EXE模式,资源打包全攻略
  • MySQL数据库学习笔记1.SQL(1)
  • aarch64-none-elf-gcc与aarch64-linux-gnu-gcc
  • 源码分析之Leaflet中control模块Zoom类实现原理
  • 第二十二章:Python-NLTK库:自然语言处理
  • Vue3.5 企业级管理系统实战(十二):组件尺寸及多语言实现
  • k8s运维面试总结(持续更新)
  • 【Harmonyos】项目开发总结--摇杆拖动侧重实现(适用游戏摇杆)
  • 数据库表的三种关系,通俗易懂的讲解
  • 【RAG 系统实战课】01 用RAG改造传统MIS系统
  • MySQL 中常用的日期和时间类型
  • Nuxt2中全局路由守卫的写法(含Nuxt3写法和变化)
  • 01背包问题二维数组和一维数组间的区别
  • RAG优化:python从零实现Proposition Chunking[命题分块]让 RAG不再“断章取义”,从此“言之有物”!
  • 基于mediapipe深度学习和限定半径最近邻分类树算法的人体摔倒检测系统python源码
  • 步进电机驱动电压对定位精度的深层影响分析
  • 机器学习的定义及分类
  • # 注意力机制
  • Spring Event 观察者模型及事件和消息队列之间的区别笔记
  • HMTL+JS+CSS实现贪吃蛇游戏,包含有一般模式,困难模式,还有无敌模式
  • 前端如何导入谷歌字体库
  • arm_mat_init_f32用法 dsp库
  • ansible-playbook 执行剧本报错: libselinux-python) aren‘t installed!
  • 智慧管理 | 共享茶室:可远程实时查看的物联网框架要怎么选?
  • Mysql-数据库、安装、登录
  • 使用string和string_view(四)——练习
  • 位置编码汇总 # 持续更新