![見出し画像](https://assets.st-note.com/production/uploads/images/75712750/rectangle_large_type_2_2bd800bea24e031319444ae96ab7b009.png?width=800)
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で動作するマシン語に変換しています。しかし、そのマシン語は、実際に存在しない、仮想のマシン語であり、いわばインタープリター言語ともいえるわけです。
![](https://assets.st-note.com/img/1649045036260-6fjGAqh8Jo.png?width=800)
上記の図のように、Javaで作ったプログラムはOSではなく、Java VMとやりとりするので、OSごとに特別な設定などは不要になっています。
これによって、OSがWindows、Mac、Linuxなど、環境に依存せずに動かせているとのことでした。
ざっくりとは理解できましたが、実際のコード周りを見ていきながら理解を深めていきたいと思います!
この記事が気に入ったらサポートをしてみませんか?