在java中,当一个对象成为垃圾后仍会占用内存空间,时间一长,就会导致内存空间的不足。针对这种情况,java中引入了垃圾回收机制。程序员不需要过多的关心垃圾对象回收的问题,java虚拟机会自动回收垃圾对象所占的内存空间。

一个对象在成为垃圾后暂时的保存在内存中,当这样的垃圾堆积到一定程度时,java虚拟机就会启动垃圾回收器将这些垃圾对象从内存中释放,从而使程序获得更多的用的内存空间。除了等待java虚拟机进行自动垃圾回收,也可以通过调用System.gc()方法来通知java虚拟机立即进行垃圾回收。当一个对象在内存中释放时,它的finalize()方法会被自动调用,因此可以在类中通过定义finalize()方法来观察对象何时被释放。
class Person
{
//finalize方法会在垃圾回收前被调用
public  void finalize(){
System.out.println("对象将作为垃圾回收!!!");
}
}
class Example 
{
public static void main(String[] args) 
{
Person p1=new Person();
Person p2=new Person();
//将变量置为null,让对象成为垃圾
p1=null;
p2=null;
System.gc();
for(int i=0;i<100000;i++){
//为了延长程序运行时间
}
}
}

运行结果:
对象将作为垃圾回收!!!
对象将作为垃圾回收!!!
java虚拟机的垃圾回收操作是在后台完成的,程序结束后,垃圾回收的操作也将终止。

java基础之垃圾回收_繁星漫天_新浪博客相关推荐

  1. 2.2.2 胸腰差和胸臀差的应用_米人NOONE_新浪博客

    2.2.2 胸腰差和胸臀差的应用_米人NOONE_新浪博客 2.2.2  胸腰差和胸臀差的应用_米人NOONE_新浪博客 腰差和胸臀差的应用 (2009-06-16 19:24:57) 转载▼ 标签: ...

  2. java path JAVA_HOME class的设置及其用意_bin910729_新浪博客

     今天再次设置java的环境变量,突然发现每次设置都只是按照步骤一步步将其设置完,并不了解为啥要设置,于是上网找了找,找到遍文章,觉得不错,就留下了.       仅供记录学习.转自:http://b ...

  3. ArcGIS MPK的两种打包方式_陈焜浩Arain_新浪博客

    最近发现用ArcGIS打包的MPK文件,如果数据的来源不一样:从shapefile源数据或者是从SDE源数据进行打包,能够引起打包文件的大小不一样已经在代码中引用文件的效率不一样的差异.开始发现这种差 ...

  4. MODIS MOD11A2地温产品_江仔91_新浪博客

    注意事项: 1.经MRT转换后的数据需要进一步处理,如:LST产品需经公式:NG*0.02-273.15运算后才可转换为设施温度.​

  5. Java基础部分快速复习(以前复习的时候放在自己的新浪博客上)

    工作后Java基本没有用到,有时候自己也会把基础过一遍,下面的链接是以前重温的时候整理的Java基础最核心部分的知识点和代码示例放在自己的新浪博客上,如果以后有需要,直接从这里进入,可以快速复习,节省 ...

  6. 邓文迪撑杆跳,甩开老公要独立?_富杂志_新浪博客

    邓文迪撑杆跳,甩开老公要独立?_富杂志_新浪博客 邓文迪撑杆跳,甩开老公要独立? (2010-01-11 10:55:22) 转载▼

  7. cadence spb 16.5 破解过程实例和使用感受_赤松子耶_新浪博客

    cadence spb 16.5 破解过程实例和使用感受_赤松子耶_新浪博客 Cadence Allegro16.5详细安装具体的步骤 1.下载SPB16.5下来后,点setup.exe,先安装第一项 ...

  8. 关于幂律分布的一个笔记_哈克_新浪博客

    关于幂律分布的一个笔记_哈克_新浪博客 关于幂律分布的一个笔记     (2011-03-02 18:12:27)     转载▼     标签:     幂律     二八法则     杂谈     ...

  9. SQL基础用法总结(以前复习的时候放在自己的新浪博客上)

    工作后主要做移动端和前端这一块,后端的知识都是靠自己学习积累的,下面的链接是以前重温的时候整理的SQL基础最核心部分的知识点和代码示例放在自己的新浪博客上,如果以后有需要,直接从这里进入,可以快速复习 ...

  10. vim高级技巧(split)_小花_新浪博客

    vim高级技巧(split)_小花_新浪博客    :res(ize) +N 把当前窗口高度增加N个像素    :res(ize) -N 把当前窗口高度减少N个像素    :vertical res( ...

最新文章

  1. Cacti如何实现电话告警
  2. 077_访问者的信息
  3. AOP:【动态代理】||@Pointcut
  4. php7的稳定性,探索PHP7(一)--性能
  5. java外挂源码_2.7 万 Star!Github 项目源码辅助阅读神器
  6. 计算机应用用什么样的笔记本,制图用什么笔记本好
  7. Redis主从持久化测试
  8. java数组图片_在JAVA中定义图片数组
  9. 列出最少8种开源软件_您的公司可以支持和维持开源的8种方式
  10. Oracle数据库实现主键自增(利用sequence)和分页查询(利用rownum)
  11. vs2017调用linux脚本,[代码] ShellExecute调用外部程序_VS2017
  12. AndroidStudio 导出AAB格式上传谷歌提示超过150M 解决方案
  13. 梦殇 chapter three
  14. 2020.8.8List、Set集合练习
  15. 数据错误循环冗余检查是什么意思_德尔西曼.交换机是一种什么设备?通过什么方式进行交换?...
  16. 【ACWing】487. 金明的预算方案
  17. 2019年了桌面CPU还吊打笔记本CPU?真相了
  18. 基于java web的在线考试系统(源码+论文)
  19. 区块链架构发展和特征以及B/S、C/S、云架构
  20. 简单使用:eq和.eq

热门文章

  1. 【BX学习之生活问题】 福建工商-个体户-工商年报-登录方式
  2. HTTP请求网页(包括HTTPS)
  3. vue swiper6版本 navigation不起作用小坑
  4. csdn博客 代码块的显示设置以及图片的插入技巧
  5. 我来一下对比阿里云服务器和腾讯云服务器的优劣和区别
  6. 曾经阅读过非技术文章,作者
  7. 小程序——疫情下企业数字化的新方向
  8. pandorabox挂硬盘文件服务器,PandoraBox将系统挂载到U盘启动图文教程
  9. 2020-10-14
  10. Git修改以前某次历史提交注释