在java中,在使用对象时删除对象会发生什么?

use*_*996 3 java multithreading hashtable object

这是场景:

  1. 我有一个java Hashtable,它将String作为键,将对象作为值.

  2. 一个线程通过使用键获取对象并在此对象上调用方法.

  3. 当该方法从步骤b)执行某些操作时,另一个线程调用引用该对象的特定键上的remove.

那么会发生什么?

我应该锁定操作本身吗?

Mat*_*all 6

假设你在谈论(线程安全),没有任何事情发生java.util.Hashtable.从中删除对象对该对象的其他引用Hashtable没有影响.

一旦没有任何引用它们,对象仅适用于垃圾收集.