Javaプログラムの実行まで バイト Javaの コード 実行 ソースコード Java ファイル名 ファイル名 abc.java

Slides:



Advertisements
Similar presentations
プログラミング第5回 1 while ループ 文字列の操作
Advertisements

モバイルエージェントシステムの実装 エージェント移動(状態とコードの一括移送) エージェント移動の特徴 システム構成 エージェントプログラム
6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
社会人学習講座 「Javaプログラミング概論」
インターネット技術特論 D:SSI,PHP,eRuby 山口 実靖
Flex “30分でわかるFlex”.
JPAを利用した RESTful Webサービスの開発
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
Java I 第2回 (4/18)
Imageの描画 画像を読み込んで表示すること。 import java.awt.*;が必要。
Applet 岡部 祐典 鈴木 敬幸.
FORTRAN 科学技術計算用 数値演算精度を重視したシステム K=0 DO 10 I=0,N,1 K=K+I 10 CONTINUE
WebサービスII (第10回) 2007年11月28日 植田龍男.
オブジェクト指向言語 第12回 アプレット.
Servlet J2EE I 第8回 /
JAVA GUIプログラミング 第1回 JAVAの実行 絵を描こう.
アプレット (Applet)について.
1.Java 概要 2.簡単なアプレット 3.動画を表示するアプレット 4.アプレットの改良 5.開発環境の利用(データベース)
Iアプリプログラミング その1  鳥居秀徳.
実行時のメモリ構造(1) Jasminの基礎とフレーム内動作
ネットワークプログラミング論 平成27年10月12日 森田 彦.
卒研:データベースチーム 第4回 JSP、サーブレット
ホームページの作り方.
Java I 第2回 (9/22).
JAVA.
JavaServlet&JSP入門 01K0018 中村太一.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
 Applet アプレット ◇長い長いアプレット講座◇.
第1回 JavaScriptゼミ ・ scriptエレメント ・ 記述における諸注意 ・ 古いブラウザへの対応方法
見た目を定義する技術 CSS(スタイルシート).
フォームからリクエストを受け取る <2/6>
WebサービスII (第8回) 2007年11月14日 植田龍男.
Curlの仕組み.
プログラミングIII演習 第1回目.
社会人学習講座 「Javaプログラミング概論」
初年次セミナー 第2回 文字の出力.
アプレット プログラミング 第10回 アプレット プログラミング第10回.
ネットワークプログラミング論 平成28年10月17日 森田 彦.
RMI ソフトウェア特論 第6回 /
第6回独習Javaゼミ 第6章 セクション4~6 発表者 直江 宗紀.
第8章 Web技術とセキュリティ   岡本 好未.
コンパイラの解析 (2) GCJのデータ構造 - 1.
HTTPとHTML 技術領域専攻 3回 中川 晃.
プログラミング言語入門 手続き型言語としてのJava
JAVA入門.
Java入門 13.5カラーの使用 13.6テキストの表示                  2003/12/12                   紺野憲一.
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
WebサービスII (第7回) 2007年11月7日 植田龍男.
第4回 javaのプログラミング 04A2029           古賀慎也.
Javaによる Webアプリケーション入門 第6回
Java Bytecode Modification and Applet Security
制作技術ー3 双方向通信 : CGIシステムと環境変数
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
JAVA入門後期③ JAVAのGUI (JavaのGUI基本構造、いろいろなアプレット)
パソコンのしくみ ハードウェア OS(Operating System) アプリケーション NEC DOS
JAVA入門後期⑥ JAVAのAWTの基本構造 (レイアウトマネージャー、 ウインドウ型アプリケーション)
2013年度 プログラミングⅡ ~ はじめてのプログラミング ~.
ウェッブページ書法の復習 ネットワーク論以前のお話.
2017年度 プログラミングⅡ ~ はじめてのプログラミング ~.
2014年度 プログラミングⅡ ~ はじめてのプログラミング ~.
オブジェクト プログラミング 第2回 プログラムの基本.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
基礎プログラミング演習 第3回.
Josh : バイトコードレベルでのJava用 Aspect Weaver
Javaによる Webアプリケーション入門 第4回
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
例題のプログラムを通して JavaScriptの仕組みを理解することとします。
Josh : バイトコードレベルでのJava用 Aspect Weaver
Presentation transcript:

