Это старая версия документа.


Weak Referencies

<code java>

class TheStrong {

public Object link;

public Object getLink(){ return link; }
public void print(Object newlink){
	link = newlink;
	System.out.println("TheStrong: my link =" + getLink());
}

}

class TheWeak {

public WeakReference<Object> link;

public Object getLink(){ return link.get();	}

public void print(Object newlink){
	link =  new WeakReference<>( newlink );
	System.out.println("TheWeak:   my link =" + getLink());
}

}

public class Test {

public static void main(String[] args) throws IOException {
	TheWeak a1 = new TheWeak();
	a1.print(Arrays.asList(1,2,3));
	
	TheStrong b1 = new TheStrong();
	b1.print(Arrays.asList(4,5,6));
	
	Runtime r = Runtime.getRuntime();
	r.gc();
	
	System.out.println("TheWeak:   its link=" + a1.link.get());
	System.out.println("TheStrong: its link=" + b1.link);
}

}

<code>

dev/java/lang/weakrefs.1344091230.txt.gz · Последние изменения: 2012/08/04 18:40 — jamis7005
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0