标签: java multithreading concurrency classloader
在多线程环境中,当多个线程同时引用一个类时,JVM是否最终会多次加载该类?
如果没有,同步如何发生?
答案 0 :(得分:3)
该类将被加载一次。参见jls 12.4.2
对于每个类或接口C,都有一个唯一的初始化锁 LC。从C到LC的映射由Java自行决定 虚拟机实施。初始化C的过程是 然后如下: 与C的初始化锁LC同步。这涉及等待直到当前线程可以获取LC。 ...
对于每个类或接口C,都有一个唯一的初始化锁 LC。从C到LC的映射由Java自行决定 虚拟机实施。初始化C的过程是 然后如下:
...