基本上我是Java的新手,我试图让我的头脑更好.
public class Test {
TestObject objectA;
public static void main(String args[])
{
Test t = new Test();
t.test();
while (true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {}
System.out.println("Obj A: " + t.objectA.toString());
}
}
void test(){
Object objectB = new TestObject(1, 1);
objectA = (TestObject)objectB;
System.out.println("Obj B: " + objectB);
objectB = null; System.out.println("Obj B: " + objectB);
}
Run Code Online (Sandbox Code Playgroud)
}
输出:
Obj B: TestObject@525483cd
Obj B: null
Obj A: TestObject@525483cd
Obj A: TestObject@525483cd
Run Code Online (Sandbox Code Playgroud)
基本上,我在Method test()中创建一个本地对象objectB,并将它的引用分配给Test对象中的变量objectA.
然后我将局部变量设置为null并验证引用是否已为空.
现在根据我的理解,我已经有效地将一个指针指向该对象.对象仍然存在,objectA保持唯一的引用.这是否意味着垃圾收集器不会收集在具有窄范围的方法中创建的对象?
如果我找到了对象的指针,我的对象会被收集吗? …
我在一个大文件中有一些方法调用,我想匹配这些行,选择然后把它们作为一个,所以我可以将它们全部放在一个地方.
我可以找到我想要的所有线条,:g/>set但我如何在视觉上选择每条线?