【Java04】引用变量数组初始化的内存机制
引用类型数组指向的元素也是引用。其本质是:
- 由一个在栈上的引用数组变量指向一块堆内存;
- 这块堆内存里存储的元素是引用,又分别指向其他堆内存。
class Person // Person是一个自定义的类
{public int age;puiblic double height;public void info(){System.out.println("blablabla...");}
}
public class ReferenceArrayTest
{public static void main(String[] args){Person[] students; // 声明一个数组引用变量,其元素是Person类的对象studens = new Person[2]; // 动态初始化var zhang = new Person(); // 对象的动态初始化zhang.age = 15;zhang.height = 158;var lee = new Person();lee.age = 16;lee.height = 161;students[0] = zhang; // 赋值,实际上是改变指向students[1] = lee;// 以下输出结果是一样的,因为指向的同一块内存lee.info();students[1].info();}
}
- 第5行:数组声明,这时候只是在栈上定义了一个变量,没有指向堆内存,如下图所示:
- 第6行:动态初始化,此时students的每个元素(数组引用变量,或者说就是指针)默认初始化为null,如下图所示:
- 第7~12行:初始化两个对象,类也是引用类型,所以实际上开辟了4块内存:zhang和lee位于栈上,所指向的对象位于堆上。如下图所示:
- 第13~14行:赋值,让students的两个元素(数组引用变量)分别指向zhang和lee指向的堆内存。
相关文章:
【Java04】引用变量数组初始化的内存机制
引用类型数组指向的元素也是引用。其本质是: 由一个在栈上的引用数组变量指向一块堆内存;这块堆内存里存储的元素是引用,又分别指向其他堆内存。 class Person // Person是一个自定义的类 {public int age;puiblic double height;public vo…...
基于JSP的足球赛会管理系统
你好呀,我是计算机学长猫哥!如果有相关需求,文末可以找到我的联系方式。 开发语言:Java 数据库:MySQL 技术:JSP技术 工具:IDEA/Eclipse、Navicat、Maven 系统展示 首页 个人中心 球队介绍…...
博客摘录「 AXI三种接口及DMA DDR XDMA介绍(应用于vivado中的ip调用)」2024年6月10日
关键要点: 1.AXI Stream经过协议转换可使用AXI_FULL(PS与PL间的接口,如GP、HP和ACP)。 2.传输数据类里就涉及一个握手协议,即在主从双方数据通信前,有一个握手的过程。基本内容:数据的传输源会…...
Bigtable: A Distributed Storage System for Structured Data
2003年USENIX,出自谷歌,开启分布式大数据时代的三篇论文之一,底层依赖 GFS 存储,上层供 MapReduce 查询使用 Abstract 是一种分布式结构化数据存储管理系统,存储量级是PB级别。存储的数据类型和延时要求差异都很大。…...
RAG下的prompt编写探索
针对特定领域的回答,编写抽象的prompt需要在细节和灵活性之间找到平衡。我们需要一个既能涵盖普遍步骤又能适应不同问题的框架。以下是如何在这种情况下编写抽象prompt的方法,以及适用于各种技术领域的通用策略。 一、编写抽象Prompt的通用策略 定义用户问题和背景信息: 明…...
【计算机组成原理】指令系统考研真题详解之拓展操作码!
计算机组成原理:指令系统概述与深入解析 1. 指令系统概述 计算机软硬件界面的概念 在计算机组成原理中,指令系统扮演着至关重要的角色,它是计算机软硬件界面的核心。软件通过指令与硬件进行通信,硬件根据指令执行相应的操作。指…...
北航第六次数据结构与程序设计作业(查找与排序)选填题
一、 顺序查找的平均查找长度ASL(1 2 …… n)/ n (n 1)/ 2 二、 这半查找法的平均查找次数和判定树的深度有关系。若查找一个不存在的元素,说明进行了深度次比较。 注意,判定树不是满二叉树,因此深…...
Optional详解和常用API
目录 一、Optional简介 二、构建Optional对象三种方式 2.1 Optional.of(value) 2.1.1 使用案例 2.2 Optional.ofNullable(value) 2.2.1 使用案例 2.3 Optional.empty() 2.3.1 使用案例 三、Optional常用的api解析和使用案例 3.1 isPresent 3.1.1 使用案例 3.2 ifPrese…...
Unity 3D 物体的Inspector面板
1、Transform:位置、旋转、大小 2、Mesh Filter:物体的形状 3、Mesh Renderer:物体渲染(物体的衣服) 4、Collider:碰撞体...
闪烁与常亮的符号状态判断机制(状态机算法)
背景说明 在视觉项目中,经常要判断目标的状态,例如:符号的不同频率闪烁、常亮等。然而常规的视觉算法例如YOLO,仅仅只能获取当前帧是否存在该符号,而无法对于符号状态进行判断,然而重新写一个基于时序的卷积…...
Hyper-V如何将文件复制到虚拟机?教您3个简单的方法!
需要将文件复制到虚拟机! “大家好,有谁知道Hyper-V怎么将文件复制到虚拟机吗?我有一些文件,想要从主机中复制进虚拟机中,但是我不知道该怎么操作,有谁可以帮帮我吗?谢谢。” Hyper-V虚拟机可…...
Vue主要使用-03
组件通讯 组件通讯也是我们需要了解的,在我们的实际开发中,我们使用的非常多,比如父组件内的数据传入到子组件,子组件的数据传入到父组件,什么是父组件什么是子组件?父组件内包含着我们的子组件,我们的父组件可以有多个子组件,父组件就是我们使用子组件拼接的。 …...
LoadBalance客户端负载均衡
1. 前言Ribbon Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时࿰…...
Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描 Burp Suite Professional, Test, find, and exploit vulnerabilities. 请访问原文链接:Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描…...
逢3必过报数游戏-第13届蓝桥杯省赛Python真题精选
[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第84讲。 逢3必过报数游戏&…...
解决Qt的multimedia库在clion中依赖库补全的问题
解决Qt的multimedia库在clion中使用报错的问题 在clion中,使用Qt的multimedia库时会报如下错误: defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer" 我猜测出现这个错误的原因很可能是因为…...
图像处理:Python使用OpenCV进行图像锐化 (非锐化掩模、拉普拉斯滤波器)
文章目录 非锐化掩模 (Unsharp Masking)拉普拉斯滤波器 (Laplacian Filter)效果对比总结 在图像处理中,锐化操作用于增强图像的边缘和细节,使图像看起来更清晰。常见的图像锐化方法包括非锐化掩模(Unsharp Masking)和拉普拉斯滤波…...
windows用脚本编译qt的项目
mingw的 cd build ::设置jom环境 set PATHC:\Qt\Qt5.15.2\Tools\mingw810_32\bin;%PATH% set PATHC:\Qt\Qt5.15.2\5.15.2\mingw81_32\bin;%PATH% ::设置Qt环境 amd64_x86 或者 amd64 ::CALL "D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxilia…...
mybatis-plus使用拦截器实现sql完整打印
shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 个人IP:shigen 在使用mybatis-plus(mybatis)的时候,往往需要…...
GPT-4并非世界模型,LeCun双手赞同!ACL力证LLM无法模拟真实世界
一直以来,支持LLM的观点之一是模型可以集成海量事实知识,作为通往「世界模拟器」的基础。虽然也有不少反对意见,但缺乏实证依据。那么,LLM能否作为世界模拟器? 最近,亚利桑那大学、微软、霍普金斯大学等机构…...
第 6 章: Spring 中的 JDBC
JDBC 的全称是 Java Database Connectivity,是一套面向关系型数据库的规范。虽然数据库各有不同,但这些数据库都提供了基于 JDBC 规范实现的 JDBC 驱动。开发者只需要面向 JDBC 接口编程,就能在很大程度上规避数据库差异带来的问题。Java 应用…...
[C++ STL] vector 详解
标题:[C STL] vector 详解 水墨不写bug 目录 一、背景 二、vector简介 三、vector的接口介绍 (1)默认成员函数接口 i,构造函数(constructor) ii,析构函数(destructor࿰…...
PHP简约轻型聊天室留言源码
无名轻聊是一款phptxt的轻型聊天室。 无名轻聊特点: 自适应电脑/手机 数据使用txt存放,默认显示近50条聊天记录 采用jqueryajax轮询方式,适合小型聊天环境。 访问地址加?zhi进入管理模式,发送 clear 清空聊天记录。 修改在…...
代码随想录算法训练营day23|669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
669.修剪二叉搜索树 这道题目需要考虑当前节点是否在[low,high]之间, 因为是平衡二叉树, 所以当当前节点值小于low时,那么其左节点肯定更小,因此删除该节点的方式是给root节点返回其右节点的递归,注意:这里…...
实时通信websocket和sse
microsoft/fetch-event-source是一个JavaScript库,用于处理服务器发送的事件(Server-Sent Events,简称SSE)。它提供了一个简单易用的API,使得客户端可以与服务器进行实时通信。这个库主要用于浏览器环境 安装依赖npm i…...
(超详细)基于动态顺序表实现简单的通讯录项目
前言: 我们在上一章节用c语言实现了线性表中的的动态顺序表,那么顺序表就只是顺序表吗?当然不是,使用顺序表结构可以实现很多项目,许多项目的数据结构都会用到顺序表,本章节我们就要使用顺序表实现一个简易…...
修改SubVI的LabVIEW默认搜索路径
在启动顶级VI后,LabVIEW可能会遇到找不到subVI的情况。这通常是由于subVI的路径发生了变化或没有被正确配置。 LabVIEW默认搜索路径 默认情况下,LabVIEW会按以下顺序搜索文件位置(*表示LabVIEW将搜索子目录): <t…...
基于python深度学习的CNN图像识别鲜花-含数据集+pyqt界面
代码下载: https://download.csdn.net/download/qq_34904125/89383615 本代码是基于python pytorch环境安装的。 下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。 或可直接参考下面博文进行…...
第九站:Java黑——安全编码的坚固防线(第②篇)
4. 验证和过滤输入数据示例:使用Apache Commons Lang 对输入数据进行验证和过滤是防止多种安全漏洞的关键步骤,包括但不限于SQL注入和命令注入。Apache Commons Lang库提供了一些实用方法来帮助进行字符串操作和验证。以下是一个简单的示例,…...
如何优雅的删除正式环境中的大表
引起 MySQL 数据库性能抖动的原因有很多,比如大事务、定时批量查询等,而这些原因我们一般都会注意到。但是,有一个引起性能抖动的原因却经常被我们忽视,那就是在生产环境删除无用的大表,即 DROP TABLE。 一、为什么要 DROP TABLE? 生产环境中,为什么要 DROP TABLE?相…...
做dj音乐网站/网站系统
2021 年了,前端技术日新月异,发展迅速,前端公众号是不是感觉越来越多了?在着辞旧迎新之际,这里盘点几个前端开发工程师 2021 年必须关注的优质公众号,希望对你有所帮助。大家可以像我一样,利用碎…...
要维护公司的网站该怎么做/免费注册网址
2019独角兽企业重金招聘Python工程师标准>>> 今天决定看看开源中国安卓版app,并试着重构一下。好的进入主题。 创建MainActivity public class MainActivity extends ActionBarActivity implementsNavigationDrawerFragment.NavigationDrawerCallbacks,O…...
精品资源共享课网站建设 碧辉腾乐/山东网页定制
List接口与实现类 List接口 特点:有序,有索引,可重复 常用方法:https://docs.oracle.com/javase/8/docs/api/ List是一个接口,继承于Collection的接口,代表着有序的队列。 ArrayList和LinkedList 作为…...
新人如何自学做网站/seo基础入门免费教程
点击上方“蓝色字”可关注我们!暴走时评:奥地利政府将使用以太坊区块链公证价值11.5亿欧元(约合13亿美元)的政府债券拍卖,联邦政府财政局(OeBFA)已指派银行业巨头Oesterreichische Kontrollbank…...
装修公司网站开发/中国营销网
C操作符的优先级 C操作符的优先级 操作符及其结合性 功能 用法 L L L:: :: ::全局作用域 类作用域 名字空间作用域::name class::name namespace::nameL L L L L. -> [] () ()成员选择 成员选择 下标 函数调用 类型构造object.member pointer->member variable[exp…...
wordpress插件的作用/十大中文网站排名
为了画个图,被numpy这个模块的安装真的折腾疯了!!!一直装不上,花了几个小时,看了网上的很多教程、方法发现总结得不是很全,这里总结一下,防止大家再出现这个问题没有解决方法。Pytho…...