私は、JVM と ClassLoaders についてはまったくの初心者です。私はこれらの2つのクラスを持っています:
public abstract class CoreModule extends Entity
public final class EventManager extends CoreModule
プログラムの開始時に、 のインスタンスを作成しますEventManager
。は孫であるため、JVMEntity
はクラスとそのロード方法を知っている (つまり、何ClassLoader
を使用するかを知っている)ことを理解していEventManager
ます。しかし、Entity
インスタンスがシリアライゼーション メカニズムによって渡されると、 がスローされClassNotFoundException
ます。を使用するように手動で設定する必要がありClassLoader
ます ( Event.class.getClassLoader()
)。
JVM は、Event
クラスが何であるか、またはすでにロードしている場合にそれをロードする方法を認識していないのはなぜですか?