锁定时可以锁定垃圾(java.util.concurrent.locks.Lock)吗?假设一个纯理论的例子:
WeakReference r;
public void foo(){
Lock lock = new ReentrantLock();
r = new WeakReference(lock);
lock.lock();
}
Run Code Online (Sandbox Code Playgroud)
被执行lock后可能被垃圾收集foo()?换句话说,是否会lock.lock()创建任何强大的引用回锁?你怎么知道的?