環境ごとの注意点とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 環境ごとの注意点の意味・解説 

環境ごとの注意点

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/11 16:01 UTC 版)

Singleton パターン」の記事における「環境ごとの注意点」の解説

上記のSingletonは、Javaクラスアンロード考慮していない。Javaでは、参照されなくなったクラスガベージコレクションにより回収されJava仮想マシン (JVM) からアンロードされることがありえるクラスアンロードにより、そのクラスstaticフィールドもまた無効となる。つまり、staticフィールド寿命アプリケーション寿命同一ではなくなる。アンロードされたクラス再度必要になったときにリロードされ、クラスstaticイニシャライザも再度呼び出されるこうした一連の動作によりstaticフィールド上のインスタンス再生成されてしまう。また、staticフィールドJVMごとにひとつ存在するではなくロードされクラスごとにひとつ存在するため、Singletonが破たんするケースありえるAndroidのDalvik/ART環境上では、サスペンドされたアプリケーションActivityは、メモリが足らなくなったときや長時間放置されたときなどに破棄されることがあるが、その際Activityコンテキスト属すすべてのandroid.view.Viewが無効となり、これらは通例アプリケーション再開時に呼ばれるandroid.app.Activity.onCreate()で再初期化することになる。しかし、クラス自体アンロードされることも起こりうるアンロードされたクラスアプリケーション再開時に必要に応じてリロードされる。 Android環境下でアプリケーション寿命同等staticフィールド使用したい場合、独自のandroid.app.Application派生クラス定義してAndroidManifest.xmlに記述する通常Applicationサブクラス化必要なく、たいていのケースでは、(クラスの再初期化起こりうることに注意してさえいれば)staticシングルトン同等機能提供できるとされている。 Android通例リソース制限のあるモバイル環境であることもあいまってオブジェクトライフサイクル比較短くアプリケーションサスペンドによりクラスアンロード発生しやすくなるそもそもAndroid仮想マシン正式なJava SE/Java ME仕様則っていない。しかし、たとえ正式なJava SE/Jakarta EE(旧・Java EE仕様則ったデスクトップ環境サーバ環境であってもクラスアンロード起こりうる[出典無効]。 このようにSingletonパターンJavaという言語だけで考えてはならず実行環境によってもあり方変わってくるので注意が必要である。Androidのようにフレームワーク内でSingletonを行いたい場合フレームワーク提供の機構を使うことを検討しなくてはならないJava EE 6では@Singletonアノテーション導入されている。

※この「環境ごとの注意点」の解説は、「Singleton パターン」の解説の一部です。
「環境ごとの注意点」を含む「Singleton パターン」の記事については、「Singleton パターン」の概要を参照ください。

ウィキペディア小見出し辞書の「環境ごとの注意点」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「環境ごとの注意点」の関連用語

環境ごとの注意点のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



環境ごとの注意点のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのSingleton パターン (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS