Ton*_*ony 7 java jvm class synchronize
据我所知,每个班级都有一个Class
对象.我使用同步时有一种情况,例如:
public class A {
public static void main(String... args){
synchronize(A.class){
//do something...
}
}
}
Run Code Online (Sandbox Code Playgroud)
这将锁定A
的Class
对象,对不对?这个Class
对象什么时候创建的?它是在JVM加载A
类时还是在调用时创建的A.class
?我在JLS中找不到详细信息,有人可以提供有关它的链接吗?
这将锁定A的Class对象,对吗?
是.
我的问题是什么时候创建了这个Class对象?它是在JVM加载A类或我调用A.class时创建的?
当ClassLoader加载它时,它返回一个Class
对象.
我无法在JLS中找到详细信息,有人可以提供有关它的链接,谢谢.
我建议读ClassLoader.loadClass()的javadoc