2017-02-22 16 views
0

私が知っている初期化オンデマンドホルダーイディオムは "シングルトン"を実装するのに最適です。 https://en.wikipedia.org/wiki/Initialization-on-demand_holder_idiomAndroid搭載のオンデマンドホルダー(DalvikまたはART)?

でも、Android(DalvikまたはART)でも安全に使用することはできません。

私が見つけたのは、JVMで使用するのが安全です。
http://literatejava.com/jvm/fastest-threadsafe-singleton-jvm/

初期化オンデマンドホルダーイディオムについて知っている人は誰ですか?dalvikでは安全ですか?

ご協力いただければ幸いです。


編集:他の言葉で

、のDalvikとART保証(1)スレッドセーフ、静的内部クラスの静的メンバの(2)再入及び​​(3)一意していますか?その値が表示されている。

+0

これを参照してください.... http://stackoverflow.com/questions/21604243/correct-implementation-of-initialization-on-demand-holder-idiom –

+0

@ak sacha、私はすでにリンクを読んでいます示唆しましたが、私はDalvikでこれを使用するのが良いとは確信していません。 –

答えて

1

静的フィールドの値が静的初期化子(すなわち静的変数= someValueの)を使用して設定されている場合は、それがあなたのクエリ

Is Initialization On Demand Holder idiom thread safe without a final modifier

class initialization procedure保証解決することができる同様の答えを見つけるしてくださいすべてのスレッド:

+0

ありがとうございます。 Java Virtual Machine(JVM)の世界では、それは正しいことです。しかし、私はそれがDalvik Virtual Machine、またはAndroid Runtime仮想マシン(ART)と同じであるかどうかはわかりません。 –

関連する問題