本授業の用語集

用語意味
JVM 本授業ではJava Virtual Machineの略として使う.
Java Virtual Machine Java仮想機械. Java Byte Code(後述)を解釈・実行する仮想的なCPU
マシン語 機械語. CPUが直接解釈/実行できるプログラムコード。 この授業では特に断りがなければ,Java Byte Codeのことを指す.
アセンブラ言語 低レベルな機械語(CPU命令)と1対1に対応する 文字列(ニーモニック)を機械語に置き換えるプログラム。 本授業では,Jasmin アセンブラを採用.
Java Byte Code JVMで解釈可能なマシン語. プログラミング言語 java と密接な関係があるが 基本的には別の言語. 本授業では単にバイトコードと呼ぶ場合もある.
ロードモジュール loading(後述)可能な機械語命令の集合. 通常はファイル等に保管されている.
Java Class File Format 本形式に準拠したバイトコード列が JVMのロードモジュールとなる. ちなみにloadingされるバイトコード列はファイルに格納されている必要はない.
Class File Java Class File Format に準拠したバイトコード列が 1つ格納されたファイル. .classの拡張子を持つ. 通常,javaプログラムをコンパイルすることで得られるが他の方法でも生成可能.
Java 汎用プログラミング言語. 手続き型言語をベースにしたオブジェクト指向型言語である.
loading ロードモジュールをマシンのメモリ内に読みこむこと. JVMではJVMに Java Class File Format準拠の バイトコード列を読みこむことを指す.
オンデマンド ローディング プログラム中に書いてある全ての命令が実行されるわけではないので, 実際に実行される時点で,関数や変数などをマシンに読みこむ方式.
linking 複数のロードモジュールに分散した機械語を 相互に利用できるように結合すること. JVMでは,loadingしたバイトコード列をJVMが利用する準備を することを指す.
static linking 静的結合. loadingする前に必要なロードモジュールを全てlinkingしておくこと. JVMではこの方式はない.
dynamic linking 動的結合. プログラム実行中,必要な機械語命令列(関数など)が発生した時点でloadingを 行い,linkingすること. JVMはこの方式. windows系の DLLファイル,UNIX系の .so ファイルもこれに該当.
ブートストラップ 命令の列であって, 後続の命令をロードし, その実行によってあるまとまったプログラムを記憶装置にロードするもの. JVMではClass Loaderに相当する.
ユニコード ホームページ, リンク集など参照.
シグニチャ 関数,手続きなどの名前と, 引数の数と型,および返り値の型のこと.
関数(手続き)呼び出す場合, シグニチャを手がかりに呼び出されるのが普通.
コンスタントプール クラスファイル内の定数,参照などを列挙してあるデータ表. クラスなどへの参照は,クラスファイル内では, 最終的にクラス等の名前を示す文字列データを指している.
コンスタントプール リゾリューション コンスタントプール中の参照を, 参照しているクラスなどの名前でなく, ランタイム中で当該のクラスなどが実際に配置されている メモリ アドレスに置きかえること.
コンスタントプール解決 コンスタントプール リゾリューションに同じ

授業トップページへ
$Id: index.html,v 1.2 2002-05-12 01:08:20+09 kaiya Exp kaiya $