JVM——9.对象的访问定位方式

news2024/11/25 18:47:29

前一篇文章,我们详细的了解了对象在堆内存中是如何分配的。现在,对象已经分配好了,那么要如何访问定位呢?下面,我们一起来了解一下。

目录

1.概述

2.句柄法

3.直接指针法

4.小结


1.概述

创建对象是为了使用该对象,Java程序会通过栈上的reference数据来操作堆上的具体对象。由于reference类型在《Java虚拟机规范》里面只规定了它是一个指向对象的引用,并没有定义这个引用应该通过什么方式去定位、访问到堆中对象的具体位置,所以对象访问方式也是由虚拟机实现而定的,主流的访问方式主要有 使用句柄 和 直接指针 两种。

2.句柄法

Java堆中将会划分出一块内存来作为 句柄池,reference中存储的就是对象的句柄的地址,而句柄中包含了对象实例数据与类型数据各自具体的地址信息。

优点:reference存储的是稳定的句柄地址,在对象被移动(垃圾收集时移动对象是非常普遍的行为)时只会改变句柄中的实例数据指针,而reference本身不需要改变。

缺点:增加了一次指针定位的时间开销。

3.直接指针法

reference中存储的直接就是对象地址,如果只是访问对象本身的话,就不需要多一次间接访问的开销。对象实例数据中有指向对象类型数据的指针。

优点节省了一次指针定位的开销。

缺点在对象被移动时reference本身需要被修改。

4.小结

本篇文章主要介绍了JVM定位访问对象的两种方式,要掌握。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1021392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Lnmp架构之mysql数据库实战1

1、mysql数据库编译 编译成功 2、mysql数据库初始化 配置数据目录 全局文件修改内容 生成初始化密码并进行初始化设定 3、mysql主从复制 什么是mysql的主从复制? MySQL的主从复制是一种常见的数据库复制技术,用于将一个数据库服务器(称为主…

MyBatisPlus(四)表映射:@TableName

表映射 数据库中的表名,和项目中的实体类名,并不相同,则需要通过注解TableName来进行映射。 未映射前报错示例 数据库表名:tb_user 实体类名:User 测试代码 Autowiredprivate UserMapper userMapper;Testvoid selec…

git 工作区和版本库和暂存区差异比较

一般比较代码差距习惯用Beyond Compare进行比较,然后进行一些定位和解bug操作,现使用了git 工具进行代码比较. (1)比较两个版本库之间的差距 git log 得到commit SHA git diff SHA1 SHA2 (2)比较工作区和版本库差异 git diff HEAD 或 git log git …

计算机网络分类

按照覆盖范围分类 (1)个域网:通常覆盖范围在1~10m。 (2)局域网:通常覆盖范围在10m~1km。 (3)城域网:覆盖范围通常在5~50 km 。 &…

程序安全漏洞

一、SQL注入 一种代码注入技术,一般被应用于攻击web应用程序。 通过在web应用接口传入一些特殊参数字符,来欺骗应用服务器,执行恶意的SQL命令,以达到非法获取系统信息的目的。它目前是黑客对数据库进行攻击的最常用手段之一。 常…

【线性回归、岭回归、Lasso回归分别预测患者糖尿病病情】数据挖掘实验一

Ⅰ、项目任务要求 任务描述:将“diabetes”糖尿病患者数据集划分为训练集和测试集,利用训练集分别结合线性回归、岭回归、Lasso回归建立预测模型,再利用测试集来预测糖尿病患者病情并验证预测模型的拟合能力。具体任务要求如下: …

服务网格和微服务架构的关系:理解服务网格在微服务架构中的角色和作用

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

现在进入广告行业好做吗?

广告行业真的很好,大家快来…… 在这里你可以无限发挥你的创意和想象力,有趣的同事,不刻板的工作内容,与爱豆合作,偶尔见见明星,出入城市CBD,一身名牌,精美PPT挥斥方遒,…

grafana结合Skywalking追踪Trace(一)

SW应用中对Trace的跟踪一直占有重要的地位,即可以用户指定的tag值,可以筛选出感兴趣的trace(跟踪链),用户可以通过跟踪链追踪各个Span的详细情况。 但是在使用SW OAP原生页面中会存在两个问题: 1) Trace数量太多了&…

