finalize的作用
来源:互联网 发布:淘宝二类医疗器械申请 编辑:程序博客网 时间:2024/06/14 00:01
今天介绍一下finalize,对于初级工程师来说,最常见的一个面试问题就是:final,finally,finalize的区别了吧。在Java编程思想这本书中也有介绍到finalize。下面我将大致来说说这个finalize的作用。
对于java工程师来说,gc一定不会陌生吗。java有别于其他c之类的语言就是开发者不需要关心内存释放的问题,gc会帮我们处理。但gc只管new出来的东西,也就是只负责堆里面的内存,但无法关闭其他资源,也无法处理java调用C或其他语言分配出的内存。这里打岔一下,问大家一个问题。如果gc只负责堆的内存,那栈的内存谁管??这问题是我在了解finalize的过程中,想到了。后面去csdn的论坛问的。原来栈的内存是自己管的,栈先入后出的数据结构就是决定了它的内存是子负责内存的,当在一段代码块定义一个变量时,Java在栈中为这个变量分配内存空间,当该变量退出其作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。
finalize就是应对那些不是new出来的对象释放内存用的。工作原来是这样的:当java类调用本地方法库(c或c++等其它语言)。一旦gc准备好释放该java类,将首先调用其finalize()方法,所以你打算用finalize的时候,就能在java对象被回收之前,调用finalize方法释放c或其它语言的内存。
阅读全文
0 0
- finalize的作用
- final、finally、finalize的作用
- java中final,finally,finalize三者的作用和区别
- final、finally、finalize分别有什么作用
- 【java】finalize的用途
- finalize方法的说明
- 关于java的finalize
- java--finalize()的学习
- finalize方法的使用
- 关于finalize的理解
- finalize()的调用
- finalize方法的使用
- finalize()方法的使用
- finalize的使用场景
- 方法finalize()的应用
- 方法finalize()的应用
- 方法finalize()的应用
- finalize
- 冒泡排序
- JavaScript经典案例
- Lintcode55 Compare Strings solution 题解
- kotlin在Android studio3.0上的配置问题
- java 创建多线程两种方法比较
- finalize的作用
- 仿QQ侧滑效果
- Image magnifier
- Shell echo命令
- java用poi实现对word读取和修改操作
- order by与group by区别
- 【原】MIT在线课程学习笔记之《Introduction to C Memory Management and C++ Object-Oriented Programming》
- 深入理解java虚拟机读书笔记(二): 运行时数据区域
- Oracle SQL分析函数lag、lead解决相邻记录比较问题