JAVA中垃圾收集的问题(会JAVA的进)
请运行程序。就知道我问的问题。。。importjava.lang.Runtime;classRuntimedemo{publicstaticvoidmain(String...
请运行程序。就知道我问的问题。。。
import java.lang.Runtime;
class Runtimedemo
{
public static void main(String args[])
{
int i=0;
//PrintWriter out;
System.gc();
System.out.println("开始运行前空闲内存量: " + Runtime.getRuntime().freeMemory());
System.out.println("程序开始运行:");
while(i<100)
{
i++;
System.out.print("."+i);
}
System.out.println();
System.out.println("运行结束!");
System.out.println("结束后空闲内存量: " + Runtime.getRuntime().freeMemory());
System.gc();
System.out.println("释放后空闲内存量: " + Runtime.getRuntime().freeMemory());
System.out.println(" 系统内存总量: " + Runtime.getRuntime().totalMemory());
System.out.println(" 系统其中还有"+(long)(Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory())+"那里去了?");
}
}
请不要回答题外话。。。。 展开
import java.lang.Runtime;
class Runtimedemo
{
public static void main(String args[])
{
int i=0;
//PrintWriter out;
System.gc();
System.out.println("开始运行前空闲内存量: " + Runtime.getRuntime().freeMemory());
System.out.println("程序开始运行:");
while(i<100)
{
i++;
System.out.print("."+i);
}
System.out.println();
System.out.println("运行结束!");
System.out.println("结束后空闲内存量: " + Runtime.getRuntime().freeMemory());
System.gc();
System.out.println("释放后空闲内存量: " + Runtime.getRuntime().freeMemory());
System.out.println(" 系统内存总量: " + Runtime.getRuntime().totalMemory());
System.out.println(" 系统其中还有"+(long)(Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory())+"那里去了?");
}
}
请不要回答题外话。。。。 展开
2个回答
展开全部
使用一个你知道它有与之相关联的本地资源(例如,一个GUI组件,文件,套接字)的对象,那么在使用完之后,一定要调用它的dispose()或equivalent方法。这将保证立即回收本地资源并且减小这些资源流失的可能性。
finalize是Java编程语言的一个特性:它允许你对垃圾收集器发现的不可达的对象进行最后清理。典型地用于回收与一对象相关联的本地资源。下面是一个简单的finalize示例:
public class Image1 {
//指向本地图像数据
private int nativeImg;
private Point pos;
private Dimension dim;
//它释放本地图像;
//随后对它的调用将被忽略
private native void disposeNative();
public void dispose() { disposeNative(); }
protected void finalize() { dispose(); }
static private Image1 randomImg;
}
finalize是Java编程语言的一个特性:它允许你对垃圾收集器发现的不可达的对象进行最后清理。典型地用于回收与一对象相关联的本地资源。下面是一个简单的finalize示例:
public class Image1 {
//指向本地图像数据
private int nativeImg;
private Point pos;
private Dimension dim;
//它释放本地图像;
//随后对它的调用将被忽略
private native void disposeNative();
public void dispose() { disposeNative(); }
protected void finalize() { dispose(); }
static private Image1 randomImg;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询