我正在编写我的自定义类加载器,我想知道我是否应该使其成为线程安全的?您可以很容易地看到,并非所有本机Java类加载器都是线程安全的,只有sun.misc.Launcher.AppClassLoader可以(但是,我已经检查过OpenJDK源代码,而在OpenJDK中则没有).
有没有原因java类加载器不同步?自定义类加载器应该是线程安全的吗?
ClassLoader.loadClass()已同步。
通常,自定义类加载器不会重写此方法,但它可能会重写findClass(). 由于findClass()被同步临界区调用loadClass并因此被从同步临界区调用,因此它本身不需要同步。
| 归档时间: |
|
| 查看次数: |
3520 次 |
| 最近记录: |