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

【jvm】直接引用

目录

          • 1. 说明
          • 2. 形式
          • 3. 特点
          • 4. 生成过程
          • 5. 作用

1. 说明
  • 1.在Java虚拟机(JVM)中,直接引用(Direct Reference)是相对于符号引用(Symbolic Reference)而言的,它是指向内存中实际存在的对象的引用
  • 2.是指向内存中实际存在的对象的引用,它与虚拟机的内存布局紧密相关,是JVM进行对象访问和操作的基础。
2. 形式
  • 1.指针:直接指向目标的指针,例如指向“类型”(Class对象)、类变量、类方法的直接引用可能是指向方法区的指针
  • 2.相对偏移量:例如指向实例变量、实例方法的直接引用通常是相对于实例对象的起始地址的偏移量。
3. 特点
  • 1.内存相关性:直接引用与虚拟机的内存布局紧密相关,不同的虚拟机实现可能会有不同的内存布局,因此同一个符号引用在不同的虚拟机实例上翻译出来的直接引用可能不同。
  • 2.加载性:如果有了直接引用,那么引用的目标必定已经被加载到内存中。这是因为在解析阶段,JVM会将常量池内的符号引用替换为直接引用,而这个过程通常伴随着类加载和初始化。
4. 生成过程
  • 1.在JVM的类加载过程中,当类被加载到内存中并初始化后,类中的符号引用会被解析为直接引用。
  • 2.加载:将类的二进制数据读入到JVM中,并创建对应的java.lang.Class对象。
  • 3.链接:包括验证、准备和解析三个阶段。其中,解析阶段就是将常量池中的符号引用替换为直接引用的过程。
  • 4.初始化:为类的静态变量分配内存并设置初始值执行静态代码块等。
5. 作用
  • 1.直接引用使得JVM能够高效地访问和操作内存中的对象。
  • 2.通过直接引用,JVM可以直接访问对象的属性和方法,执行对象的操作等。
  • 3.直接引用是JVM进行垃圾回收的重要依据之一。
  • 4.JVM的垃圾回收器通过遍历对象之间的引用关系,来判断哪些对象是可达的(即被引用的),哪些是不可达的(即未被引用的),从而对不可达的对象进行回收。

http://www.mrgr.cn/news/2744.html

相关文章:

  • 【ARM 芯片 安全与攻击 5.2.1 -- 侧信道与隐蔽信道的区别】
  • 编程的魅力、其在现代社会的重要性、学习编程的途径,以及编程如何改变我们的思维方式和未来世界。
  • 基于深度学习的在线学习与适应
  • 垂直电商的兴衰与开源AI智能名片S2B2C商城系统的崛起:一场商业模式的革新
  • 13 - FFmpeg 封装 MP4
  • 多网络制式下移动通信如何节能降本
  • MySQL 主从复制的两种方式详解
  • MongoDB Redis 快速上手:NoSQL数据库操作精要
  • 找在两个汉字中间的句号,如何写正则表达式?
  • 24/8/14算法笔记 复习_逻辑回归sigmoid
  • Linux 下安装miniconda(少走弯路)
  • Linux命令学习 -- tar指令
  • 在C#编程中,如何使用LINQ查询从多个数组中提取满足特定条件的元素?
  • 智慧水务平台:数智化驱动,‌实现管理全面升级!‌
  • 论文解读:从Dijkstra的On-the-Fly到Go的三色标记算法,并行垃圾回收的起源
  • 探索Prompt调优的艺术:让AI更智能
  • 基于Kotlin Multiplatform实现静态文件服务器(一)
  • 如何优化马丁格尔交易策略?Anzo Capital 昂首资本官网学会一种策略
  • linux中Systemd Unit文件编写
  • 十九、中介者模式