java中垃圾回收(gc)
2016-01-10 02:03
274 查看
java中的GC
GC是什么?为什么要有GC?GC是Gabage Collection,垃圾回收的意思.
由于内存处理是编程人员容易出现问题的地方,忘记或错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动检测对象是否超出了作用域从而达到自动回收内存的目的,Java没有提供释放已分配内存的显示操作方法.
gc的优点
Java语言的一个显著特点就是引入了垃圾回收机制,使令人头疼的内存管理问题迎刃而解,它使Java程序员在编写程序时不需要考虑内存管理的问题.
垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存.
垃圾回收通常作为一个单独的低级别的线程运行,在不可预知的情况对内存中已经死亡或者长时间没有使用的对象进行清理和回收.
程序员不能实时的调用GC对对象进行回收.
GC的基本原理是什么?gc可以马上回收内存吗?有什么方法主动通知虚拟机进行垃圾回收?
对于GC来说,当程序员 创建对象时,GC就开始监视这个对象的地址、大小以及使用情况.通常,GC采用有向图的方式记录和管理堆中的所有对象.通过这种方式确定哪些对象是”可达的”,哪些对象是”不可达的”.当GC确定一些对象”不可达”时,GC就会回收这些内存空间.程序员虽然不能实时的调用GC来回收对象,但是可以通过执行System.gc(),通知GC进行垃圾回收,但是并不保证GC一定会执行.
相关文章推荐
- Java学习之开篇—个人随想
- 【慕课笔记】第二章 变量和常量 第8节 JAVA中的强制类型转换
- ubuntu安装java
- 处理SpringMVC返回json乱码问题
- java类加载全过程
- 拓扑排序详解以及java实现
- java基础学习笔记2
- Java Swing JTable 表格【2:创建空表格】
- 第二章 IoC 之 2.1 IoC基础
- 第一章 Spring概述
- struts2整合CXF访问路径冲突问题
- springboot(一)
- 谷歌GSON可以把Java对象转换成JSON,也可以把JSON换成一个相等的Java对象
- 详解Struts2 Action名称的搜索顺序
- Java Swing JTable 表格【1:创建表格填充数据】
- struts2简单入门之环境搭建立
- Struts2 输出带有占位符的国际化信息
- SpringMVC Json构建基于Restful风格的应用
- struts2之简单环境搭建
- 关于Java中的Class.forName和XX.class