C#基础|了解对象在程序中的状态及垃圾回收机制

embedded/2024/9/23 5:19:43/

哈喽,你好啊,我是雷工!
本节了解对象的生命周期及对象状态和垃圾回收机制,以下为学习笔记。

1、对象的生命周期

对象在内存中不断地被引用,被释放,形成了类似生命周期的过程。

2、对象在内存中的状态

对象在内存中有两种状态:一是正在引用的状态,另一种是游离状态。
正在引用是指程序正在使用的对象;
游离状态是指没有引用的对象,已经使用完毕但依然占据内存空间的状态。

3、垃圾回收机制

垃圾回收机制是.NET虚拟机特有的一种机制,自动运行,并检查对象所处的状态。
当该机制发现对象不被引用时,会将其销毁,释放其所占的内存空间。

在这里插入图片描述

4、垃圾回收机制的好处

垃圾回收机制的出现,大大减轻了程序猿手动编程释放对象内存的操作,降低了故障率,提高了编程效率,且使得程序能够更加稳定的运行。

5、析构函数

当使用delete关键字删除对象时,析构函数会自动调用。
析构函数结构:
~类名()
{
}
程序托管运行环境下,对象的销毁由虚拟机负责,析构函数用处不大,可以简单了解即可。


http://www.ppmy.cn/embedded/31241.html

相关文章

Golang | Leetcode Golang题解之第66题加一

题目&#xff1a; 题解&#xff1a; func plusOne(digits []int) []int {n : len(digits)for i : n - 1; i > 0; i-- {if digits[i] ! 9 {digits[i]for j : i 1; j < n; j {digits[j] 0}return digits}}// digits 中所有的元素均为 9digits make([]int, n1)digits[0]…

react中useRef是什么?有啥用?怎么用?

useRef是什么? 在 React 中&#xff0c;useRef 是一个 Hook&#xff0c;它可以用来存储一个可变的值&#xff0c;这个值在组件的整个生命周期内保持不变。useRef 返回一个可变的 ref 对象&#xff0c;其 .current 属性被初始化为传递给 useRef 的参数&#xff08;initialValue…

毫米波雷达原理(含代码)(含ARS548 4D毫米波雷达数据demo和可视化视频)

毫米波雷达原理 1. 传统毫米波雷达1.1 雷达工作原理1.2 单目标距离估计1.3 单目标速度估计1.4 单目标角度估计1.5 多目标距离估计1.6 多目标速度估计1.7多目标角度估计1.7 总结 3. FMCW雷达数据处理算法4. 毫米波雷达的目标解析(含python代码)5. ARS548 4D毫米波雷达数据demo(含…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(七)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 14 节&#xff09; P14《13.ArkUI组件-自定义组件》 将可变部分封装成组件的成员变量&#xff1a; 1、首先给标题添加两个图标&am…

Electron试用 SQLite

在客户端开发中&#xff0c;无论是 PC 端&#xff0c;还是手机端&#xff0c;为了能够访问离线数据&#xff0c;数据经常需要保存到本地&#xff0c;IndexDB 可以用于存储本地数据&#xff0c;IndexDB 是一个对象存储&#xff0c;数据是以 key:value 的形式进行存储和访问的&am…

视频编辑软件pitivi基本功之将三个相关视频合并成一个视频

视频编辑软件pitivi基本功之将三个相关视频合并成一个视频 一、素材来源&#xff1a;网站下载 到http://cpc.people.com.cn/GB/67481/435238/437822/437828/437900/index.html下载以下三个视频&#xff0c;鼠标右击视频——另存视频为 庆祝中国共产党成立100周年大会即将开始—…

ubuntu搭建jupyter_notebook服务器

环境&#xff1a;ubuntu 22.04 目录 环境&#xff1a;ubuntu 22.04 一、创建一个anaconda用户 创建用户condaUser 为用户condaUser设置密码 开放opt文件夹的权限 登录condaUser用户 二、安装anaconda 下载anaconda 安装anaconda 三、添加环境变量 四、anaconda换源 …

MySQL45讲(一)(40)

回顾binlog_formatstatement STATEMENT 记录SQL语句。日志文件小&#xff0c;节约IO&#xff0c;但是对一些系统函数不能准确复制或不能复制&#xff0c;如now()、uuid()等 在RR隔离级别下&#xff0c;binlog_formatstatement 如果执行insert select from 这条语句是对于一张…