Javaプログラムの実行まで バイト Javaの コード 実行 ソースコード Java ファイル名 ファイル名 abc.java abc.class バイト コード Javaの ソースコード Java コンパイラ Java インタープリタ 実行 javac コマンド java コマンド クラスファイルとも呼ばれる

① Javaアプリケーションの場合

Javaのソースコードを書く public class Hello { public static void main(String[ ] args) { System.out.println("Hello! こんにちは。"); } 例えば、ファイル名 Hello.javaでセーブする (ファイル名の拡張子を必ずjavaとすること)

コンパイルする javacコマンドを投入する: % javac Hello.java ソースファイルHello.javaがコンパイルされる プロンプト

クラスファイルができていることを確認する % ls Hello.class バイトコード(機械語ではない中間コード)     クラスファイルともいう 拡張子が class になっている

インタープリタで実行する クラスファイルをJavaインタープリタで実行する (コマンド名: java) % java Hello 実行されるファイルはHello.classだが、拡張子 .class を付けずに単に Hello とする

実行結果 実行結果は標準出力(ディスプレイ)に表示される: Hello! こんにちは。

② Javaアプレットの場合

ソースコードの書き方が Javaアプリケーションと異なる import java.applet.*; import java.awt.*; public class MyName extends java.applet.Applet { public void paint(Graphics g) { g.setColor(Color.green); g.fillOval(100,50,150,75); g.setColor(Color.blue); g.drawString("私の名前は守屋です", 120, 95); }

クラスファイル Myname.class が生成される  Javacでコンパイルして、  クラスファイルができるところまでは  Javaアプリケーションと同様  クラスファイル Myname.class が生成される ソースファイル名ソースコードで指定された名前

htmlファイルに埋め込む <html> <head> <title> アプレット例 </title> </head> <body> <applet code="MyName.class" width="400" height="200"> </applet> </body> </html>

ウェブブラウザからURLをクリックする 1.htmlファイルをウェブサーバによって決まっている適当な場所(ウェブのルートディレクトリ以下)にセーブする   例えばファイル名を Myname.html とし  ~ユーザID/public_html/infomath6/Myname.html にセーブする 2.そのURLをブラウザでクリックしてブラウズする http://www.edu.waseda.ac.jp/~ユーザID/infomath6/Myname.html

アプレットの表示結果(ブラウザ内)

ブラウザはウェブサーバーからデータを もらって自分で表示する em.edu.waseda.ac.jp の Webサーバー <HTML> <HEAD><TITLE> Moriya Lab Home Page </TITLE></HEAD> <META NAME="E.Moriya" CONTENT="text/html; CHARSET=x-sjis"> <BODY BGCOLOR="ffffff" BACKGROUND="gif/backs/moriya.gif" WIDTH=150> <CENTER> ① ユーザがURL http://www.em.edu.waseda.ac.jp をクリックすると、ブラウザは相手サーバーへリクエストを送る ② サーバーは要求し応じて、例えばhttp://www.em.edu.waseda.ac.jp のトップページのHTMLファイルをブラウザへ送る Webブラウザ ③ ブラウザはHTMLファイルを解釈してウインドウに表示したり、指定された動作をする ④ ブラウザとサーバーは、必要に応じて①~③のやり取りを何回も行なう(このやり取りの書き方を決めたものがHTTPプロトコル)

インタープリタの実行は遅いので・・・ インタープリタは実行速度が遅い → JIT (just in-time compiler) アプレットの実行時、中間コードを変換してある程度の量の命令語を蓄積して機械語に変換し、まとめて処理する ウェブブラウザがJIT対応になっている