在加载某个 class 之前阻止 class 加载
Prevent a class from loading until a certain class is loaded
标题说明了一切。我正在处理另一个项目(又名使用 Forge),我想搁置某个 class(class 编号 1)- 直到另一个 class 才加载它(class 第 2 条) 已加载。那么在那个class(class no.2)加载完之后,第一个class(class no.1)应该可以正常加载了。
您可以在 Class2
加载时加载您的 Class1
。
Class1 {
public static void loadMe() {}
}
class2 {
public Class2() {
// Calling a dummy static member for loading the class
Class1.loadMe();
}
}
优点是两者默认会被同一个ClassLoader加载。或者,您可以,
Class.forName("Class1");
在这两种情况下,整个应用程序中的任何人都不应尝试访问此 class 的任何静态成员,否则它将被加载。
标题说明了一切。我正在处理另一个项目(又名使用 Forge),我想搁置某个 class(class 编号 1)- 直到另一个 class 才加载它(class 第 2 条) 已加载。那么在那个class(class no.2)加载完之后,第一个class(class no.1)应该可以正常加载了。
您可以在 Class2
加载时加载您的 Class1
。
Class1 {
public static void loadMe() {}
}
class2 {
public Class2() {
// Calling a dummy static member for loading the class
Class1.loadMe();
}
}
优点是两者默认会被同一个ClassLoader加载。或者,您可以,
Class.forName("Class1");
在这两种情况下,整个应用程序中的任何人都不应尝试访问此 class 的任何静态成员,否则它将被加载。