JAVA中对象实体与对象引用有何不同?举例说明
在 Java 中,对象实体(Object instance)和对象引用(Object reference)是两个不同的概念,虽然它们通常被一起讨论,但它们的作用和表现方式是不同的。下面我们来详细说明这两者的区别。
1. 对象实体(Object Instance)
对象实体是指在内存中创建的实际对象,它包含了类定义的所有成员变量和方法。对象实体由 new 关键字创建,并在堆内存中分配空间。每个对象实体都有其独立的内存地址。
2. 对象引用(Object Reference)
对象引用是一个变量,它存储着对象实体在内存中的地址。它并不直接包含对象的内容,而只是指向一个实际的对象实体。引用类型的变量可以用来操作对象,但引用本身只是一个指向对象的“指针”。
- 一个对象引用可以指向 0 个或 1 个对象(一根绳子可以不系气球,也可以系一个气球);
- 一个对象可以有 n 个引用指向它(可以用 n 条绳子系住一个气球)。
对象的相等和引用相等的区别?
- 对象的相等一般比较的是内存中存放的内容是否相等。
- 引用相等一般比较的是他们指向的内存地址是否相等。
这里举一个例子:
String str1 = "hello";
String str2 = new String("hello");
String str3 = "hello";
// 使用 == 比较字符串的引用相等
System.out.println(str1 == str2);
System.out.println(str1 == str3);
// 使用 equals 方法比较字符串的相等
System.out.println(str1.equals(str2));
System.out.println(str1.equals(str3));
输出结果:
false
true
true
true
从上面的代码输出结果可以看出:
str1和str2不相等,而str1和str3相等。这是因为==运算符比较的是字符串的引用是否相等。str1、str2、str3三者的内容都相等。这是因为equals方法比较的是字符串的内容,即使这些字符串的对象引用不同,只要它们的内容相等,就认为它们是相等的。
相关文章:
JAVA中对象实体与对象引用有何不同?举例说明
在 Java 中,对象实体(Object instance)和对象引用(Object reference)是两个不同的概念,虽然它们通常被一起讨论,但它们的作用和表现方式是不同的。下面我们来详细说明这两者的区别。 1. 对象实体…...
C++设计思想-001-设计模式-单例模式
1.单例模式优点 保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享; 实现: 1.1 单例模式的类只提供私有的构造函数 1.2类定义中含有一个该类的静态私有对象 1.3该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象 2.单…...
远程连接服务器
1、远程连接服务器简介 ssh secure shell 非对称加密:一对公钥私钥 对称加密:加密和解密使用的是同一把密钥;(同一秘钥既可以进行加密也可以进行解密 )优势:使用一个秘钥它的加密效率高一些(快一些) …...
【分布式技术】ES扩展知识-Elasticsearch分词器的知识与选择
ES知识扩展 分词器有哪些?1. 标准分词器(Standard Analyzer):示例示例文本分析配置参数与自定义应用场景 2. Simple Analyzer:示例示例文本分析应用场景与限制结论 3. Whitespace Analyzer:示例示例文本分析…...
【网络安全 | 漏洞挖掘】通过密码重置污染实现账户接管
未经许可,不得转载。 文章目录 密码重置污染攻击漏洞挖掘的过程目标选择与初步测试绕过 Cloudflare 的尝试发现两个域名利用 Origin 头部污染实现账户接管攻击流程总结在今天的文章中,我们将深入探讨一种 账户接管 漏洞,并详细分析如何绕过 Cloudflare 的保护机制,利用密码…...
【Nginx从入门到精通】01 、教程简介
讲师:张一鸣老师 课程简介 重量级课程 由浅入深,内容非常广泛 几十个线上的实战案例(图谱),几乎涵盖当前所有互联网主流应用场景 性能:由压测得出结果 调优:从操作系统开始,使你对高并发系统架构的技…...
MySQL面试之底层架构与库表设计
华子目录 mysql的底层架构客户端连接服务端连接的本质,连接用完会立马丢弃吗解析器和优化器的作用sql执行前会发生什么客户端的连接池和服务端的连接池数据库的三范式 mysql的底层架构 客户端连接服务端 连接的本质,连接用完会立马丢弃吗 解析器和优化器…...
C2 追踪器:监控指挥与控制的重要性
12 款暗网监控工具 20 款免费网络安全工具 移动取证软件:为什么 Belkasoft X 应该是您的首选工具 网络安全已成为不断演变的威胁形势中的关键领域。 网络攻击者经常使用命令和控制 (C2) 基础设施来执行和管理攻击。 这些基础设施使恶意软件和攻击者能够与受害设…...
二、神经网络基础与搭建
神经网络基础 前言一、神经网络1.1 基本概念1.2 工作原理 二、激活函数2.1 sigmoid激活函数2.1.1 公式2.1.2 注意事项 2.2 tanh激活函数2.2.1 公式2.2.2 注意事项 2.3 ReLU激活函数2.3.1 公式2.3.2 注意事项 2.4 SoftMax激活函数2.4.1 公式2.4.2 Softmax的性质2.4.3 Softmax的应…...
java导出pdf
引入包 <properties><itext.version>8.0.5</itext.version></properties><dependencies><dependency><groupId>com.itextpdf</groupId><artifactId>itext-core</artifactId><version>${itext.version}</…...
muduo之线程同步CountDownLatch
简介 CountDownLatch称为门阀,用于等待另外线程执行完成 结构 #mermaid-svg-6Azuu15vhIS2hCP1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6Azuu15vhIS2hCP1 .error-icon{fill:#552222;}#mermaid-s…...
【Python系列】Python中打印详细堆栈信息的技巧
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
SpringBoot中监听器、过滤器、拦截器和AOP详解
SpringBoot中监听器、过滤器、拦截器和AOP详解 在构建 Spring Boot 应用程序时,监听器(Listener)、过滤器(Filter)、拦截器(Interceptor)和面向切面编程(AOP)是四种常用…...
如何让手机ip变成动态
在数字化浪潮中,手机已成为我们日常生活中不可或缺的一部分。无论是浏览网页、使用社交媒体还是进行在线购物,手机都扮演着举足轻重的角色。然而,在享受网络带来的便利时,我们也需要关注网络安全和隐私保护。静态IP地址可能让手机…...
[Qt platform plugin问题] Could not load the Qt platform plugin “xcb“
Qt platform plugin 是 Qt 应用程序启动时加载的插件。不同的平台有不同的插件。 常见的插件有:linuxfb Wayland xcb 简单来说就是启动一个GUI程序, 离不开这些插件.选择其中一个就好 出现这个问题要么就是没有插件,要么就是插件依赖的库没有。 要么就是插件选则的…...
嵌入式开发人员如何选择合适的开源前端框架进行Web开发
在嵌入式系统的Web开发中,前端框架的选择对于项目的成败有着决定性的影响。一个合适的框架不仅能提高开发效率,还能保证系统的稳定性和可扩展性。本文将介绍几款适用于嵌入式Web开发的开源前端框架,并探讨它们的优缺点。 1. Element Plus V…...
MySQL数据库(七)----查询相关操作(子查询)
子查询是指在一个查询语句(主查询)内部嵌套的另一个查询语句。子查询可以出现在 SELECT、FROM、WHERE、HAVING 等子句中。它可以将一个复杂的查询问题分解为多个简单的查询步骤,从而更方便地获取所需的数据。 引入子查询: -- 查…...
01_Spring开胃菜
一、 为什么是Spring? 在正式进入Spring内容前我们先看看我们以往经典的程序设计。 当我们去登录时,会调用后端的Controller,Controller接收到用户的请求后会调用业务层的Service进行登录的业务处理,Service业务处理过程中会调用Dao层向DB获取数进行判断。 接下来我们用代…...
SpringBoot使用AspectJ的@Around注解实现AOP全局记录接口:请求日志、响应日志、异常日志
Spring 面向切面编程(AOP),系列文章: 《Spring面向切面编程(AOP)的简单实例》 《Spring使用AspectJ的注解式实现AOP面向切面编程》 《SpringBoot使用AspectJ实现AOP记录接口:请求日志、响应日志、异常日志》 《SpringBoot使用AspectJ的@Around注解实现AOP全局记录接口:…...
WPF下播放Rtmp的解决方案
介绍 在实际的开发过程中,需要在应用内部内嵌播放器进行视频的播放。官方默认的MediaElement控件只能播放有限的视频格式,也不能播放网络流。比较流行的解决方式是vlc的库,但是在实际使用过程中发现有很多问题。这里给大家推荐另一个比较好的…...
从零构建智能文档工厂:自动化生成API文档与多格式发布
1. 项目概述:从“文档生成”到“智能文档工厂”在软件开发和团队协作的日常里,文档工作常常被戏称为“脏活累活”。它不像写代码那样有即时的反馈和成就感,但又不可或缺。无论是API接口文档、项目说明、还是内部流程手册,一份清晰…...
AI编程工具实战指南:从Claude Code到Cursor的深度技巧与工作流设计
1. 项目概述:一份写给实干派开发者的AI编程工具实战手册 如果你和我一样,是个在一线写代码写了十来年的老程序员,那你肯定已经感受到了,这两年AI编程工具的出现,彻底改变了我们写代码的方式。从最开始GitHub Copilot那…...
《Python脚本到OpenClaw技能:解锁Agent原生能力的转换指南》
将零散的Python脚本封装为OpenClaw技能,本质上是在为孤立的计算逻辑注入智能体的感知与决策能力。这不是简单的代码迁移,而是一场从"命令式执行"到"意图式响应"的范式转变。那些曾经只能在终端手动触发的脚本,一旦被赋予了技能的形态,就能被智能体在恰…...
Maven项目实战:手动部署Oracle JDBC驱动的本地仓库配置指南
1. 为什么需要手动安装Oracle JDBC驱动 遇到Maven项目提示"Missing artifact com.oracle:ojdbc6:jar:11.2.0.3"时,很多Java开发者都会一头雾水。我刚开始接触Maven时也踩过这个坑,后来才明白这是因为Oracle的JDBC驱动(ojdbc&#x…...
智能庭院机器人公司「长曜创新」获数千万元 A+ 融资,Tron Ultra 系列年中全球开售
硬氪获悉,智能庭院机器人公司「长曜创新」近日完成数千万元 A 融资,领投方为盈峰环境,老股东 XGROUP 持续加注。公司聚焦无边界割草机器人,其旗舰产品 Tron Ultra 系列将年中全球开售。融资情况与发展方向长曜创新近日完成数千万元…...
LinkSwift:九大网盘直链解析工具使用指南
LinkSwift:九大网盘直链解析工具使用指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云…...
Windows与Office终极激活指南:KMS_VL_ALL_AIO智能脚本免费解决方案
Windows与Office终极激活指南:KMS_VL_ALL_AIO智能脚本免费解决方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为系统激活烦恼吗?KMS_VL_ALL_AIO智能激活脚本为您…...
使用 Elasticsearch 与 Kibana 中的 PromQL 调查 Kubernetes 基础设施问题
作者:来自 Elastic Miguel Snchez 本文将逐步介绍如何使用 PromQL 在 Elastic Observability 中对 Kubernetes 集群范围内的 CPU 使用情况进行调查,从集群到命名空间再到出现问题的 Pod。 Elasticsearch 现在已经原生支持 PromQL,并且你可以通…...
3步掌握Hitboxer:解决游戏按键冲突的终极指南
3步掌握Hitboxer:解决游戏按键冲突的终极指南 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否曾在激烈的游戏对战中,因为同时按下W和S键导致角色原地不动而错失良机?或…...
告别路由器!一根网线搞定开发板调试:Windows 11 + VMware Ubuntu 22.04 直连保姆级教程
告别路由器!一根网线搞定开发板调试:Windows 11 VMware Ubuntu 22.04 直连保姆级教程 在嵌入式开发中,网络调试是最基础却最令人头疼的环节之一。想象这样的场景:深夜实验室只剩你一人,手边只有笔记本电脑、开发板和一…...
