オーダーメイドコース
icon
icon

Javaプログラムを実行する仕組みを現役エンジニアが解説【初心者向け】

初心者向けにJavaプログラムを実行する仕組みについて解説しています。Javaのプログラムがどのような手順で動作するのか、Java VMとは何か、Javaが普及している背景を説明します。Javaの学習を始める際の参考にしてみましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Javaプログラムを実行する仕組みについて、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプJava講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Javaプログラムを実行する仕組みについて詳しく説明していくね!

大石ゆかり

お願いします!

 

Javaとは

Java言語とは、プログラミング言語のうちのひとつであり、1995年に米国のSun Microsystems社(現Oracle社)が開発したプログラミング言語です。

コンピュータに作業を行わせるためには、自分が使っているコンピュータがその仕事の「内容」を理解できなければなりません。

そのため、マシン語と呼ばれる言語で表示されたプログラムを作成することが必要になります。

 

マシン語は、「0」と「1」という数字の羅列からできており、コンピュータはその数字の羅列を理解することが可能です。

しかし、人間には理解できる内容ではありません。

そこで、マシン語よりも人間の言葉に近いプログラミング言語(高級言語)がこれまでにいくつも考案されてきました。

Javaの詳しい情報はこちらから。

 

Javaプログラムを実行する仕組み

Java言語は実行環境に依存せず、様々なハードウェアの上で動作可能なプログラムを作成することができます。

通常プログラムはOS(Operating System)にあわせて作成され、そのOS上でしか動作しないものです。

しかし、Java言語はJava VM (Java Virtual Machine : Java仮想マシン) という特徴的な仕組みによってこの常識を覆し、どんなOSの上でも一つのプログラムで動作させることができるようになっています (Write once, run anywhere)。

Java言語がインターネットと共に普及している理由は、こうしたOSを選ばずさまざまな環境に対応できるというメリットがあります。

 

[PR] 未経験からWebエンジニアを目指す方法とは

JVMとは

プログラムはあるOSのルールにあわせて作成された場合、別のOS上で動作させるには、そのルールにそって書き換えなければなりません。

Java VM はこのOSの相違点を吸収し、どんなOSでもオリジナルプログラムを動作させる事を可能にしています。

Java VM の実体はソフトウェアです。

例えば、 Internet Explorer などのWebブラウザの中にあり、ブラウザソフトがインストールされていれば Java VM もインストールされていることになります。

 

まとめ

Java言語で作成されたプログラムを実行する場合は、この「Java VM上でプログラムを実行させてしまえばOSの違いは関係ない」という考え方でその実力を十分発揮しているといえるでしょう。

 

執筆してくれたメンター

松井紀明

メーカー系で17年エンジニアとして勤務後、現在はフリーのエンジニアとしてリモートワークで働いています。

Java、Perl、COBOL、最近ではRuby、PHP等、様々な言語での開発を経験しています。TechAcademyではJavaコースを担当しています。

 

大石ゆかり

Javaプログラムを実行する仕組みが分かりやすくて良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。