17章 プログラムの提供

Similar documents
ガイダンス

JavaプログラミングⅠ

Java言語 第1回

Microsoft Word JA_revH.doc

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

Java講座

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

新規コンポーネントの作成方法

文字列操作と正規表現

メソッドのまとめ

(Microsoft Word - VisionPro\203C\203\223\203X\203g\203\214\201[\203V\203\207\203\223\203}\203j\203\205\203A\203\ doc)

利用者

Microsoft PowerPoint - chap10_OOP.ppt

storage-sdk-Java

Mobile Access簡易設定ガイド

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

JavaプログラミングⅠ

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

PowerPoint Presentation

I. CA 証明書のインポート 1 リモート端末にて CA 証明書の URL ( へアクセスし ca.cer をダウンロードし デスクトップ上など任意の場所に保存し ダブルクリックしてください ( 上記 URL へアクセスした際に デジタ

Microsoft Edge の場合 (1) Mizdori 無料体験版ダウンロード画面の [ 体験版ダウンロード ] ボタンをクリックします (2) Edge の下部に mizdori_taiken_setup.zip について行う操作を選んでください と表示され ますので [ 開く ] をクリッ

プログラミング基礎I(再)

内容 1 はじめに インストールの手順 起動の手順 Enterprise Architect のプロジェクトファイルを開く 内容を参照する プロジェクトブラウザを利用する ダイアグラムを開く 便利な機能.

C#の基本

ClientManager ユーザズマニュアル

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド

Microsoft Word - クライアントのインストールと接続設定

目次 1. はじめに WEB インタフェース... 4 アクセス方法... 4 操作方法 FTP クライアント FFFTP(WINDOWS) インストール方法 アクセス方法 操作方法 CYBERD

939061j

WL-RA1Xユーザーズマニュアル

Prog2_9th

WebReportCafe

Eclipse 操作方法 (Servlet/JSP 入門補助テキスト)

目次 専用アプリケーションをインストールする 1 アカウントを設定する 5 Windows クライアントから利用できる機能の紹介 7 1ファイル フォルダのアップロードとダウンロード 8 2ファイル更新履歴の管理 10 3 操作履歴の確認 12 4アクセスチケットの生成 ( フォルダ / ファイルの

PowerPoint Presentation

Java言語環境Java2SEついて

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第3版  

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

◎phpapi.indd

目次 1. 教育ネットひむかファイル転送サービスについて ファイル転送サービスの利用方法 ファイル転送サービスを利用する ( ひむか内 ) ファイル転送サービスへのログイン ひむか内 PCでファイルを送受信する

PowerPoint プレゼンテーション

JavaプログラミングⅠ

CubePDF ユーザーズマニュアル

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版 : インストール・ガイド

Microsoft Word - ManagerIPChange.doc

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

ダウンロードページアップデートマニュアル.ppt

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

メディプロ1 Javaサーブレット補足資料.ppt

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators

Microsoft Word - Qsync設定の手引き.docx

OS の bit 数の確認方法 - Windows0 及び Windows8. Windows のコントロールパネルを開きます Windows0 の場合 スタート から Windows システムツール の コントロールパネル をクリックします Windows8. の場合 スタート から PC 設定

DigiCert SSL/TLS 証明書 Microsoft IIS 8.0/8.5 証明書コピー/サーバー移行手順書

PowerPoint Presentation

新・明解Java入門

Prog2_6th

IMC_31.ja.indd

TestDesign for Web

ICLT 操作マニュアル (2011 年 05 月版 ) Copyright 2011NE 東京株式会社 All Rights Reserved

Transcription:

三谷純

データ構造 コレクション とは 複数のデータをひとまとめにするクラス ArrayList 以外のコレクション TreeSet 要素を常にソートされた状態に保ち 重複を自動的に排除する HashMap キーと値のペアを要素として保持する LinkedList ArrayList とほぼ同じだが リスト中の任意の位置に要素を挿入 削除するといった処理のパフォーマンスが若干高い HashSet 要素の重複を自動的に排除し 特定の要素へのアクセスが高速 LinkedHashMap HashMap とほぼ同じだが 個々の要素 ( キーと値のペア ) の操作を 追加された順に行うことができる

データ構造 コレクションを タイプセーフ なもの ( 型についての問題が起きにくいもの ) にするのが ジェネリックス の目的 ジェネリックス導入前 ジェネリックス導入後 ArrayList ArrayList<Fish> Object Object Object Object

データ構造 インスタンス作成 new ArrayList<Song>(); 変数の宣言と値の代入 List<Song> songlist = new ArrayList<Song>(); メソッドの宣言 ( 呼び出し ) void foo(list<song> list); x.foo(songlist);

133 ページ参照 ArrayList<Egg> mylist = new ArrayList<Egg>(); Egg s = new Egg(); mylist.add(s); Egg b = new Egg(); mylist.add(b);

for(int i = 0; i < mylist.size(); i++) { Egg e = mylist.get(i); boilegg(e); } for(egg e : mylist) { boilegg(e); }

1 ローカル ユーザが全コードを自らのシステム上で動かす 2 ローカル リモートの中間 ( コンビネーション ) ユーザがクライアント部分のコードを自らのシステム上で動かす クライアント部分とサーバ部分をネットワーク経由で接続 3 リモート 全コードがサーバシステム上で動作 ユーザは Web ブラウザを介してプログラムを利用

ソースファイルとクラスファイルを分けて保存 1 開発プロジェクト用のディレクトリ作成 ( ここでは MyProject) 2 MyProject 内にソースファイル用ディレクトリ (source) とクラスファイル用ディレクトリ (classes) 作成 3 source 内にソースファイル ( 末尾が.java) 作成 4 3 をコンパイルし 出来上がるクラスファイルを classes に格納 -d オプションを使ったコンパイル % cd MyProject/source % javac d../classes MyApp.java or % javac d../classes *.java 実行 % cd MyProject/classes % java MyApp classes MyApp.class MyProject source MyApp.java

JAR(Java Archive) Java プログラムの実行に必要なクラスファイルを 1 つにまとめるツール 実行可能 JAR ファイルの作成 1 classes ディレクトリに全てのクラスファイルをまとめる 2 manifest.txt を作り main() メソッドをもつクラス名を書き込む manifest.txt 内 Main-Class: MyApp ( 注 ) 行末に改行文字を入れる 3 jar ツールを起動 classes 内の全ファイルを収めた JAR ファイルを作成 Main-Class: MyApp manifest.txt % cd Miniproject/classes % jar cvmf manifest.txt app1.jar *.class or % jar cvmf manifest.txt app1.jar Myapp.class MyProject classes MyApp.class manifest.txt ( 注 )JAR ファイルにはソースコードを納めない

JVM(Java Virtual Machine) を用いる 1. コマンドプロンプトの場合 % cd MyProject/classes % java jar app1.jar classes ( 注 )JVM のアクセスできる場所に JAR ファイルを置く (CLASSPATH に JAR ファイルの置かれているディレクトリが指定されている必要がある ) Main-Class: MyApp 2. アイコンの場合 アイコンをダブルクリック アイコンを右クリック 開く メニュー app1.jar

複数のクラスをまとめるもの ライブラリ中のクラスを整理しやすくする クラス名の重複を防ぐ パッケージ A の count クラス パッケージ B の count クラス パッケージ A の count クラス パッケージ A の count クラス セキュリティの確保例 ) 同じパッケージに属するクラスでのみ利用できるクラス ( 注 ) パッケージ名を重複させてはいけない ドメイン名を逆にした命名が一般的例 ) com.headfirstjava.project.~ Java API に属するパッケージの例 java.text.numberformat java.util.arraylist java.awt.flowlayout java.awt.event.actionevent java.net.socket

クラスをパッケージに所属させる 1 パッケージ名を決める 2 packageステートメントをクラスのソースコードに入れる package com.headfirstjava; MyProject import javax.swing.*; public class PackageExercise { // クラスのコード } 3 パッケージの階層構造に合わせてディレクトリ作成 classes com headfirst java source com headfirst java PackageExercise.class PackageExercise.java

* コンパイラと JVM が 使用するソースファイルとクラスファイルを全て 見つける ことができるようにする 1 source ディレクトリでコンパイル (-d オプション使用 ) % cd Miniproject/source % javac d../classes com/headfirstjava/packageexercise.java 2 classes ディレクトリで実行 % cd Miniproject/classes % java com.headfirstjava.packageexercise -d オプション コンパイルして作成されるクラスファイルの保存先を指定 パッケージの階層構造を認識 クラスファイル保存先を自動判別 パッケージの階層構造に対応するディレクトリが無ければ 自動的に作成

* ディレクトリの階層構造ごと JAR ファイルに入れる 1 classes の下に パッケージの階層構造に対応するディレクトリを作成 クラスファイル保存 2 manifest.txt ファイルを作成 manifest.txt 内 Main-Class: com.headfirstjava.packageexercise ( 注 ) クラス名は必ず 完全名 3 jar ツールを起動 JAR ファイルを作成 classes manifest.txt % cd Miniproject/classes % jar cvmf manifest.txt packex.jar com com headfirst java packex.jar PackageExercise.class

JAR ファイルの内容確認 % jar tf packex.jar META-INF/ META-INF/MANIFEST.MF com/ com/headfirstjava/ com/headfirstjava/ PackageExercise.class JAR ファイルの内容抽出 % cd Skyler % jar xf packex.jar META-INF Skyler packex.jar com headfirst java MANIFEST.MF PackageExercise.class

JWS(Java Web Start) ダウンロード プログラムの起動などを行う JWS を利用したプログラム提供 ユーザのコンピュータ上の Web ブラウザを使って起動 初回実行時 ユーザのコンピュータにプログラムがダウンロードされる 2 回目以降の実行には ネットワーク接続,Web ページ上のリンクのクリックが不要 サーバ上のプログラム変更を自動検知し ユーザのプログラムへ自動的に反映 *JVM,JWS の適切なバージョンをユーザのコンピュータにインストールさせる必要がある

1 ユーザが Web ページ上のリンクをクリック 拡張子.jnlp がついたファイルへのリンク <a href= MyApp.jnlp >Click</a> 2 Web(HTTP) サーバが.jnlp ファイルを送る 3 JWS がブラウザによって起動される JWS は.jnlp ファイルの内容を読み取り プログラムの JAR ファイルをサーバにリクエスト 4 Web サーバが JAR ファイルを提供 5 JWS がプログラムを起動

.jnlp(java Network Launch Protocol) ファイル 実行可能 JAR ファイルの名前などが記述された XML ファイル <?xml version= 1.0 encodeing= utf-8?> <jnlp spec= 0.2 1.0 codebase= http://127.0.0.1/~kathy href= MyApp.jnlp > <information> <title>kathy App</title> <vendor>wickedly Smart</vendor> <homepage href= index.html /> <description>head First WebStart demo</description> <icon href= kathys.gif /> <offline-allowed/> </information> <resources> <j2se version= 1.3+ /> <jar href= MyApp.jar /> </resources> <application-desc main-class= HelloWebStart /> </jnlp>

1 java ファイルを用意 ( ここではプロジェクト名 :test1 ソースファイル名 :sleepy.java) sleepy.java public class sleepy { public static void main(string[] args) { System.out.println("I'm Sleepy..."); } } 2 プロジェクト名 ( ここでは test1) を右クリック エクスポート 3 実行可能 JAR ファイル を選んで 次へ をクリック

3 起動構成に main() のあるクラス ( ここでは sleepy) を指定 エクスポート先 ( ここではデスクトップ ファイル名は test1.jar) を指定して 完了 をクリック 4 デスクトップ上に jar ファイルが作成される コマンドプロンプトから実行した結果