この記事では、Javaの2つのシングルトンパターンの使用について説明します。次のように、参照のために共有してください。
読み込み方法によると、Singletonモードには2つの実装があります。
プライベート:同じクラスでのみ使用されます
静的:このクラスはクラスメソッドであり、インスタンスメソッドを呼び出すことはできません。 /クラスグローバル変数
最終:メソッドまたはメンバー変数を変更できません
1。空腹の男のスタイル
パブリッククラスeagerigleton {private static final eagerigleton instance = new eagerigleton(); private eagerigleton(){} //// private construction public eagerigleton getInstance(){// static Factory Method Return Instance;}}}2。怠zyな男
パブリッククラスlazysigleton {private static final lazysigleton instance = null; private lazysigleton(){} // private constructor public synchronized lazysigleton getInstance(){//静的ファクトリーメソッド、Synchronizedif(instance == null){instance = new lazysigleton();分析と比較:
類似点:
Singletonパターンは作成パターンに属し、このクラスの1つのインスタンスのみが同じJVMに存在することを保証します。上記の2つのシングルトンパターンでは、見ることができます。
constracy両方の方法のコンストラクターはプライベートです。
②外部インターフェイスはすべて工場の方法です。
違い:
空腹のスタイルは、クラスがロードされたときにこのクラスのインスタンスを直接取得します。フォーミュラは初期段階で縛られていると言えます。怠zyなスタイルは、クラスがロードされている場合、特定のオブジェクトを指しません。代わりに、工場メソッドが呼び出された後にインスタンス化されます。したがって、前者は高速で、後者は遅いです。ただし、後者は他のクラスをロードできます。これは非常に柔軟性があります(つまり、動的拡張)。
Java関連のコンテンツについては、このサイトに興味のある読者は、「Javaデータ構造とアルゴリズムのチュートリアル」、「Java操作DOMノードのヒントの概要」、「Javaファイルの要約およびディレクトリ操作のヒント」、「Java Cache操作のヒントの要約」というトピックを見ることができます。
この記事がみんなのJavaプログラミングに役立つことを願っています。