第1回
春から大学生(情報・工学)の方へ~プログラミング入門~(C言語ってなあに?)
JDK(Java Development Kit)とは
プログラミング言語Javaを実行するために必要な様々なアプリケーション(コンパイラ、仮想マシンなど)をまとめたもの。プログラムを書き込んで実行する「エディタ」「IDE」と連動させて用いる。
インストール場所(Windows)
単体でインストールした場合、基本的にはPC//ローカルディスクC//Program Filesなど?
Eclipse Pleiadesでまとめてインストールした場合、PC//ローカルディスク//pleiades~~//java内に各バージョン(6,7,8,11,17)がフォルダごとに分けられてインストールされる
今回はJDK17(Eclipse Pleiades)の中身について書きます
他のバージョンだと多少違う部分はあります。
binフォルダ
binはbinary(2進数の)の略。つまり、機械語で書かれたファイルを格納している。具体的には、.exe(アプリケーション)、.dll(dynamic link library、動的ライブラリ)など。
主なexeとして、
jar.exe(おそらくJARファイルをクラスファイルに統合or実行時に参照するもの)
java.exe(JVM=Java仮想マシン。クラスファイルを実行してターミナルに結果を返してくれる)
javac.exe(Javaのプログラムをクラスファイルに変換する。c=compiler?)
javaw.exe(JARファイルを開く際に裏で動いている。ウィンドウを作る。)
jdb.exe(Javaのデバッガ。プログラムをバグを見つける)
JARファイルとは、クラスファイル(Javaのプログラムを変換して得られる)、設定ファイル、画像ファイルなどをZIP形式でまとめたもの。
参考:
https://e-words.jp/w/JAR%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB.html#:~:text=JAR%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E3%81%AF%E3%80%81%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF,%E5%AD%90%E3%81%AF%E3%80%8C.jar%E3%80%8D%E3%80%82
https://www.gwtcenter.com/difference-between-java-and-javaw
confフォルダ
設定関係のファイルが入ってます。confはconfigureですかね。エディタとかIDEでも出てくる用語なので覚えておきましょう。
includeフォルダ
ヘッダファイルが入ってます。
jmodsフォルダ
jmodファイル。Java moduleの略のようです。↓にあるように、コンパイル、リンク時に利用するとあるので、C言語で言うlibに近いように思えます。jmodファイルは、クラスファイルが生成されるときに一緒に取り込まれるという意味でしょう。一方JARファイルは、実行時に参照されるという特徴から考えて、C言語で言うdllファイルでしょうか。
拡張子(=ファイル)の足し算であらわすと、
(class + jar = 結果の出力)
(exe + dll = 結果の出力)
JARファイルはコンパイル時にクラスファイルに含めてしまうこともできるようです。
(java + (jar/jmod) = class)
(c + lib = exe)
参考:
https://tyablog.net/2020/04/05/java-how-different-jmod-and-jar/#:~:text=%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E3%83%8D%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96%E3%82%B3%E3%83%BC%E3%83%89,%E3%82%88%E3%81%86%E3%81%AA%E3%81%93%E3%81%A8%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82
legal
利用規約がたくさん入ってます。
libフォルダ
jarだったりlibだったりtxtだったりいろいろ(jfc=xmlとか)入ってます。