家人们,今天在运行一个Java程序的时候,发现在两个编译器里面的输出结果不一样。请问哪个友友能给出答案吗?(是关于垃圾回收的例子)
class Person
{
public void finalize()
{
System.out.println("对象将被作为垃圾回收...");
}
}
public class Example37 {
public static void recycleWasetl()
{
Person p1=new Person();
p1=null;
int i=1;
while(i<10)
{
System.out.println("方法1循环中");
i++;
}
}
//演示一个通知强制垃圾回收的方法
public static void recycleWatel2()
{
Person p2=new Person();
p2=null;
//通过垃圾回收期进行强制垃圾回收
System.gc();
int i=1;
while(i<10)
{
System.out.println("方法2循环中");
i++;
}
}
public static void main(String[] args) {
recycleWasetl();
recycleWatel2();
}
}
在ideal中运行的时候每次结果都不相同,在Eclipse中的结果是相同的。
class Person
{
public void finalize()
{
System.out.println("对象将被作为垃圾回收...");
}
}
public class Example37 {
public static void recycleWasetl()
{
Person p1=new Person();
p1=null;
int i=1;
while(i<10)
{
System.out.println("方法1循环中");
i++;
}
}
//演示一个通知强制垃圾回收的方法
public static void recycleWatel2()
{
Person p2=new Person();
p2=null;
//通过垃圾回收期进行强制垃圾回收
System.gc();
int i=1;
while(i<10)
{
System.out.println("方法2循环中");
i++;
}
}
public static void main(String[] args) {
recycleWasetl();
recycleWatel2();
}
}
在ideal中运行的时候每次结果都不相同,在Eclipse中的结果是相同的。
全部评论
相关推荐
点赞 评论 收藏
分享