简单理解了下java中的垃圾回收机制
来源:互联网 发布:php 压缩图片 编辑:程序博客网 时间:2024/06/07 00:51
准备找工作,所以各种看书了,对于java开发岗来说垃圾回收机制的份量很重的说。看了以下几本书中对垃圾回收机制的描述:《深入理解java虚拟机》、《java编程思想》、《疯狂Java讲义》、《Java程序员面试宝典》,真的都看了,然后也晕了。但是如果面试官问我请你简单介绍一下java中的垃圾回收机制,我应该会这么说。
1、回收的内容是new出来的对象所占内存;
2、垃圾回收只与内存有关,清理内存外的资源依靠finalize()方法。垃圾回收机制在回收某个对象的内存前会调用该对象的finalize()方法。
3、强制系统垃圾回收的方式(通过程序通知系统进行垃圾回收,但系统还不一定进行垃圾回收):
- System.gc();
- Runtime.getRuntime().gc();
5、对象在内存中的状态有可达状态、可恢复状态、不可达状态,当处于可恢复状态时可能会进行垃圾回收。
上图来自《疯狂java讲义》,对象状态变化过程一目了然。finalize()方法可能会使对象重新获得引用回到可达状态,如果运行完所有对象的finalize()方法后该对象仍无引用,则进入不可达状态,正式进行垃圾回收。
附:
1、什么是Java中的内存泄漏? (摘自Java面试宝典)
- 对象是可达的;
- 对象是无用的。
1 0
- 简单理解了下java中的垃圾回收机制
- 理解 Java 垃圾回收机制
- 理解 Java 垃圾回收机制
- 理解 Java 垃圾回收机制
- 理解Java垃圾回收机制
- 理解Java垃圾回收机制
- 理解Java垃圾回收机制
- 理解Java垃圾回收机制
- 理解 Java 垃圾回收机制
- 理解Java垃圾回收机制
- 理解java垃圾回收机制
- Java垃圾回收机制理解
- 理解Java垃圾回收机制
- 理解Java垃圾回收机制
- 理解 Java 垃圾回收机制
- 理解Java垃圾回收机制
- 理解Java垃圾回收机制
- 2、Java的垃圾回收机制的简单理解
- 深入讲解Android Property机制
- ListView中如何优化图片
- RecyclerViewd的用法
- Python多线程模块
- 如何分析tombstone文件
- 简单理解了下java中的垃圾回收机制
- Android调用摄像头后系统回收activity造成数据丢失
- 实现红黑树
- Java并发编程:线程池的使用
- C++将使用类型转换
- 薄荷Toolbar(ActionBar)的适配方案
- 根据UIview 实现画虚线
- git将当前分支上修改的东西转移到新建分支
- [Leetcode]257. Binary Tree Paths