Тестирование слабых видовJAVA

Программисты JAVA общаются здесь
Anonymous
Тестирование слабых видов

Сообщение Anonymous »

Каков правильный подход к тестированию слабой ссылки в Java?public class WeakReferenceTest {

public class Target{
private String value;

public Target(String value){
this.value = value;
}
public String toString(){
return value;
}
}

public class UsesWeakReference{
WeakReference reference;

public UsesWeakReference(Target test){
reference = new WeakReference(test);
}
public String call(){
Target test = reference.get();
if(test != null){
return test.toString();
}
return "empty";
}
}

@Test
public void testWeakReference(){
Target target = new Target("42");

UsesWeakReference usesWeakReference = new UsesWeakReference(target);
WeakReference triggerReference = new WeakReference(target);
assertEquals("42", usesWeakReference.call());

target = null;
while(triggerReference.get() != null){
System.gc();
}

assertEquals("empty", usesWeakReference.call());
}
}
< /code>

Бронирование, которое я имею в отношении подхода, заключается в использовании System.gc (), насколько я понимаю, что он может вести себя по -разному при разных JVM. < /p>

Подробнее здесь: https://stackoverflow.com/questions/111 ... kreference

Вернуться в «JAVA»