浏览 2905 次
锁定老帖子 主题:JAVA垃圾回收引出的NATIVE
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-04-12
今天继续在看Think in java .看到讲初始化这章,讲到System.gc();进行垃圾回收,强制进行终结动作(finilize()),一时兴起看了下System.gc()方法的源代码.如下 public static void gc() {
Runtime.getRuntime().gc();
}
继续去看Runtime类的gc()方法 public native void gc();
看了下上面方法的JAVADOC
/**
* Runs the garbage collector.
* Calling this method suggests that the Java virtual machine expend
* effort toward recycling unused objects in order to make the memory
* they currently occupy available for quick reuse. When control
* returns from the method call, the virtual machine has made
* its best effort to recycle all discarded objects.
* <p>
* The name <code>gc</code> stands for "garbage
* collector". The virtual machine performs this recycling
* process automatically as needed, in a separate thread, even if the
* <code>gc</code> method is not invoked explicitly.
* <p>
* The method {@link System#gc()} is the conventional and convenient
* means of invoking this method.
*/
native关键字 说明垃圾回收调用的是本地方法,JAVADOC说明垃圾回收是回收当占用内存空间的无用对象,垃圾回收只在需要的时候进行回收。和你调不调用垃圾回收没有啥关系,即使你不调用需要的时候JVM也会自动调用垃圾回收的方法 下面说下native关键字
Native方法一般用于两种情况: 1)在方法中调用一些不是由java语言写的代码。 2)在方法中用java语言直接操纵计算机硬件
如果使用了native方法也就丢失了java的方便性和安全性。Native方法的执行依赖于JVM的设计者, 在sun的JVM中,可以通过JNI(Java Native Interface) API接口来实现本地化。 关于JAVA垃圾回收机制的算法可参考 http://developer.51cto.com/art/201106/271896.htm
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-04-13
灌水帖子啊
|
|
返回顶楼 | |
发表时间:2012-04-13
iminto 写道 灌水帖子啊
大哥这话严重了,小弟去年刚工作,对JAVA的认识就是这样的肤浅,目前只能认识到这个程度了 |
|
返回顶楼 | |
发表时间:2012-05-04
我擦,楼主不错了。我刚工作的时候,都不知道jvm是个啥
|
|
返回顶楼 | |
发表时间:2012-05-05
嗯,看来我也是java 初级啊,还有很多要学!
|
|
返回顶楼 | |