0
el言語で使用される静的クラスの範囲は何ですか?jsf式言語(el)クラス関数のライフスコープ
私はアプリケーションの適用範囲を想定していますか?
私はそれをデバッグモードでテストし、レイジーロード属性は複数のウィンドウ、ブラウザで一度しか初期化されません。
private static Object[] objects = null;
public static Object[] getObjects()
{
if(ElClass.objects == null)
//init objects
return ElClass.objects;
}
新しいことを学びましたが、その静的ブロックについては知りませんでした。コンストラクタは悪いJavaデザインのように見えません。しかし、ユーティリティクラスが大きくなり、このタイプのメソッドがたくさんあるとどうなりますか?静的なブロックに熱心にそれらのすべてをロードするとオーバーヘッドになる可能性がありますか? – djmj
プライベートコンストラクタは、クラスがステートレスであり、静的メソッドしか持たない場合、間違ったデザインではありません。 IDEやコードタクシーチェッカーは、インスタンス上で静的メソッドを呼び出すたびに警告することさえあります。クラスが大きくなる場合は、複数のクラスに分割します。 Apache Commonsライブラリの例を見てください。オーバーヘッドは、クラスのロード中に1回しか発生しない場合は無視されます。 – BalusC