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

JVM篇---第五篇

系列文章目录


文章目录

  • 系列文章目录
  • 一、简述Java的对象结构
  • 二、如何判断对象可以被回收?
  • 三、JVM的永久代中会发生垃圾回收么?


一、简述Java的对象结构

Java对象由三个部分组成:对象头、实例数据、对齐填充。
对象头由两部分组成,第一部分存储对象自身的运行时数据:哈希码、GC分代年龄、锁标识状态、
线程持有的锁、偏向线程ID(一般占32/64 bit)。第二部分是指针类型,指向对象的类元数据类型
(即对象代表哪个类)。如果是数组对象,则对象头中还有一部分用来记录数组长度。
实例数据用来存储对象真正的有效信息(包括父类继承下来的和自己定义的)
对齐填充:JVM要求对象起始地址必须是8字节的整数倍(8字节对齐)

二、如何判断对象可以被回收?

判断对象是否存活一般有两种方式:
引用计数:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计
数为0时可以回收。此方法简单,无法解决对象相互循环引用的问题。
可达性分析(Reachability Analysis):从GC Roots开始向下搜索,搜索所走过的路

http://www.lryc.cn/news/183442.html

相关文章:

  • C/C++ 排序算法总结
  • 机器学习---RBM、KL散度、DBN
  • (c语言)有序序列合并
  • 小谈设计模式(18)—适配器模式
  • Python柱形图
  • 用OpenCV(Python)获取图像的SIFT特征
  • 阿里云ECS和轻量服务器有什么区别?
  • 华为云云耀云服务器L实例评测|安装搭建学生成绩管理系统
  • Audacity 使用教程:轻松录制、编辑音频
  • 深入了解“注意力”和“变形金刚”-第2部分
  • ​“债务飙升!美国一天内增加2750亿美元,金融震荡的前奏已拉开帷幕!”
  • 最新Uniapp软件社区-全新带勋章源码
  • 基于goravel的CMS,企业官网通用golang后台管理系统
  • (五)激光线扫描-位移台标定
  • 媒体发稿:为什么选择国内媒体推广一文带你领略其魅
  • 基于自私羊群优化的BP神经网络(分类应用) - 附代码
  • AI绘图:GPT4技术的艺术化呈现与无限可能
  • Go Gin Gorm Casbin权限管理实现 - 1. Casbin概念介绍以及库使用
  • JUC第十五讲:JUC集合-ConcurrentHashMap详解(面试的重点)
  • 【TensorFlow Hub】:有 100 个预训练模型等你用
  • vulnhub靶机doubletrouble
  • 【数据结构】排序算法(二)—>冒泡排序、快速排序、归并排序、计数排序
  • SpringCloud-消息组件
  • oringin的x轴(按x轴规定值)绘制不规律的横坐标
  • ubuntu安装MySQL
  • 背包问题学习笔记-多重背包问题
  • Net相关的各类开源项目
  • 阿里云服务器修改IP地址的两种方法
  • SpringMVC的数据绑定
  • 1.1.OpenCV技能树--第一单元--OpenCV简介