見出し画像

Javaの基礎を抑えたい#0【Javaとは】

これまで主にRubyを学んでいましたが、新たな言語を取り入れたいと思い、Javaの基礎を学んでいきたいと思います。
以下のサイトを参考にしています!

Javaとは

C/C++をベースにして、SunMicrosystemsによって開発された、Androidなどで用いられている高級言語です。

Javaの特徴

Java言語は、インタープリター型とコンパイラー型のどちらにも分類できない特殊な言語なのです。その理由は、Java言語の特殊性にあります。通常、どんなプログラミング言語でも、OSやCPUが異なれば同一のソフトを動かすことができません。ところが、Java言語に関しては、Javaが動作する環境であれば、同一のプログラムを動かすことができるという特徴があります。

その理由は、Javaが、直接OS上で動作するのではなく、JavaVM(Javaバーチャルマシン)と呼ばれる特殊な環境で動作するプログラミング言語だからです。

Rubyしか触ったことがなかったので、この説明に違和感ありです。
ちなみにRubyの処理系もコンパイラ型とインタープリンター型が存在しています。Javaの実行環境を捉えるには、VMが肝になりそうなので、詳細追っていきます。

Java VMとは

Java VMとは、OSやCPU上に作られる仮想のコンピューター実行環境のことを指しています。Javaコンパイラは、プログラマーが作ったJavaプログラムを、このJava VMで動作するマシン語に変換しています。しかし、そのマシン語は、実際に存在しない、仮想のマシン語であり、いわばインタープリター言語ともいえるわけです。

SAMURAI ENGINEER

上記の図のように、Javaで作ったプログラムはOSではなく、Java VMとやりとりするので、OSごとに特別な設定などは不要になっています。
これによって、OSがWindows、Mac、Linuxなど、環境に依存せずに動かせているとのことでした。

ざっくりとは理解できましたが、実際のコード周りを見ていきながら理解を深めていきたいと思います!



この記事が気に入ったらサポートをしてみませんか?