Linux Ubuntu命令行快速配置C++开发环境

本文介绍在Linux操作系统的Ubuntu版本中,基于命令行,快速配置C 编辑、编译、运行的代码开发环境的简便方法。 在之前的文章Linux操作系统Ubuntu 22.04配置Visual Studio Code与C代码开发环境的方法(https://blog.csdn.net/zhebushibiaoshifu/article/det…

Springboot项目升级2.2.x升至2.7.x

依赖管理 spring-boot-starter-parent 升级为2.7.1 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId> <!-- 升级为2.7.x的版本--><version>2.7.1</version>…

【STM32】WWDG—窗口看门狗

在一个设定好的区间进行喂狗 与独立看门狗不同的是&#xff0c;独立看门狗只需要在计时到0之前喂狗。而窗口看门狗需要在设定好的区间内进行喂狗&#xff0c;否则进行reset。 下限 递减计数器不断的往下递减计数&#xff0c;当减到一个固定值 0X40时还不喂狗的话&#xff0c…

《ADS2011射频电路设计与仿真实例》功率放大器设计的输入输出匹配

徐兴福这本书的6.6 Smith圆图匹配这一节中具体匹配时&#xff0c;直接给出了电容与串联微带的值&#xff0c;没有给出推导过程&#xff0c;我一开始以为是省略了详细推导过程&#xff0c;后来发现好像基本上是可以随便自己设的。以输入匹配&#xff08;书本6.6.4输入匹配电路的…

​安徽农业大学《乡村振兴战略下传统村落文化旅游设计》许少辉博士新著——2023学生开学季辉少许流动站

​安徽农业大学《乡村振兴战略下传统村落文化旅游设计》许少辉博士新著——2023学生开学季辉少许流动站

Archicad 26 for Mac - 打造卓越的3D建模工具

随着建筑设计和规划的日益复杂化&#xff0c;寻找一款功能强大且易于使用的3D建模工具变得至关重要。而Archicad 26 for Mac正是您在建筑设计领域中的理想选择。无论您是一名建筑师、室内设计师还是建筑工程师&#xff0c;Archicad 26都将成为您的得力助手。 作为一款全球领先…

计算机竞赛 深度学习 python opencv 动物识别与检测

文章目录 0 前言1 深度学习实现动物识别与检测2 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 3 YOLOV53.1 网络架构图3.2 输入端3.3 基准网络3.4 Neck网络3.5 Head输出层 4 数据集准备4.1 数据标注简介4.2 数据保存…

python脚本(渗透测试)

python爬取edusrc 通过此脚本&#xff0c;可以爬取edusrc的目标信息&#xff0c;生成目标字典&#xff0c;为下一步开发自动化测试工具做准备 import queue import threading import timeimport requests from bs4 import BeautifulSoup import re def get_edu_name():while …

算法-单词搜索 II

算法-单词搜索 II 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/word-search-ii/description/?envTypestudy-plan-v2&envIdtop-interview-150 1.2 题目描述 2 DFS 2.1 解题思路 每个格子往上下左右四个方向DFS&#xff0c;拼接后的单词如果在答案集中&…

【测试开发】基础篇 · 专业术语 · 软件测试生命周期 · bug的描述 · bug的级别 · bug的生命周期 · 处理争执

【测试开发】基础篇 文章目录 【测试开发】基础篇1. 软件测试生命周期1.1 软件生命周期1.2 软件测试生命周期 2. 描述bug3. 如何定义bug的级别3.1 为什么要对bug进行级别划分3.2 bug的一些常见级别 4. bug的生命周期5. 产生争执这么怎么办&#xff08;处理人际关系&#xff09;…

启山智软/电商商城100%开源

介绍 想要了解代码规范&#xff0c;学习商城解决方案&#xff0c;点击下方官网链接联系客服 作者&#xff1a;启山智软 官网及博客&#xff1a;启山智软官网、CSDN、掘金、gitee 简介&#xff1a;启山智软目前开发了全渠道电商商城系统&#xff0c;本商城是基于SpringCloud的商…