• ベストアンサー

Java言語の実行について平易におしえてください。

IT勉強超初心者です。教科書に 「java言語の実行はソースプログラムをコンパイラによって生成された中間言語を 仮想マシン上でインタプリタにより実行する」と書いてあるのですが まったくイメージがわきません。JAVAを使ってシステム開発をしている人は どのように上記のことを具体的に行っているのでしょうか。簡単な具体例で おしえていただけますと幸いです。

  • Java
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.2

あなたのPCで動作するjavaプログラムを例に取ります。 javaプログラムはサイトのPCで制作され、中間言語にコンパイルされています。 あなたがそのサイトにアクセスすると、 あなたのPCに中間言語が入り込んであなたのPCで動作します。 ソースプログラム=javaプログラム。 仮想マシン=あなたのPC(サイトから見ればあなたのPCが仮想化されます。 サイトの管理者はあなたのPCがWindowsなのか、LinaxなのかUNIXなのかわかりませんから) インタプリタ=プログラムに記された命令を1つづつ実行するのがインタプリタ。 一気に処理するのはバッチと言います。

harada08
質問者

お礼

有難うございます。少しイメージがでてきました。いろいろ勉強してみます。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

統合開発環境から、コンパイラを起動して、出来たファイルを実行指示して実行します。 人の理解の仕方は人それぞれで、概念で理解できる人もいれば、具体的なもので無いと理解できない人もいます。あなたは後者のようなので、実際に統合開発環境(Eclipseとか)をPCにインストールして、プログラムをコンパイル&実行してみるのがいいと思います。 このあたりの本を読めばいいと思います。 http://www.amazon.co.jp/s/search-alias=aps&field-keywords=java%20eclipse

