系列四、GC垃圾回收【四大垃圾算法-引用计数法】

一、概述

        Java中,引用和对象是有关联的,如果要操作对象则必须要用引用进行。因此判断一个对象是否可以被回收,很显然一个简单的办法就是通过引用计数来判断一个对象是否可以被回收。简单来讲就是给对象中添加一个引用计数器,每当一个地方引用它,计数器的值就加1,每当一个引用失效时,计数器的值就减1。任何时刻当计数器的值为零的对象,就是不可能再被使用的,那么这个对象就是可以回收的对象。但是,主流的Java虚拟机里面都没有使用这种算法,最主要的原因就是就是它很难解决对象之间的相互循环引用的问题。

二、案例代码

/*** @Author : 一叶浮萍归大海* @Date: 2023/11/17 11:21* @Description: 引用计数算法垃圾回收* 设置VM Options*      -Xms10m -Xmx10m -XX:+PrintGCDetails*/
public class ReferenceCountGC {/*** 这个成员唯一的作用就是占用一点内存*/private byte[] bigSize = new byte[1024 * 1024 * 2];Object instance = null;public static void main(String[] args) {ReferenceCountGC objectA = new ReferenceCountGC();ReferenceCountGC objectB = new ReferenceCountGC();objectA.instance = objectB;objectB.instance = objectA;objectA = null;objectB = null;System.gc();}}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode刷题-滑动窗口】--159.至多包含两个不同字符的最长子串

159.至多包含两个不同字符的最长子串 方法:滑动窗口 定义两个指针left和right作为窗口的边界,将两个指针都设定在位置0,然后向右移动right指针,直到窗口内不超过两个不同的字符,如果某一点我们得到了3个不同的字符&am…

《许犁庭与柔性世界》第十三章 伊拉斯蒂克

“哈哈哈,居然小脸着地!看来桉嘴牛的发射也没那么安全。”若丹姐姐嬉皮笑脸来到她面前,“怎么样,惊险不惊险,刺激不刺激?” 许犁庭脸色发白,身子发虚,只觉得心儿依旧高悬不落&#x…

OpenCV入门6——图像基本变换

文章目录 图像的放大与缩小缩放算法放大 图像的翻转图像的旋转仿射变换之图像平移仿射变换之获取变换矩阵仿射变换之变换矩阵之二OpenCV透视变换 图像的放大与缩小 缩放算法 # -*- coding: utf-8 -*- import cv2 import numpy as npimg cv2.imread(E://pic//4.jpg) # (600, 48…

Pandas的fillna()填充空值

0.摘要 pandas中fillna()方法,能够使用指定的方法填充NA/NaN值。 1.函数详解 函数形式:fillna(valueNone, methodNone, axisNone, inplaceFalse, limitNone, downcastNone, **kwargs) 参数: value:用于填充的空值的值。 met…

时序预测 | Python实现ConvLSTM卷积长短期记忆神经网络股票价格预测(Conv1D-LSTM)

时序预测 | Python实现ConvLSTM卷积长短期记忆神经网络股票价格预测(Conv1D-LSTM) 目录 时序预测 | Python实现ConvLSTM卷积长短期记忆神经网络股票价格预测(Conv1D-LSTM)预测效果基本介绍程序设计参考资料预测效果 基本介绍 时序预测 | Python实现ConvLSTM卷积长短期记忆神…

atsec at the PCI Community Meeting 2023

atsec participated in the PCI (Payment Card Industry) Security Standards Council 2023 Asia-Pacific Community Meeting held in Kuala Lumpur, Malaysia, on 15 and 16 November and hosted a booth. atsec’s principal consultant Di Li provided a presentation on “…

学习笔记5——对象、直接内存、执行引擎,string

学习笔记系列开头惯例发布一些寻亲消息 链接:https://baobeihuijia.com/bbhj/contents/3/192486.html 创建对象的步骤 对象对应的类是否被加载,链接(链接到真实的内存地址),初始化(类初始化)…

回顾——自我监督的 Vision Transformer 学到了什么?

一、说明 在尝试自我监督学习时,主要有两种方法:对比学习(CL)和掩模图像建模(MIM)。然而,随着MIM最近受到关注,很多人使用MIM,但他们可能不知道为什么使用它以及何时应该…

ython 的 http.client 和 python-requests 性能差异分析与优化

在Python中,有两个常用的HTTP库,分别是http.client和python-requests。。 社区成员Lukasa提出了一个可能的原因,即python-requests可能没有正确缓存主机名查找。这个问题涉及到了底层的网络操作,因为Python-requests实际上是在ht…

opencv(2): 视频采集和录制

视频采集 相关API VideoCapture()cap.read(): 返回两个值,第一个参数,如果读到frame,返回 True. 第二个参数为相应的图像帧。cap.release() VideoCapture cv2.VideoCapture(0) 0 表示自动检测,如果在笔记本上运行&…

PCL 提取点云边界轮廓-AC方法、平面轮廓

一、概述 PCL点云边界特征检测 (附完整代码 C)_pcl计算点云特征值_McQueen_LT的博客-CSDN博客 在点云的边界特征检测(网格模型的边界特征检测已经是一个确定性问题了,见 网格模型边界检测)方面,PCL中有一…

「Verilog学习笔记」用3-8译码器实现全减器

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 分析 首先列出3-8译码器和全减器的真值表 全减器真值表如下 3-8译码器真值表如下 timescale 1ns/1nsmodule decoder_38(input E ,input A0 …