私はこのクラスを持っている:「クラスローディングデッドロック」とはどういう意味ですか?
public class User {
public static final NonRegisteredUser NON_REG_USER = new NonRegisteredUser();
//...
public static class NonRegisteredUser extends User {
//...
}
}
とコードインスペクタには、この警告を検出された:クラスローディングのデッドロックにつながる可能性があるスーパーユーザー 初期化子から
参照サブクラスNonRegisteredUserを何
それはまさに意味ですか?
私はそれが何を言っているかはかなり明らかだと思います。 'User'クラスの' NonRegisteredUser'を初期化します。 'User'クラスを読み込むたびに、' NON_REG_USER'が静的なので、永遠のループにつながります。 'NonRegisteredUser'が' User'などを拡張する原因となります。 –
など、などに依存します。 JVMの実装はまったく初期化されないかもしれません。 – Antoniossss
結局はあまり明確ではありませんでした。 –