当前位置: 技术问答>java相关
谁能告诉我SOFT 和WEAK REFERENCE 的回收机制,有例子最好!
来源: 互联网 发布时间:2015-11-12
本文导语: 高分向赠! | 看看这个行啊? package reference; import java.lang.ref.*; import java.util.*; class verybig{ static final int sz=10000; double[] d=new double[sz]; String ident; public verybig(String id){ ident=id; } public St...
高分向赠!
|
看看这个行啊?
package reference;
import java.lang.ref.*;
import java.util.*;
class verybig{
static final int sz=10000;
double[] d=new double[sz];
String ident;
public verybig(String id){
ident=id;
}
public String toString(){
return ident;
}
public void finalize(){
System.out.println("Finalize"+ident);
}
}
public class reference {
static ReferenceQueue rq= new ReferenceQueue();
public static void checkqueue()
{
Object inq=rq.poll();
if(inq!=null)
System.out.println("in queue:"+ ((Reference)inq).get());
}
public static void main(String[] args) {
int size=10;
if(args.length>0)
size=Integer.parseInt(args[0]);
SoftReference[] sa= new SoftReference[size];
for(int i=0;i
package reference;
import java.lang.ref.*;
import java.util.*;
class verybig{
static final int sz=10000;
double[] d=new double[sz];
String ident;
public verybig(String id){
ident=id;
}
public String toString(){
return ident;
}
public void finalize(){
System.out.println("Finalize"+ident);
}
}
public class reference {
static ReferenceQueue rq= new ReferenceQueue();
public static void checkqueue()
{
Object inq=rq.poll();
if(inq!=null)
System.out.println("in queue:"+ ((Reference)inq).get());
}
public static void main(String[] args) {
int size=10;
if(args.length>0)
size=Integer.parseInt(args[0]);
SoftReference[] sa= new SoftReference[size];
for(int i=0;i