Java 言語
サンマイクロシステムズ社のネットワークを前提としたオブジェクト指向言語と仮想マシンを含めたその環境,またはJAVA ソフトの商標。
インターネットのホームページ上でアニメが動いたり対戦型のゲームができる技術として有名になったが,本来は,テレビとか電話機とか,そのほかの家電製品をコントロールするための,軽い(プログラム全体の容量が小さい)ソフトを作るプログラム言語。
1995年5月,ジェームス・ゴスリングが開発した『Oak 言語』を改称し発表。
サンにとってマイクロソフトを出し抜く初めての試みで,マイクロソフトの将来に多大な影響を及ぼす技術として直ちに熱烈な支持を受けた。
ソースはコミュニティー・ソース・ライセンスとして公開されている。
Windows であれ Linux であれ,適切な Java のベース(インタープリター,Java 仮想マシン JVM)があれば,どんなタイプのコンピューターでも稼働できるはずだった。
熱狂は大きかったが実際の採用はそれほど進まず,この約束は2001年でも部分的にしか果たされていない。
Sun と Oracle を中心とするグループは,開発者が Java ツール向け機能拡張のプログラムコードを1度書くだけで,標準に沿ったすべての統合開発環境 (IDE) に組み込み可能になるよう提案している。
Oracle9i JDeveloper,Eclipse,WebSphere Studio Application Developer,SunOne Studio,NetBeans,Borland JBuilder といった開発環境は,それぞれに独自の拡張 API を備えているが,実装が異なるだけで基本機能には共通点が多いため,Oracle が提出した JSR では,機能拡張を IDE 間で共用できるよう,拡張 API の標準化を提案している。
2004年7月1日,開発者会議のパネルディスカッションで,Java のオープンソース化のメリットをめぐって討議が行なわれたが,ソースコードには何らかの制限を課すのが開発方式として最適だという論調だった。
11月,Sun Microsystems は Sun Java JRE と Sun Java SDK の v1.4.2_05 以前と,1.4.1,1.4.0,および 1.3.1_12 以前に,不正アクセスされうる脆弱性があると発表。
Java のサンドボックスや Java アプレットのセキュリティ制限を回避できるという設計上の問題らしい。
2005年11月29日,Sun Microsystems は,同社が提供する Java の実行環境 Java Runtime Environment(JRE) 1.3.x/1.4.x/1.5.x/5.x,開発キットの Java Development Kit(JDK) Sun Java JDK 1.5.xと Java Software Development(SDK) Sun Java SDK 1.3.x/1.4.x に脆弱性の問題があると発表。
脆弱性は,Java アプレットの実行に関するもので,悪意あるコードを含む Java アプレットをブラウザなどから実行すると,ローカルのファイルを読み書きされたり,ローカルのアプリケーションを実行されたりする危険性がある。
脆弱性に対応した製品の最新版が公開されている。
2006年10月20日,Sun Microsystems は Java のオープンソース化を2006年末までに開始し,2007年中にそのプロセスを完了すると発表。
11月13日,Sun Microsystems は,複数の『Java』実装を『GNU 一般公的使用許諾契約』(GPL) のもとでオープンソース化すると発表。
2009年7月15日,SANS Internet Storm Center は Java の既知の脆弱性を突いた攻撃コードが出回り,今後攻撃の拡大が予想されると発表。
この脆弱性の存在は2008年12月に明らかになり,Sun が更新版をリリースして対処。
しかし4月に入ってエクスプロイトが出現。
このほど,同エクスプロイトが攻撃ツールキットで利用され始めたという。
脆弱性は Jar ファイルの圧縮に使われる『Pack200』メソッドに存在し,JRE 6 Update 13 未満のバージョンと,JRE 5 Update 18 未満のバージョンが影響を受ける。
エクスプロイトは Applet を使って,細工を施した Pack200 圧縮ファイルをダウンロードさせる。
2011年2月15日,『Java』関連の定期セキュリティ更新『Critical Patch Update』(CPU) が公開され,21件の脆弱性を修正した。
元々は家電製品の制御用に考えられていたが,インターネットの普及に伴い,爆発的に普及した。
インターネットでの使用を当初から考慮したため,セキュリティー・モデルは,コードが操作できる区域をコンピューター内で制限する,サンドボックスモデルを採用している。
それゆえネットワークに関連したソフトを作るのに適しているといわれている。
また,2000年ころから携帯電話のアプリケーション としても使われている。
C++ から多くの設計思想を引き継いだプログラミング言語である。
その上で,本格的な高級言語として CPU や実装依存性を排除するように言語仕様が定められている。
そのため,VM の仕様も言語仕様とともに定義されている。
また,まともな高級言語としてポインタを言語仕様から排除している。
その代り,普通のオブジェクト指向言語と同様に,オブジェクトテーブルによるインスタンスの管理とガベージコレクションを行う。
具体的にはコンパイラーが,ソースコードを中間言語のバイトコードに変換し,
これをそれぞれのコンピューターに用意されたインタープリター(JVM)が実行する。
そのため JVM さえあれば,ハードウェアや OS 等のプラットフォームを選ばない。
つまり Mac でも Windows でも,他の大型のコンピュータでも動く。
また,不足した機能は,ネットワークから取り入れることができる。
以上の理由から「ネットワークコンピューティング」のための最も標準的なプログラミング言語として,注目されている。
Java 言語の仕様は C++ 言語だが,
これからバグの原因になりやすいポインター演算,構造体,goto 文,プリプロセッサーなどを削除したものである。
バイトコードのロードでは,
標準クラスライブラリーの中のクラスだけをロードする「クラスローダー」と,
ロードするバイトコードに他人の手が加えられていないことをチェックする「バイトコードベリファイアー」の二段階のチェックが行われ,
コンピューターウイルスなどの侵入が出来ない様になっている。
また,C 言語や C++ 言語などでは実現が難しいマルチスレッド処理を素直に記述できる。
さらに,メモリーのガーベジコレクション機能を持っているので,
プログラマーがメモリー管理に悩む必要がない。
なお,2001年の時点でJava の開発者(プログラマーなど)は世界中で250万人と推定されている。
Java 開発ツールキットは関連企業各社が,それぞれ異なった方式で定義するツールキットを提供してきた。
今後,正式な標準が決定すれば,皆それに準拠するとみられる。
また,Java から .NET に移行するツール(JLCA)や,その逆のツール(iNET)などが公開されている。
Java アプリケーションにおける不要な Java オブジェクトは,Java VM が自動的に判断をしてガベージコレクション(GC)を行い,使用メモリを開放している。
Java VM が自動判断を行う条件としては Java オブジェクトが使われなくなったこと(他の Java オブジェクトから参照されなくなったこと)による。
この参照が意図しないところで残っていると,メモリリークにつながり,最終的にはメモリ不足でシステムダウンという現象を引き起こす。
メモリリークの典型的な例として,アプリケーションプログラムのモジュール間で共用するテーブルなどに登録していくオブジェクトの登録解除漏れや,決まった時間だけ使用するキャッシュなどの削除漏れがある。
メモリリークを発見することはなかなか難しく,アプリケーション開発者がアプリケーションプログラムにデバッグロジックを埋め込んだり,解析ツールを適用して原因を特定する方法が一般的に行われている。
しかし,多くの場合は大量のログ出力に伴う負荷や解析ツールの負荷を伴うため,本番の運用環境での適用は制限される。
また,デバッグロジックの埋め込みや解析ツールの適用によりアプリケーションプログラムの挙動が変わってしまう場合もあり原因究明がより困難になる。
Java Powered
Sun が2003年6月から開始した Java の知名度アップと消費者に親しまれるブランドとしての確立を目指すキャンペーン。
Java Store コードネーム『Project Vector』
Sun Microsystems が2009年5月20日に計画を発表した,Java および JavaFX で開発したアプリケーションを販売するオンラインストア。
開発者は Sun のサイト上で有料・無料のアプリを配布できる。
Java と JavaFX ベースのアプリケーションを集めて提供するサービス。
コンシューマー向けという位置付けで,ゲーム,ソーシャルネットワーク,生産性ツール,ビジネス向けなどさまざまな Java アプリケーションを検索,入手できる。
2009年12月11日,β版を米国ユーザー向けにオープン。
Java 6 Update 6
2008年5月公開。
13件のバグを修正した。
Sun Java 6.0 Update 11
2008年12月公開。
1件あるいはそれ以上の脆弱性が修正されたらしい。
Java 6 Update 26
2011年6月7日,定例セキュリティアップデートとなる『クリティカルパッチアップデート』を公開。
Java SE に存在する17件の脆弱性に対処した。
脆弱性はJDK/JRE 6 Update 25,JDK 5.0 Update 29,SDK 1.4.2_31までのバージョンに存在する。
Java 独禁法訴訟
Java が訴えられた裁判
2004年10月1日,ニューヨーク西区連邦地裁の陪審は Java が Eastman Kodak が保有する特許を侵害しているとの評決を下した。
Eastman Kodak は,1996年9月に結んだ両社間の契約 Technology License and Distribution Agreement を Sun が破り,Remote Method Invocation と Interface Definition Language および Java Applet Environment を,Java で利用ならびに配布したと訴えていた。
これは,Kodak が持つ3件の特許 (番号「5,206,951」「5,421,012」「5,226,161」) の不正利用にあたると主張している。
同月7日和解が成立。
問題となっている3件の特許は,2つ以上のアプリケーション間におけるソフトウェアのコミュニケーションに関するもので,Kodak が1997年に Wang Laboratories から買収したもの。
日本 Java ユーザグループ Japan Java User Group(JJUG)
2007年4月23日設立の,草の根活動により,企業や団体,地域,分野を越える交流を活性化し,技術者の地位向上を目指すコミュニティ。
Java を共通の関心事として,さまざまな形態で組織された,さまざまなコミュニティをつなぐコミュニティの自由な連合体となる。
Java 技術に関するウェブサイト・メーリングリストの運営,『Java基礎セミナー』・『Javaコミュニティ・カンファレンス』の開催などを行う。
Commons Lang
Java VM(JVM) Java 仮想マシン
Java Desktop System
Java 2 Platform Standard Edition(J2SE)
Java Specification Request(JSR)
PMD Project
Java 開発ツール
スレッドダンプ
ダンプを採取したその瞬間における Java アプリケーションの実行状態を記述したもの。
採取された瞬間の断片的な情報で,実際に停止しているのかを判断ができない。
バグで,無限ループやデッドロックで処理が止まってしまうケースでは,無応答状態を発生させるような怪しいプログラムを推測するしかない。
解決方法として,間隔をあけて複数回のスレッドダンプを採取することが挙げられるが,このタイミングやスレッドダンプの確認方法は,勘や経験に頼るところも多い。
Java セキュアコーディング 並行処理編
米国の CERT/CC が2010年5月に公開。
カーネギーメロン大学ソフトウエア工学研究所の CERT プログラムと Oracle の共同作業の成果である『CERT Oracle Secure Coding Standard for Java』の中から,並行処理プログラミングに関連したガイドラインをまとめた資料。
セキュアな Java マルチスレッドプログラミングに取り組む際に適した手引き書。
文書は247ページの PDF ファイルで,JPCERT/CC のサイトより無償ダウンロードが可能。
Java セキュアコーディング 並行処理編,日本語翻訳版
2011年8月19日,JPCERT コーディネーションセンターが公開。
Abstract Windowing Toolkit(AWT)
ユーザーインターフェース関連のコンポーネントが収められた Java のクラスライブラリー。
ウィンドウ表示やボタンなどが収められている。
e Suite
Lotus 社が作成したビジネス向けの Java アプレット集。
ワープロ,表計算,グラフ作成,プレゼンテーション,データベース・アクセスなどの機能が含まれる。
Embedded Java
SUN が提唱した,組み込み用のマイクロプロセッサー向けの JAVA。
携帯電話機,ポケットベル,FAX,ネットワークルータ/スイッチなど,
大量生産され,様々なマイクロプロセッサが搭載される可能性があり,
極めて限られた表示しかできないディスプレイデバイスなどしかない環境での利用を想定している。
Java 2 Micro Edition(J2ME) モバイル版 Java
Java の小型機器版,携帯機器向けバージョン。
2008年8月11日,McAfee は独立系のセキュリティ調査会社が脆弱性を見つけたと発表。
脆弱性のうち2件は携帯電話用の Java 仮想マシン(JVM)に,14件は Nokia の Series 40 を搭載した携帯電話に影響する。
これらの脆弱性を悪用すると,信頼できない携帯向け Java アプリ(MIDlet)を実行することが可能になる。
Java3D アプリケーション・プログラミング・インターフェース(Java 3D API)
開発者は Java 技術を基盤にしたアプリケーションやアプレットに 3D グラフィックスを組み込むことができる。
NASA がマーズ・ローバーのミッションの命令・制御システムに使用している。
2004年6月28日,オープンソース化すると発表。
Connected Limited Device Configuration(CLDC)
Sun の J2ME の想定実行環境のひとつ。
携帯電話や PDA などの CPU やメモリーが限られた小型端末が対象。
仮想マシンに KVM を採用し,16bit CPU,メモリー 1M 以下で動作できる。
仕様は JCP で JSR-000030 として規定されている。
JAR 形式
Java プログラミングで,複数のクラスファイルを1つの圧縮ファイルとして扱えるようにした形式。
JDK 1.1 から提供され,拡張子は「JAR」で,ZIP と互換性がある。
Java applet
Java で作成され,バイトコードに変換された実行プログラム。
ブラウザーにダウンロードされて実行され,これを HTML の中に埋め込めば,動くホームページになる。
サーブレット
Web サーバー上で実行される Java プログラム。
Java Servlet 3.0
ひとつのアプリケーションの中でWebフレームワークのシームレスな入れ替えが可能になる『Webフレームワークのプラグイン化』を実現。
2007年6月,Java Community Process に提出された。
Java Beans
Java で書かれたコンポーネント,JAVA プログラムの部品。
実際はバイトコードで,コンパイルされたサブルーチンの集まり。
OLE の様に,再利用可能なソフトウェア・コンポーネントを開発するための API。
これにより動的なオブジェクト間のインターフェイスが実現される。
Java client,ジャバクライアント
サンマイクロシステムズ社が開発したインターネット用の端末機。
HDD や CD-ROM,OS もなく,約500ドルと低価格である。
ネットワークを前提としたオブジェクト指向言語の Java クライアントの制御ソフトの Kona は,
このための小さなリアルタイム OS である。
Java Database Connectivity(JDBC)
Java プログラムからデータベースにアクセスするために考案された統一インターフェイス。
さまざまなドライバーを用いて,ネットワーク上のデータベースサーバーや,
ODBC ブリッジと呼ばれるドライバーを用いた ODBC 対応のデータベースなどに接続することが可能になる。
Java for Mac OS X 10.4 Release 9
Apple が2009年6月15日に公開した,Mac OS X 10.4/10.5 向けの脆弱性修正バージョン。
Java 1.5をバージョン1.5.0_19に,Java 1.4をバージョン1.4.2_21にそれぞれ更新し,多数の脆弱性に対処。
『Java for Mac OS X 10.5 Update 4』ではJava 1.6,Java 1.5,Java 1.4の更新版を盛り込んだほか,『Aqua Look and Feel for Java』のインプリメンテーションに存在する脆弱性に対処した。
Java for Mac OS X 10.5 Update 5
2009年9月3日公開の,Mac OS X 10.5 に同梱された Java の脆弱性を解決するアップデート。
同梱されている Java 1.6.0/1.5.0/1.4.2 と Java Web Start を,それぞれ脆弱性を解決した新しいバージョンに更新(Java SE 6,J2SE 5.0,J2SE 1.4.2 をアップデート?)した。
Java for Mac OS X 10.5 Update 6
Apple が2009年12月3日に公開した Mac OS X 10.5.8 が対象の Java 更新版。
Java 1.6.0_15 までの古いバージョンに存在していた複数の脆弱性を解決した。
Java for Mac OS X 10.5 Update 7
2010年5月18日公開。
Java を更新版の v1.6.0_20 にアップデートし,Java 1.6.0_17 に存在する多数の深刻な脆弱性を解決している。
Java for Mac OS X 10.5 Update 10
2011年6月28日公開。
Java を v1.6.0_24 から v1.6.0_26 に更新し,多数の深刻な脆弱性に対処した。
Java for Mac OS X 10.6 Update 1
Apple が2009年12月3日に公開した Mac OS X 10.6.2 以降のバージョ が対象の Java 更新版。
Java 1.6.0_15 までの古いバージョンに存在していた複数の脆弱性を解決した。
Java for Mac OS X 10.6 Update 2
2010年5月18日公開。
Java を更新版の v1.6.0_20 にアップデートし,Java 1.6.0_17 に存在する多数の深刻な脆弱性を解決している。
Java for Mac OS X 10.6 Update 5
2011年6月28日公開。
Java を v1.6.0_24 から v1.6.0_26 に更新し,多数の深刻な脆弱性に対処した。
Java for Mac OS X 10.6 Update 6
Apple が2011年11月8日公開。
Mac OS X v10.6.8(Snow Leopard)が対象。
Java for Mac OS X 10.7 Update 1
Apple が2011年11月8日公開。
Mac OS X v10.7.2(Lion)が対象。
Java for Mac OS X 1.6.0_26
Mac OS X に組み込まれている。
多数の脆弱性があり,深刻なものでは信頼できない Java アプレットを使って任意のコードを実行される恐れがあった。
修正版が公開されている。
Java Foundation Classes(JFC)
JavaSoft,Netscape,IBM,Appleの4社で共同開発を行っている,Java の新しいクラスライブラリの名称。
JFC では,GUI コンポーネント,クリップボード,ドラッグ&ドロップ,マウスオペレーション機能などが提供される。
Java Community Process(JCP) Java コミュニティー・プロセス
1995年にサンが提唱した Java の標準化団体。
または,Java に関するさまざまな技術の仕様を決めたり,リファレンス実装を行ったり,テストスイートの開発などを行なう際のオープンな参加型プロセス。
Sun と契約し,会費(年額,個人は2000ドル,企業は5000ドル)を払うことで参加できる。
SUN はこれを通じて Java 提携企業と協力し,標準開発に取り組んでいる。
サイト:http://www.jcp.org
2005年6月17日,JSR 170( http://www.jcp.org/en/jsr/detail?id=170 )として標準化が進められている Java Content Repository(JCR) v1.0 を公開。
JCache
JSR 107 で標準化された Java のキャッシュ機構。
広範囲の技術をカバーしているため複雑なのが問題。
ehcaches Java 用キャッシュ
Just Intime(JIT)
Just In-Time compiler,JIT コンパイラ
Java プログラムを実行する場合,ソースコードを中間コードに書き換えるが,
これをネイティブコードに変換することで処理速度を高める仕組み。
上記を行うコンパイラを JIT コンパイラと呼ぶ。
一般的には,WWW ブラウザで Java プログラムを実行するためのコンパイラをこのように呼ぶ事が多い。
Jini ジャバ・インフラストラクチャー・イニシアティブ
1999年に発表された Java を元に開発された,あらゆる家電製品,情報機器を遠隔操作,情報交換をするもの。
ネットワーク上で動的にサービスを探し出して利用するための軽量環境。
ハードウェア/ソフトウェアに関わらず様々な資源をネットワークに接続し,お互いにその機能を提供し合うための Java をベースとした技術。
デジタルカメラやプリンターなどの小型機器が,コンピューターを媒介せずに情報を伝達するために開発。
ソースはコミュニティー・ソース・ライセンスとして公開されている。
サンが太鼓判を押したにもかかわらず,Jini は商業的にはおおむね失敗に終わった。
Sun は Java を必要としない Jini の改訂版に取り組んでいる。
ネットワークに接続された機器が他社に対して提供する機能のことを"サービス"と呼ぶ。
あるサービスがネットワーク上に公開されると,他のサービスはそれを自動的に検出する。ときにはいくつかのサービスが協調して一つのサービスを提供することもある。
JavaSpace
ネットワーク上でオブジェクトを共有するための空間を構築するための仕組みで,Jini テクノロジを基盤として実装される。
Java Native Method Interface(JNI)
Java VM で実行される Java コードと、
ほかのプログラミング言語で書かれたアプリケーションやライブラリ間のインターフェース仕様。
Java Web Start
Web を通じて Java アプリケーションを配布するためのツールで,JRE(Java Runtime Environment)などに同梱されている。。
2007年5月8日,情報処理推進機構と JPCERT コーディネーションセンターは『Java Web Start』に関する脆弱性情報をJVN(Japan Vulnerability Notes)で公開。
Java Web Start の実装に問題があり,細工された JAR ファイルを含む Java Web Startア プリケーションにより,本来実行が許可されていないシステムクラスが実行される可能性がある。
脆弱性が悪用された場合,任意のコードが実行される危険性があるため,Java を対策済みのバージョンに更新するよう呼びかけている。
影響を受けるシステムは,JRE 5 Update 10 およびそれ以前,JRE 1.4.2 Update 13 およびそれ以前,JDK 5 Update 10 およびそれ以前,SDK 1.4.2 Update 13 およびそれ以前。
2007年6月,脆弱性が見つかり Sun Microsystems が修正パッチを公開。
信頼できないアプリケーションに,任意のファイルを上書きできる権限を取得されてしまう恐れがある。
影響を受けるのは,Sun JDK 5.0 Update 11,Sun JRE 5.0 Update 11,Sun JRE 1.4.2_13,Sun SDK 1.4.2_13の各バージョンおよびそれ以前のバージョン。
JavaOne
Java の開発者会議,毎年6月にサンフランシスコで開催されている。
コーディング講座も開催されている。
熱狂的な Java プログラマーは,大変な反マイクロソフト派であることが多く,
参加者の熱狂ぶりは,宗教的情熱と西部開拓時代のフロンティア精神に例えられる。
この種の Java オタクたちはたいてい,旅費がどれだけかかろうと JavaOne 会議には毎年参加し,オフラインやオンラインで催される Java ユーザーグループの集まりに顔を出しては,プログラミングの知恵を積極的に交換している。
伝統と化している儀式は,Java グッズを扱う店に繰り出し,コーヒーカップのロゴや Java のマスコット・キャラクター『デューク』が描かれた商品を片っ端から買いあさるというものらしい。
Java POS
Java を応用した POS システム。
プラットホームの違いを意識させずに利用できる。
サーバーでアプリケーションを管理し,利用時にダウンロードして使うため管理・運営コストが削減できる。
Java processor,Java チップ
Java 言語に対応したプロセッサー。
Java 言語のプログラムを,インテル社の x86 シリーズなどの既存のチップに比べて,約20倍以上高速に処理できる。
サンは長い間,Java の速度を向上させる特別なチップを求めていた。
独自の開発努力は失敗に終わったが,ナゾミ,オーロラ VLSI,インシリコン,ARM ホールディングズ,ズコット・ワイヤレス,アイルランドのパーサス・テクノロジーズなどは,既存のプロセッサーに Java アクセラレーションを追加するという考え方を進めている。
Java Card Java カード
Java 技術を組み込んだスマートカードのこと。
利用方法として,ユーザーの ID 認証などが挙げられ,Java カードとパスワードの両方が必要なため,なりすましが困難になる。
米軍430万人に配布された『コモン・アクセス・カード』認証システムで採用されている。
2002年11月5日,サンは Java カードの利用が昨年1年間で400%増加したと発表。
ライセンス先は世界12ヵ国で50を超え,カード累計数は2億6000万を突破。
金融・ワイヤレス分野だけでなく,政府・軍事関連,医療,企業内認証などの利用も広がり,台湾が2400万枚の医療IDカード・プログラムを開始し,アメリカ政府,国防総省に加え,交通安全局,財務省などに採用された。
Java Card 2.1
Java ベースの IC カードの規格。
Java Enterprise System(JES) ジャバ・エンタープライズ・システム
各種のサーバー用ソフトウェアをひとまとめにした製品。
Sun の Web サービス戦略の中核であると同時に,同社が始めたサブスクリプションベース料金攻勢の主軸でもある。
企業には従業員1人当たり年100ドルで販売し,規模の小さい会社ほど低価格で利用できるようにしている。
Sun はこれをできるだけ多くの OS に対応させようとしている。
2004年6月3日,途上国の政府・自治体には人口1人当たり年0.33〜1.95ドルで販売すると発表。
国連が開発途上国あるいは後発開発途上国に分類した国・地域が対象。
7月27日,x86 ベースハードウェア用 Windows 版の JES,および PA-RISC アーキテクチャ用 HP-UX 版の JES を提供する計画を発表。
Java System
2007年6月12日,FrSIRT は2件の脆弱性を発見したと報告。
Network Security Services(NSS)ライブラリのエラーが原因で,リモートから任意のコードを実行できる。
影響を受けるのは,Sun Java System Application 8.1 2005 Q1,Sun Java System Web Server 6.1/7.0,Sun Java System Web Proxy Server 4.0。
Java System Enterprise Server Bus(ESB)
JSR 208( http://www.jcp.org/en/jsr/detail?id=208 )で策定される Java Business Integration(JBI)の実装で,Service Oriented Architecture(SOA)を実現するためのフレームワーク。
JEE を拡張し,WSCI や BPEL4WS などと Java のビジネスロジックを統合できる。
Java System Identity Manager
2009年3月,複数の深刻な脆弱性が見つかり,修正パッチが公開された。
脆弱性は複数あり,悪用されると攻撃者が任意のコマンドを実行したり,クロスサイトスクリプティング(XSS)攻撃を仕掛けたりできるほか,設定の変更や重要情報の入手も可能になる。
脆弱性が存在するのは,Java System Identity Manager 7.0/7.1/7.1.1/8.0。
Personal Java
Sun Microsystems 社により提唱された Java 仕様の一種。
家庭用 TV で使用するセットトップボックス,Internet 接続機能を持った TV,
家庭用ゲーム,モバイル用ハンドヘルドコンピュータなど,
ディスプレイデバイスは持つが,キーボードやマウスなどの入力デバイスを持たない情報機器向がターゲット。
ピコ Java PicoJava
ASIC,つまりカスタム IC に組み込むタイプ。
IBM,NEC,富士通,米ロックウェル・コリンズとライセンス契約を交わしたにもかかわらず,普及しなかった。
マイクロ Java
CPU のみの Java プロセッサー。
ウルトラ Java
三次元グラフィクスやマルチメディア機能を盛り込んだタイプ。
Enterprise Java Beans(EJB)
インターネットで電子決済をするための機能を中心とした,Java Beans の集合体。
主にはサーバーアプリケーション向けの Java Beans。
EJB 3.0
仕様が肥大化して開発者コストが大きくなってしまった EJB 2.0 の後継テクノロジとして Ease of Development(EoD)を目指したテクノロジ。
TopLink 以外にも Hibernate をはじめとするオープンソースのテクノロジ,J2SE 5.0 の Annotation による EoD などが取り入れられており,Java EE のモデルやコントロールの開発を容易にするものとして期待を集めている。
Hot Java
Sun が開発した Java で記述された WWW ブラウザー。
アプレットをネットワークからダウンロードすることにより,機能を追加できる。
Mobile Information Device Profile(MIDP)
2000年9月に登場した,携帯電話や Palm など,処理能力が低く,メモリーが少ない機器向きの Java。
3次元グラフィックス,オーディオおよびビデオ機能の強化,携帯電話利用者の位置情報の利用などへ拡張するプロジェクトが,いくつも進行している。
Oak 言語
1991年9月に、ジェームス・ゴスリングが、
情報家電(PDA)用のアプリケーション記述のためのプログラミング言語として開発。
ジェームス・ゴスリング
NeWsウィンドウシステム,Oak 言語の開発者。
Jameleon
Java アプリケーション開発におけるテスト工程を自動化するためのツール。
実際に使用するデータを元にしたデータ駆動型のテストを行うことができる。
2005年7月7日,開発チームは 3.0 を公開。
Retrotranslator
Java で作成されたバイトコードトランスレータ。
The BSD License のもとで公開されているオープンソースソフトで,
JDK 5.0 でコンパイルされた Java クラスファイルを,Java 1.4 で動作するクラスファイルに変換する。
Retrotranslator 1.0.2
2006年3月21日公開。
1.0.0 以降の修正はバグの修正のみ。
wtfjs
JavaScrip のちょっとおかしな挙動を呈するコードを集めたサイト。
サイト:http://wtfjs.com
戻る 英語『J』,最初のメニュー