ホームページ >Java >&#&チュートリアル >Java の二重中括弧の初期化は効率的ですか? 代替手段は何ですか?
Java の「Double Brace Initialization」は目立たないため、インスタンス初期化子を使用した匿名内部クラスの作成が隠蔽され、簡単に作成できます。オブジェクトの構築。この魅力的なシンプルさにもかかわらず、潜在的なパフォーマンスへの影響と過剰なファイル生成に関する懸念が生じています。
実施された実験により、二重中括弧の初期化と直接リストのインスタンス化の間には明らかなパフォーマンスのギャップが明らかになりました。特に、二重中括弧の初期化では、直接インスタンス化によって実現される迅速な初期化とは対照的に、約 190 ミリ秒の実行時間がかかります。
二重中括弧の初期化に関連する 1 つの欠点は、その増殖です。生成されるクラス ファイルの数。これにより、プログラムの jar ファイルが肥大化し、クラスの読み込みがわずかに遅くなる可能性があります。さらに、二重中括弧の初期化では、Java 仮想マシンに大量のクラスがロードされるため、メモリ オーバーヘッドが発生する可能性があります。
二重中括弧の初期化構文は技術的には適切ですが、問題が発生する可能性があります。製品コードにとって不必要にわかりにくいと見なされます。ただし、Java のセマンティックの核心を探ったり、その表現力を実証したりするための貴重なツールであることに変わりはありません。
Arrays.asList、varargs メソッド、Google コレクションの簡潔なメソッドなどの代替手段を検討してください。リスト構築記法。さらに、Java 9 では便利なセット リテラル構文が導入され、二重中括弧の初期化が完全に不要になりました。
以上がJava の二重中括弧の初期化は効率的ですか? 代替手段は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。