1. ハングリースタイルのシングルトンモデル
(1) ハングリースタイルシングルトンパターンの概念
Hungry スタイルのシングルトン パターンは、クラスがロードされ、シングルトン オブジェクトが作成されるとすぐに初期化されます。完全にスレッドセーフです。スレッドが表示される前にインスタンス化されます。アクセス セキュリティの問題はありません。
(2) コードの実装
public class HungrySingleton {
private static final HungrySingleton hungrySingleton = new HungrySingleton();
private HungrySingleton(){
}
public static HungrySingleton getInstance(){
return hungrySingleton;
}
}
(3) メリットとデメリット
- 利点: 高い実行効率、高いパフォーマンス、ロックなし
- 短所: 場合によっては、メモリの浪費、リフレクションの破壊、シングルトンのシリアル化の破壊が発生する可能性があります。
(4)利用シーン
- Hungry スタイルのシングルトン パターンは、シングルトン オブジェクトがほとんどない状況に適しています。この方法で記述すると、絶対的なスレッドの安全性と比較的高い実行効率を確保できます。
- ただし、すべてのオブジェクト クラスはロード時にインスタンス化されるため、システム内にシングルトン オブジェクトが多数ある場合、システムの初期化により大量のメモリが浪費されるという欠点もあります。