Finalize什么时候被调用

news/2024/7/5 12:08:27

  Finalize方法在垃圾回收结束时被调用,有五种一下情况会导致开始垃圾回收。

  第0代已满  第0代满时,垃圾回收会自动开始。改时间是目前导致Finalize方法被调用的最常见的一种方式,因为随着应用程序代码运行并分配新对象,这个时间会自然而然发生。

 

  代码显式调用System.GC的静态方法Collect   代码显式的请求CLR执行垃圾回收。显然Microsoft强烈建议不要这么做,但某些时候还是必要的。

 

  Windows报告内存不足   CLR内部使用Win32 CreateMemoryResourceNotification和QueryMemoryResourceNotification函数来监视系统的总体内存。如果Windows报告内存不足,CLR就强制执行垃圾回收,尝试释放已经死亡的对象,从而减小进程工作集的大小。

 

  CLR卸载AppDomain  一个AppDomain被卸载时,CLR认为AppDomain中不再存在任何根,因此会对所有代的对象执行垃圾回收。

 

  CLR关闭  一个进程正常终止时,CLR就会关闭。在关闭过程中,CLR会认为该进程不存在任何根,因此会调用托管堆中所用对象的Finalize方法。注意,CLR此时不会尝试压缩或释放内存,因为整个进程要终止,将由Windows负责回收进程的所有内存。

 

  CLR使用一个特殊的、专用的线程来调用Finalize方法。对于前4种事情,如果一个Finalize方法进入了无限循环,这个特殊的线程就会被阻塞,其他Finalize方法就得不到调用。这种请狂况非常糟糕。因为应用程序永远都不会回收由可终结的对象占据的内存------只要应用程序运行,就会一直泄露内存。

转载于:https://www.cnblogs.com/zhangyuanbo12358/p/4467947.html


http://www.niftyadmin.cn/n/4049296.html

相关文章

Appium元素定位方式

1.由于Appium继承了Selenium,所以Selenium胡定位方式都可以使用。通过sdk->\tools 下的uiautomatorviewer工具获取id、name、classname等 2.uiautomator:driver.find_elements_by_android_uiautomator("uiautomator定位串"),实际上是调用ui…

ORACLE客户端连服务器的注意事项

ORACLE客户端连服务器的注意事项:(转载) 1. 通过SQL*NET协议,ORACLE客户端连服务器时一般需要配置sqlnet.ora和tnsnames.ora。 它们默认的目录在$ORACLE_HOME/network/admin 目录下 也可以设置环境变量TNS_ADMIN指向你想用的sqlnet.ora和t…

poj3417(LCA+DP)

题目连接&#xff1a;http://poj.org/problem?id3417 tarjan树DP 来自&#xff1a;http://www.cnblogs.com/scau20110726/archive/2013/05/31/3110666.html 1 #include<cstdio>2 #include<cstring>3 #include<algorithm>4 #include<cmath>5 using nam…

升级android studio 4.1没有flutter、Dart插件

升级Android Studio 4.1.3没有flutter、Dart插件&#xff0c;无法创建flutter项目。 搜索发现Android Studio 4.1.3安装之后不再自带flutter和dart ,需要自己手动安装。 点击Android Studio -> Preferences 搜索安装flutter和dart插件 在Marketplace搜索flutter和dart并…

java web实例训练知识错误总结(三)

一、request的getParameter()和getAttribute()的区别 getParameter 是用来接受用post个get方法传递过来的参数的.getAttribute 必须先setAttribute.&#xff08;1&#xff09;request.getParameter() 取得是通过容器的实现来取得通过类似post&#xff0c;get等方式传入的数据&a…

回家过年啦!

上上个星期六的晚上还是很冷&#xff08;1月6号&#xff09;&#xff0c;突然在星期天晚上在被窝里面感觉很热&#xff0c;自己第一次感觉到春天已经来到了&#xff01;我有一种说不出的心情。身处湖州&#xff0c;自己有一种很想回家的感觉&#xff0c;很想看看爸爸妈妈的感觉…

项目组的同志在公司上班(20060124)

这个星期道公司上班&#xff0c;体验了一回在公司上班的滋味。项目组的同志在这里上班真正的与众不同&#xff0c;上班想几点就几点&#xff0c;真是爽阿。星期一&#xff0c;我睡觉到了10点半&#xff0c;然后乘74路车到公司&#xff0c;因为今天大家都回来了&#xff0c;晚上…