関連するQ&A

  • JAVA言語入門について

    以前はJAVA言語の知識はゼロでしたが、これから短期間(三ヶ月から半年まで)でマスターしたいと思いますが、お勧めの勉強方法があるでしょうか?またお勧めのJAVA勉強の本がありますなら、教えていただけるでしょうか? ちなみに、製造メーカーの部品表統合システムに関することは、JAVA言語以外のこと(IT知識と業務知識の範囲)は具体的に何か勉強したほうがいいでしょうか? ご指導宜しくお願いいたします。

  • コンパイラ(javac)と実行(java)が違う。

    コンパイラ(javac)と実行(java)は同じバージョンでしょうか。 javac -version と java -version で比べてみてください。 違いましたら、同じバージョンのでコンパイルしましょう。 C:\JAVA>java -version java version "1.8.0_261" Java(TM) SE Runtime Environment (build 1.8.0_261-b12) Java HotSpot(TM) Client VM (build 25.261-b12, mixed mode) C:\JAVA>javac -version javac 14.0.1 バージョンが違います。 どうやって、合わせるのでしょうか? 度々申し訳ございません。 ご回答のほど、宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • [JAVA]ProcessBuilderで「java -version」を実行できない

    以下のプログラムで「java -version」を実行しようとするとエラーになります。「java」だけですと実行できますが「-version」をつけるとエラーになります。 ---プログラムの内容--- import java.io.*; public class test4518 { public static void main(String[] args) throws Throwable{ ProcessBuilder pb = new ProcessBuilder(new String[]{"java -version"}); Process p = pb.start(); BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; while ((line = br.readLine()) != null) { System.out.println(line); } } } ーーーエラーの内容ーーー Exception in thread "main" java.io.IOException: CreateProcess: "java -version" error=2 at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.<init>(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) at java.lang.ProcessBuilder.start(Unknown Source) at test4518.main(test4518.java:5)

    • ベストアンサー
    • Java
  • WindowsXPとJava実行環境

    WindowsXPって最初からJava実行環境はいってましたっけ? たとえばJavaのバーチャルマシーン?ですか。java.exeみたいな。 javaソフトウェアを配布する際に、ユーザにいちいちJava環境を設定して下さい っていうのでは、配布に不利なのではないでしょうか? もし入っていればスクリプトなんかでJavaのパス通すようにする インストーラを作るだけである程度動くのでよいのではないかと 思うんですけど、どうなのでしょう?Javaは暗黙的にサーバ用で 普通Javaアプリなんてつくらないものなのですか? 実際そういうのつくったことのあるひとおられますか?その辺の事情を教えてください

    • ベストアンサー
    • Java
  • CかJavaか

     これからプログラミング言語を勉強しようと思って何言語をしようか迷っております。それはC言語かJavaかです。  何が目的かといいますと、ゲームの作成やちょっとしたアプリケーションの開発です。(Web用ではありません。) Javaでも開発できるそうなのですが、大体はC言語(系)で開発しているのですよね? あともうひとつ、携帯電話用のアプリってJavaでしか開発できないんですか?Cでは不可能ですか? ちなみに、私が今までやってきたのはJavaScriptとPHPぐらいです。よろしくお願いします。

  • Pythonのプログラムの実行の考え方について

    pythonの教科書のサンプルの実行についてお尋ねします。 テキストのサンプルには普通、インタープリターで書いてあるものと、プログラムをファイルに書き出してそれをコマンドで一気に処理するもの(こちらの方が他の言語の実行に近いか)の2通りがあります。 インタープリター向きに記述されたものをファイルに書き出してpythonコマンドで、インタープリターと同じように実行するにはどのような書き換えが必要になるのでしょうか。結果を出力するときにインタープリターでは配列名を入力するだけでその内容が出力されたりしますが、ファイルではそれができないのでコマンドを指定するとかになると思いますが、他になにかあるでしょうか。 ファイルに書き出したプログラムの実行ですが、Pythonコマンドを実行しても実行形式の出力がないのでコンパイルではないわけですが、これはバッチとかシェルスクリプトと同じような意味になるのでしょうか。1行1行実行していくということですが。とするとインタープリターと同じになるのかなと思うのですが。 実行形式が単体のファイルとして出力されて単体として実行できるというのは従来のプログラム(C,Fortranなど)ですが、Pythonはそれがないわけですね。Ruby, Perlに近いものなのでしょうか。速度が求められる科学技術計算ではライブラリを導入して高速化できるということですが、どの程度かなと思いますが。その中間的なものがJavaなのかなと思いますが(半分実行ファイルみたな)。 たぶんベタな質問と思いますが、よろしくお願いします。

  • java・・・?

    インターネットからファイルをダウンロードしたんですが、開くために[java]とかが必要らしいんです。聞いたことはあってもこれについてまったく無知なのでわかりません。とりあえず「java」で検索して、最初にみえたのサイト(http://www.java.com/ja/)からダウンロードしてみたんですけど「同一プロセス内で複数のjava仮想マシンが起動したたてめ・・・」とでてしまします。ダウンロードしたファイルを開こうとすると、「could not find the main class・・・」と表示されます。どうしたらよいうでしょう?

  • JAVAコンパイルと実行

    はじめまして。質問があります。 eclipseで開発したjavaのソースを実行するとき、メニューからメインクラスを指定し実行するだけでプログラム実行されますが、そのプログラムをコマンドプロンプトで実行する場合、できるプログラムとできないプログラム(例外:NoClassDefFoundError)があります。 コンパイルはeclipceのほうで勝手に.classファイルが生成されるので、そのclassファイルをjava [ファイル名]と打つだけだと思います。 実行できるプログラムとできないプログラムの違いは以下の通りです。 ・実行できるプログラム eclipseで新規でプロジェクトを作成。その直下にソースが存在し、クラスファイルも同じディレクトリに生成されます。 ・実行できないプログラム eclipseで新規でプロジェクトを作成。ソースフォルダ(src)を作成し、その下からパッケージ、クラスを作成しました。そうすると、エクスプローラでそのプロジェクトを見ると、binフォルダが生成されていました。その中にクラスファイルが生成されます。 違いはこのような感じです。実行できないプログラムをコマンドプロンプトで実行させるためにはどうしたらよいでしょうか?eclipseの使い方はだいぶわかってきたのですが、どのように動作しているか(java自体も)がわかりません。ご教授宜しくお願い致します。 OS:windows2000 開発環境:eclipse 3.0(J2SE 1.4.2_03)

    • ベストアンサー
    • Java
  • javaでc言語を実行

    java初心者です 10年以上前にC言語で作成されたプログラムを,GUIの部分だけ JAVAで組み直したいと思っております そこで質問なのですが、例えばC言語で作成されたHELLO WORLDを表示するような 実行ファイルをJAVAで作成したボタンで実行が可能かどうか。 もし可能ならば、その方法について教えて頂きたいのですが よろしくお願いします

  • ゲーム作りたいがC言語かJAVAか迷う。

    私は将来、ゲーム・デザイナーになりたくて、プログラミングの勉強をしたいと思っています。それに向けて、学習するべき言語というのはCなのかJAVAなのかでまよっているのです。よくプログラミング言語など似たようなところがあり、ひとつの言語を身につければ他の言語も身につきやすいともいいますが、なるべく効率的に学んでいきたいですし、一番使用されることの多い言語を選びたいです。私が作りたいのは携帯電話用の比較的簡単なゲームでなく、ある程度大掛かりなというか、本格的なゲームを開発してみたいという思いがあります。これは特殊な例かもしれませんが、例えばコンピュータ将棋のプログラムなどではほとんどC、C++で開発されています。JAVAなどで作成されたソフトは見かけませんでした。やはり、JAVAの利点もあるでしょうが、結局、一番普遍的なというか、汎用性のあるプログラミング言語としてはC言語を選択するのが最良の策かなと考えています。これは妥当な筋道なのかとお尋ねしたく質問させていただきました。

専門家に質問してみよう