垃圾回收器与finalize()函数
张孝祥的java就业培训教程第三章里提到了垃圾回收器和finalize函数,另外还提到了C++的析构方法作为引子。我大致上看懂了析构方法的意义。但是不明白垃圾回收器和fi...
张孝祥的java就业培训教程第三章里提到了垃圾回收器和finalize函数,另外还提到了C++的析构方法作为引子。我大致上看懂了析构方法的意义。但是不明白垃圾回收器和finalize函数的关系。finalize是垃圾回收器的一个部分呢?还是说它们根本就是一个东西?希望回答尽量思路清晰完整,谢谢!
展开
展开全部
垃圾回收器要回收对象的时候,首先要调用这个类的finalize方法(你可以写程序验证这个结论),一般的纯Java编写的Class不需要重新覆盖这个方法,因为Object已经实现了一个默认的,除非我们要实现特殊的功能(这里面涉及到很多东西,比如对象空间树等内容)。
不过用Java以外的代码编写的Class(比如JNI,C++的new方法分配的内存),垃圾回收器并不能对这些部分进行正确的回收,这时就需要我们覆盖默认的方法来实现对这部分内存的正确释放和回收(比如C++需要delete)。
总之,finalize相当于析构函数,他是垃圾回收器回收一个对象的时候第一个要调用的方法。不过由于Java的垃圾回收机制能自动为我们做这些事情,所以我们在一般情况下是不需要自己来手工释放的。
不过用Java以外的代码编写的Class(比如JNI,C++的new方法分配的内存),垃圾回收器并不能对这些部分进行正确的回收,这时就需要我们覆盖默认的方法来实现对这部分内存的正确释放和回收(比如C++需要delete)。
总之,finalize相当于析构函数,他是垃圾回收器回收一个对象的时候第一个要调用的方法。不过由于Java的垃圾回收机制能自动为我们做这些事情,所以我们在一般情况下是不需要自己来手工释放的。
shb-洁天
2024-04-15 广告
2024-04-15 广告
上海洁天机械有限公司,经过前期的探索、研发设计、创新,在2004年4月正式成立,专业自主开发洁天牌(JT系列)全不锈钢数控防爆溶剂回收机,并二次通过国家防爆认证(为五年一次)。凭借在废有机溶剂处理行业十年多的扎实基础和经验,尽心尽力帮助客户...
点击进入详情页
本回答由shb-洁天提供
2006-11-11
展开全部
生活中常见的可回收垃圾主要有,废纸:报纸、书本纸、包装用纸、办公用纸、广告用纸、纸盒等;但纸巾和厕所纸由于水溶性太强不可回收。塑料:各种塑料袋、塑料泡沫、塑料包装、一次性塑料餐盒餐具、硬塑料、塑料杯子、矿泉水瓶等;玻璃:玻璃瓶和碎玻璃片、镜子、灯泡、暖瓶等;金属:易拉罐、铁皮罐头盒、牙膏皮等。布料:主要包括废弃衣服、桌布、毛巾、布包等。常见的在自然条件下易分解的垃圾,如果皮、菜叶、剩菜剩饭、花草树枝树叶等,属于不可回收物。
可回收的垃圾主要包括废纸、塑料、玻璃、金属和布料五大类。举例说明如下:
废纸:主要包括报纸、期刊、图书、各种包装纸、办公用纸、广告纸、纸盒等等,但是要注意纸巾和厕所纸由于水溶性太强不可回收。
塑料:主要包括各种塑料袋、塑料包装物、一次性塑料餐盒和餐具、牙刷、杯子、矿泉水瓶等。
玻璃:主要包括各种玻璃瓶、碎玻片、镜子、灯泡、暖瓶等。
金属物:主要包括易拉罐、罐头盒、牙膏皮等。
布料:主要包括废弃衣服、桌布、洗脸巾、书包、鞋等。
可回收物以外的垃圾基本上都是废弃物。比如烟头、鸡毛、废电、煤渣、建筑垃圾、油漆颜料、食品残留物等等。
有毒垃圾,包括废电池、日光灯管、水银温度计、油漆筒、药品、化妆品等。
可回收的垃圾主要包括废纸、塑料、玻璃、金属和布料五大类。举例说明如下:
废纸:主要包括报纸、期刊、图书、各种包装纸、办公用纸、广告纸、纸盒等等,但是要注意纸巾和厕所纸由于水溶性太强不可回收。
塑料:主要包括各种塑料袋、塑料包装物、一次性塑料餐盒和餐具、牙刷、杯子、矿泉水瓶等。
玻璃:主要包括各种玻璃瓶、碎玻片、镜子、灯泡、暖瓶等。
金属物:主要包括易拉罐、罐头盒、牙膏皮等。
布料:主要包括废弃衣服、桌布、洗脸巾、书包、鞋等。
可回收物以外的垃圾基本上都是废弃物。比如烟头、鸡毛、废电、煤渣、建筑垃圾、油漆颜料、食品残留物等等。
有毒垃圾,包括废电池、日光灯管、水银温度计、油漆筒、药品、化妆品等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询