Javaクラスローダー クラスロードのプロセス

Javaクラスローダー

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/25 00:16 UTC 版)

クラスロードのプロセス

各Javaクラスは、クラスローダーによってロードされなければならない[2]。さらに、Javaプログラムは外部ライブラリ(つまり、プログラムの作者とは別の誰かが開発し提供するライブラリ)を利用する可能性もあり、また、それ自身が複数のライブラリで構成されている場合もある。

JVMが開始されると、3つのクラスローダーが使用される[要検証][3][4]:

  1. ブートストラップクラスローダー (bootstrap class loader)
  2. 拡張クラスローダー (extension class loader)
  3. システムクラスローダー (system class loader)

ブートストラップクラスローダーは、中核のJavaライブラリを <JAVA_HOME>/lib ディレクトリからロードする[注釈 1]。このクラスローダーはJavaVMの中心部分であり、ネイティブコードで記述されている。

拡張クラスローダーは、拡張ディレクトリ (<JAVA_HOME>/lib/ext や、java.ext.dirsプロパティで指定された他のディレクトリ) にあるコードをロードする。これは、sun.misc.Launcher$ExtClassLoader クラスで実装されている。

システムクラスローダーは、java.class.path、すなわちシステム環境変数 CLASSPATH にあるクラスをロードする。こちらは、sun.misc.Launcher$AppClassLoader クラスで実装されている。


注釈

  1. ^ core.jarserver.jarrt.jarなどのJARファイルに格納されている。

出典

  1. ^ Binildas, Mcmanis (1996年1月10日). “The basics of Java class loaders”. JavaWorld. 2008年1月26日閲覧。[リンク切れ]
  2. ^ a b Binildas, Christudas (2005年1月26日). “Internals of Java Class Loading”. onjava.com. 2009年10月2日閲覧。[リンク切れ]
  3. ^ Understanding Extension Class Loading”. java.sun.com (2008年2月14日). 2008年1月26日閲覧。
  4. ^ Dennis, Sosnoski (2003年4月29日). “Classes and class loading”. ibm.com. 2008年1月26日閲覧。[リンク切れ]
  5. ^ Vladimir, Roubtsov (2003年9月5日). “Cracking Java byte-code encryption”. javaworld.com. 2008年1月26日閲覧。[リンク切れ]
  6. ^ Tim, deBoer (2002年8月21日). “J2EE Class Loading Demystified”. ibm.com. 2008年1月26日閲覧。[リンク切れ]
  7. ^ http://incubator.apache.org/depot/version/jar-hell.html[リンク切れ]
  8. ^ クラスローダーとJ2EEパッケージング戦略を理解する: 第2回「クラスローダーを理解する - シングルトンがシングルトンでなくなる日」| IBM, Internet Archive
  9. ^ JSR 277論争、バージョニングで再燃 | InfoQ
  10. ^ http://www.osgi.org/News/20081217[リンク切れ]
  11. ^ イマドキのJava徹底入門(4) Javaのモジュールシステムを理解しよう(その1) | TECH+
  12. ^ Bartlett, Neil; Hackbarth, Kai (2016年9月22日). “Java 9, OSGi and the Future of Modularity (Part 1)”. 2024年2月25日閲覧。


「Javaクラスローダー」の続きの解説一覧



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

辞書ショートカット

すべての辞書の索引

「Javaクラスローダー」の関連用語

Javaクラスローダーのお隣キーワード
検索ランキング

   

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



Javaクラスローダーのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのJavaクラスローダー (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS