辞書先頭ページへ戻る
Jから始まる情報処理用語
00000458
Java
00000517
Java Bean
00000724
JavaFX
00000518
JavaScript
00000457
JavaとC言語の違い
00000744
jay・JFlex
00000188
JCL
00000561
JIS
00000521
JISコード
00000659
JPNIC
00000537
JSP
00000544
Jアプリ★ゲット
Sun Microsystems社が開発したオブジェクト指向のプログラム言語です。
プログラムは、機種に依存しない仮想的なマシン(JVM)上で実行できます。
そのため、異なるOSでもJVMが動かせれば、同じバイナリーコードが実行できます。
このバイナリーコードは、中間コード(仮想的なマシン(JVM)上で実行されるバイナリーコード=機械語)と呼ばれています。
バイナリーコードはクラスファイルとも呼ばれ、.classのファイルで、一般に.javaのソースファイルをJavaコンパイラで翻訳して作ります。
開発環境としては、実行環境によって次の3種類に分かれています。( 『http://java.sun.com/javase/ja/6/download.html』 からダウンロードできます。)
なお、2010年1月にSun Microsystemsは米Oracleに買収されており、JavaのランタイムはOracleのロゴのインストールファイルが供給されます。
・JavaTM 2 Platform, Standard Edition (J2SE):ローカルマシンで実行させるアプリケーション用(クラスの数:約3千個)
・Java 2 Platform, Enterprise Edition (J2EE):サーバー上で実行するアプリケーション用
・Java 2 Platform, Micro Edition (J2ME):家電や携帯などの組み込みマシンで実行するアプリケーション用
以下にwindowsでJ2SEを利用した簡単なアプリケーションの開発方法を紹介します。
この方法はbatファイルを使う方法で、メモ帳で編集し、そのファイルをコンパイルし、実行して、.jarファイルを作成し、再び.jarを実行しています。
なお、下記で「c:\j2sdk1.4.2_04」の部分は、javac.exeがbinにあるとして、そのbinが存在する位置を指定できるように使うマシンの環境にあわせます。
また、「JvTest01」は、作成するソースファイルの拡張子(.java)を付けない名前で、作成するpublicクラスの名前です。これもターゲットにあわせて、変更して使います。
set JAVAHOME=c:\j2sdk1.4.2_04
set SRC=JvTest01
set WDIR=work
mkdir %WDIR%
%SystemRoot%\system32\notepad.exe .\%SRC%.java
"%JAVAHOME%\bin\javac" -d %WDIR% -classpath "%JAVAHOME%\;%WDIR%\." .\%SRC%.java
IF ERRORLEVEL 1 GOTO LEND
pause クラス実行確認
"%JAVAHOME%\bin\java" -classpath "%JAVAHOME%\;%WDIR%\." %SRC%
pause 実行可能ファイル %SRC%.jar の作成
echo Main-Class: %SRC%> %WDIR%\%SRC%.txt
echo Class-Path: %SRC%.jar .>> %WDIR%\%SRC%.txt
cd %WDIR%
"%JAVAHOME%\bin\jar.exe" cmvf %SRC%.txt ..\%SRC%.jar -C . .
cd ..
pause %SRC%.jar の実行確認
"%JAVAHOME%\bin\java" -classpath "%JAVAHOME%\;." -jar .\%SRC%.jar
:LEND
pause
J2SEの開発する環境としては、ボーランド株式会社のJBuilderが有名で『http://www.borland.co.jp/jbuilder/personal/』からダウンロードできます。
これは、Javaを習得した者が、大きなJavaアプリケーションを効率的に開発する場合に威力を発揮すると感じられます。
しかし、確認や学習用のプログラムをたくさん作る場合は、もっとシンプルなエディタをお勧めします。
そして、CLASSPATHの環境変数と、PATHの環境変数の設定で、コマンドラインからコンパイルして作成することを進めます。。
Javaアプレットプログラミング例の紹介 ⇒『http://yuu7777.fc2web.com/applet/javatext.html』
なお、Sun Microsystems社以外にも、次のようなJDKが存在します。
Blackdown JDK 『 http://www.blackdown.org』
IBM Java Developer Kit
Kaffe
Linuxディストリビューションには、Blackdown JDKが入っている場合が多いようです。
以下にMac Linux PPCの Blackdown JAVA 1.3 のインストール例を示します。単にtarコマンドで展開しているだけですが・・・
>tar Ixvf j2sdk-1.3.0-FCS-linux-ppc.tar.bz2 -C /usr/local
(Iでbz2の展開,詳細情報)
コンパイル例を示します。
>/usr/local/j2sdk1.3/bin/javac -classpath /usr/local/j2sdk1.3:. test.java
実行例を示します。
>/usr/local/j2sdk1.3/bin/java -classpath /usr/local/j2sdk1.3:. test
次のようなbash 用スクリプト、『jc』を作成しておくと、『./jc Hello.class』『./jc Hello.java』と実行できます。
なお、この例では、データベースpgsql用コレクタと結合して実行できるスクリプトの例です。
#!/bin/sh
# スクリプト名:jc
# 引数がJavaのソースなら翻訳する。それ以外ならJavaクラスとして実行する。
case $1 in
*.java)
cmd="/usr/local/j2sdk1.3/bin/javac -classpath /usr/local/j2sdk1.3:/usr/lib/pgsql/jdbc7.0-1.2.jar:. ${1}"
echo "$cmd"
$cmd > tmp
cat tmp
;;
*)
/usr/local/j2sdk1.3/bin/java -classpath /usr/local/j2sdk1.3:/usr/lib/pgsql/jdbc7.0-1.2.jar:. $1 ;;
esac #caseの終了
●バージョンによる違い?(昔の体験記です)
・java.net.URLEncoder.encodeの引数にエンコードの文字列引数が追加された。1.1では、変換したい文字列だけを指定する形態だった。
・1.4から、StringBufferクラスに、indexOfや、lastIndexOfなどのメソッドが追加されている。
・1.2から、java.util.VectorのaddElementに対応するaddメソッドと、elementAtに対応するgetメソッドが追加された。
・1.2から、StringBufferにdeleteメソッドが追加された。
・1.2から、インタフェース Comparatorが追加された。
・Microsoft VM (Version 1.0)で、setLayout(new BorderLayout())して、そこにBorderLayoutのPanelを追加できない。(デフォルトのFlowLayoutで、Panelは追加できる)
・Microsoft VM (Version 1.0)のアプレットにスレッドを作り、そのwhileループ内のtry{ } catch{} の中で、breakによるループ終了を行うと、強制終了になる。(フラグ操作でループ終了させれば可能)
・Microsoft VM (Version 1.0)で、Double.parseDouble(文字列)はつかえない 代わりにDouble.valueOf(文字列).doubleValue();を使う。
・Microsoft VM (Version 1.0)で、getHeightt()やgetWidth()は使えない。代わりにDimension size=getSize(); を使い、size.width,size.heightを使う。
・Microsoft VM(Version 1.0)で、StringBufferにsubstringはなかった。toString()substring(番号)と使えばよい。
・新しいブラウザのウィンドウを開く時に使う AppletContext.showDocument が使えないバージョンが存在しているのかも?
ジャバビーンズ
単純には、Java言語を用いて作られる部品化されたプログラムを言う。
JavaプログラムがBeanになるための規則は次の通りである。
・永続性(persistence:パーシスタンス)を持たせる。
→java.io.Serializableをインプリメントし、一旦終了した変数が再びインスタンス化した時に前の状態に復元できる機能。
・外部から利用しやすい構造
→エラーなく生成できるように引数なしコンストラクタを作成しておく。
→プロパティ(設定用はsetXXX、取得用はgetXXXとするメソッド)で外部とやり取りする。
・業務処理のメソッドを用意する。
→Beanを3階層モデルのロジックレイヤー部分を担当するように作成
→業務上に必要なイベントごとに、呼び出せるようなメソッドを用意する
JavaFX(ジャバエフエックス)
JavaFXでは Java AppletおよびJava Web Startを用いて、簡単に配布・実行できるRIAプラットホームです。
(JavaFX自体はブラウザを要さず、単体のJavaアプリケーションとして実行することも可能です。)
アニメーションするGUIを簡単に作成できる特徴があります。
HTML内で記述し、インターネットブラウザ(クライアント)側で実行するプログラムの一つである。
HTMLのbodyタグ内例
<Script language='JavaScript'>
function abc(d)
{
alert(d);
}
abc('ABCD');
abc(123);
</Script>
上記は、abcと言う関数を2回実行している。引数の型はなく、文字列の'ABCD'、数値の123で実行している。
実行すると、単に警告用のメッセージボックスで引数を表示するだけである。
JavaScript内では、次の構造の各オブジェクトが使える。
■Windows
├document┬form──┬Submit
│ │ ├Button
│ │ ├Reset
│ │ ├Radio
│ │ ├CheckBox
│ │ ├Text
│ │ ├TextArea
│ │ ├Hidden
│ │ ├Password
│ │ ├FileUpload
│ │ ├Select
│ │ └Option
│ ├Layer
│ ├Area
│ ├Anchor
│ ├Applet
│ ├image
│ └Link
├history
├location
├screen
└frame
■navigator
├Plugin
└MimeType
よく使われる例として、イベント処理が挙げられる。
例えば、次の例は、セレクト用タグを変更すると、setMinorと言う関数を実行させる指示になる。(この例のsetMinor関数は2つの引数を持つように定義しなければならない)
<select name="menuMajor" onChange="setMinor(this,menuMinor)">
[C言語を知っている人がJavaを理解する場合に、始めに知っていると理解しやすい。?]
・ Java ではグローバルな関数を作れない。(staticメソッドが近い使い方になる)
・ Java ではポインタがない。 引数の扱いは、プリミティブな型(int や doubleなど)は値渡し、オブジェクトは参照渡しに決まっている。
・ main(argv[])の引数で、C言語ではargv[1]が最初の指定引数に対し、javaではargv[0]が指定引数になる。
jay・JFlex
Java/C#に対応したコンパイラコンパイラ(パーサージェネレーター)です。
Language ProcessingのjayはC言語コンパイラ作成で使われるyaccのJava版で、互換性がある文法になっている。
また、コード生成(Lexical Analyzer Generator)用のJFlexはlexと同等に機能になっている。
(lexがC言語のプログラムを生成するのに対して、JFlexではJava言語のプログラムを生成する。)
参照ページ
http://www.informatik.uni-osnabrueck.de/alumni/bernd/jay/
http://www.jflex.de/
Job Control Language
ジョブ制御言語
汎用機において、データやプログラムの仕切りを示して、OSにジョブ実行を指示するバッチ処理用の言語である。
オペレーティングシステム毎に違いがあるが、一般に次の指示を行う。
・ジョブをOSに引き渡す
・ジョブを構成するジョブステップをOSに知らせる。
・ハードウェア装置割当て要求
・実行するプログラム指示
『JCL 文には、JOB 文、 EXEC 文、 DD 文、 注釈文、EXPAND 文、PROC 文、JES制御文、ジョブ制御マクロ文などがある。
JCL例:簡単なファイルソート
//SORT JOB 'accounting_data',
// 'suzuki',
// NOTIFY=&SYSUID,
// MSGCLASS= H,
// MSGLEVEL=(1,1),
// CLASS=5
//STEP1 EXEC PGM=IEFBR14
//SORTIN DD *
NEPTUNE
PLUTO
EARTH
VENUS
MERCURY
MARS
URANUS
SATURN
JUPITER
/*
//SORTOUT DD SYSOUT=*
/*
典型的なバッチプログラム
・1件別処理:全データの合計を求めるなど
・コントロールブレイク処理:ソート済みデータで、ブレークポイント(ソートされる処理対象の項目が変化した状態)を捉えて処理
・マッチング処理:2つ以上のソート済みデータのソート対象に関連するデータを比較してデータを振り分ける
Japan Industrial Standard 日本工業規格
JISC-日本工業標準調査会URL:『http://www.jisc.go.jp/』
財団法人 日本規格協会URL:『http://www.jsa.or.jp/』でJISの検索が可能
規格例
情報交換用漢字符号系 JIS X 0208
ハイパテキストマーク付け言語 (HTML)JIS X 4156:2000 (ISO/IEC 15445:2000)
基本情報処理試験で使われる範囲の規格
情報処理用の流れ図 | JIS X 0121 |
決定表 | JIS X 0125 |
計算機システム構成の図記号 | JIS X 0127 |
プログラム構成要素の及びその表記法 | JIS X 0128 |
論理回路 | JIS C 9309 |
データベース言語SQL | JIS X 3005 |
C言語 | JIS X 3010 |
COBOL言語 | JIS X 3002 |
Java | TR X 0005 |
JIS制度は,規格制定までに長期間を要することや,技術が発展途上にあるため利害関係者全体のコンセンサスが得られにくいなどの問題がある。
そこで標準情報(TS:標準仕様書及びTR:標準報告書)制度が設けられた背景がある。
つまり、諸処の問題により現時点でJISにできないが将来的に標準化の必要な情報として公開している。
標準仕様書(TS/タイプT):コンセンサスが得られなかったものの,公表することが適切であると判断された文書。
標準仕様書(TS/タイプU): 技術的に開発途上にあるが、将来JIS制定への可能性がある標準文書。
標準報告書(TR): 標準化の推進に資するものとして公表される標準文書。
JISX0201コード表の一部を下記に示す。
\\\\\図
ジェーピーニック
JaPan Network Information Center
日本国内でグローバルIPアドレスの割り当てを行なう組織です。→『http://www.nic.ad.jp/』
実質的には、「IPアドレス管理指定事業者」の管理を行っています。
その他、インターネットに関する調査・研究や啓蒙・教育活動も行っています。→『http://rfc-jp.nic.ad.jp/』
歴史的には、1991年 JNIC (Japan Network Information Center)が設立され、日本初ドメイン名割り当て業務開始されています。
Java Server Page
JSPエンジンを持つサーバで、動的に生成されたHTMLで、サーバーサイドプログラムソースの一つと言える。
HTMLに似た表現内のJSPタグを、記述すると、それがサーブレットに翻訳され、そのサーブレットがHTMLを生成する。
JSPエンジンは、JSPタグを解釈し、実行する機能になるが、幾つかの提供元が存在する。
Apache-Jakartaプロジェクト | Tomcat | フリー |
Macromedia | JRun | 一部フリー |
BEA | WebLogic | 商用 |
IBM | WebSpace | 商用 |
Sun-AOL | iPlanet | 商用 |
よく使われるコード例
●JSPの先頭でに記述する初期宣言文(ページディレクティブ)で、ShiftJISの日本語を使い、db.exBeanクラスのbeanと言う変数を、前のページから継承して使う表現になる。
\\\\\List
<%@ page contentType="text/html; charset=Shift_JIS"%>
\\\\\
搭載型機器用Java仮想マシンのJava言語のプログラム。
★J-SKY Application Emulator(J-Phone用)使用体験記
『http://jp-dev.appget.com/』からSDKの『J-SKY_Application_Emulator_2[1].0.zip』をダウンロードし解凍してインストール
C:\J-PHONE-SDKが作成される。
以下のバッチファイル『j.bat』を作成した。『j hello』で、helloプロジェクトでhello.jarを作成できる。
set WORK=F:\J_prg\instruct\i_appli
set JAVAHOME=C:\jdk1.3.1_08
set CLASSPATH=c:\J-PHONE-SDK\lib\stubclasses.zip;.
F:
cd %WORK%
echo %1.java
del univerified\*.class
del verified\*.class
%JAVAHOME%\bin\javac -g:none -bootclasspath %CLASSPATH% -d univerified %1.java
IF ERRORLEVEL 1 goto EROR
C:\WTK20\bin\preverify.exe -classpath %CLASSPATH% -d verified univerified
IF ERRORLEVEL 1 goto EROR
C:\jdk1.3.1_08\bin\jar cmvf hello.mf hello.jar -C verified .
IF ERRORLEVEL 1 goto EROR
echo ------------SUCCESS---------------
goto END
:EROR
echo "Error"
goto END
:END
なお、これを実行する前に、以下のようなマニフェストファイル『hello.mf』を作成しておく必要がある。
MIDlet-1: hello,,hello
MIDlet-Name: hello
MIDlet-Vendor: yuu
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
各行の意味は順に(アプリの構成説明 名前,アイコン,クラス)、(アプリの名称)、(ベンダー名)、(バージョン番号)、(Configuration名)、(Profile名)になる。
また、エミュレータに指定する以下の『hello.jad』ファイルが必要になる。
MIDlet-Name: hello
MIDlet-Vendor: yuu
MIDlet-Version: 1.0
MIDlet-Jar-Size: 1315
MIDlet-Jar-URL: hello.jar
各行の意味は順に (アプリの名称)、(ベンダー名)、(バージョン番号)、(Jarファイルのサイズ)、(JarファイルのURL)になる。