zoukankan
html css js c++ java
Java 内存回收机制
当执行构造方法生成一个对象时,需要占用各种系统资源。当生成的对象不再使用时,就需要返回给操作系统,以免资源的泄露。在各种系统资源中,最常使用的就是内存。Java运行时系统通过垃圾收集周期性地释放无用对象所使用的内存。当一个对象在程序中不再使用时,即当前的代码段不属于对象的作用域或把对象的引用赋值为空,则该对象就成了一个无用的对象。Java的垃圾收集器自动扫描对象的动态内存区,对不再使用的对象做上标记以进行垃圾回收。垃圾收集器作为一个线程运行。当系统的内存用尽或程序中调用System.gc()要求进行垃圾收集时,垃圾收集线程与系统同步运行,否则垃圾收集器在系统空闲时异步地执行。C语言中通过free来释放内存,C++中则通过delete来释放内存,如果程序员忘记释放内存,则容易造成内存泄漏甚至导致内存的耗尽。在Java中不会发生内存泄漏情况,但对于其他资源,则有产生泄露的可能性。
Java中的每一个类都有一个finalize()方法用于释放资源,在对对象进行自动垃圾回收前,Java运行时系统会自动调用对象的finalize()方法来释放系统资源,如关闭打开的文件或socket等。该方法的声明格式如下:
protected void finalize() throws throwable
finalize()方法在java.lang.Object中声明,但并没有做任何事情。如果一个类需要释放内存以外的资源,则需要在类中重写finalize()方法。
查看全文
相关阅读:
nullnullUVa 10066 The Twin Towers(LCS水题)
代码错误zoj1298Domino Effect
实现图形Qt学习:三维绘图之OpenGL和Qt的结合
情况数组zoj2412Farm Irrigation
nullnulle人事管理系统人事档案变更管理人员合同变更
判断条件UVa 10192 Vacation(LCS水题)
查询数量查看表的所有相关列信息
代码提交省赛啊省赛
输入声音如何搜索一张发音的图片
数组字符串uva 10405 Longest Common Subsequence(最长公共子序列)
原文地址:https://www.cnblogs.com/ljy-1471914707/p/7365867.html
最新文章
arcgis 判断要素是否被编辑
如何用.NET(CSharp & VB.NET)将DWG文件打印为PDF .
C# AutoCAD ActiveX 二次开发 CAD图层合并
ArcEngine判断要素(feature)是否为multipart feature及分解(炸开)代码
arcgis 如何改变字段的别名
美国实施代号“爱因斯坦”的网络安全工程 狼人:
最受欢迎的十款免费安全软件 狼人:
网络黑客攻击呈现三大特点 形成利益链条 狼人:
微软下周将发布重磅安全公告 修复40个漏洞 狼人:
关于网络谣言“杀毒软件厂商制造病毒”的严正声明 狼人:
热门文章
公安部:大量计算机防黑客能力较弱 狼人:
VMware发布ESX平台安全更新 以解决漏洞 狼人:
2010年十大安全事件回顾 狼人:
VB100十二月成绩公布 狼人:
华为在英国成立安全认证中心 狼人:
杀软厂商开源从此走向平台化? 狼人:
杀毒软件业野蛮生长法则:自己研发病毒自己杀 狼人:
虚拟蜜罐:从僵尸网络追踪到入侵检测 狼人:
网络安全:全面解析端点安全的四大支柱 狼人:
金山卫士宣布全面开源 360称此举极度危险 狼人:
Copyright © 2011-2022 走看看