削除された内容 追加された内容
タグ: 2017年版ソースエディター
752行目:
'''動作性能'''
{{main|Javaの性能}}
公開初期のJava仮想マシンは動作速度の遅さと必要メモリリソースの大きさを指摘される機会が多かったが、開発元の技術研鑽による[[ジャストインタイムコンパイラ|その場しのぎ適時適量コンパイル手法(''just-in-time compilation'')]]技術の導入とその改善の積み重ねによって、ネイティブコード実行とさほど遜色の無い動作速度が得られるようになった。メモリ消費量にもそれなりの抑制が見られたが、こちらは仮想マシン機能の巧みな取捨選択で実現されているケースが多く、またある程度はハードウェア環境の進化にも依存していた。現在のJava仮想マシンは動作速度面で概ね好評を得ており、またメモリリソース面でもそれほど問題は指摘されていない。
 
'''ルックアンドフィール'''
 
[[Look and feel|ルックアンドフィール]]とは、アプリケーションにおけるインターフェース部分の見た目であり、クロスプラットフォーム指向で開発されたJavaは、同時に特定のデザインに依存しない方針を貫いていた為、公開当初から比較的長い期間に渡ってGUI部分の欠点を指摘される事が多かった。サン社は、設計的には洗練されていたが見た目はまだ不十分であった汎用GUIライブラリである[[Swing]]を公開した後に、[[Microsoft Windows|Windows]]、[[macOS]]、[[Motif (GUI)|Motif]]といった各OSの見た目仕様をSwingの表示処理に適用出来るクラスライブラリ用の[[プラグイン|プラグイン(差し替えコード)]]を提供するようになった。しかし、これは同時にエンドユーザー側に一定のインストール手順を求める頻雑性の課題を残す事になった。
 
'''バージョン間の互換性'''
 
Javaではバージョン間の[[下位互換]]性・[[上位互換]]性の問題が議論の対象になっている。Javaではバージョン間の互換性をある程度の水準まで達成している。しかし、バージョンの異なる実行環境の取り扱いには課題が残っている。たとえば J2SE 1.4実行環境用に書かれたプログラムは、実行環境にJ2SE 1.3を想定すると明示的に指定してコンパイルしなければJ2SE 1.3実行環境では動かず、利用する[[ライブラリ]]がJ2SE 1.4以降から追加されたものである場合にはJ2SE 1.3実行環境での実行を諦めなければならない。J2SE 1.3からの上位互換性は、J2SE 5.0まで保証されている。J2SE 1.3以降のJavaプログラムでは下位互換性は保証されないが、Java実行環境 (JRE) の自動アップデート機能によって仮想マシンを最新バージョンにアップデートすれば解決できる。ただし1.1, 1.2時代のJavaプログラムの場合、下位互換性だけでなく、上位互換性問題に引っかかる可能性がある。JDK 1.1、J2SE 1.2時代のJavaプログラムは、現在となっては古いため、上位互換性問題に引っかかる可能性がある。
 
== Java認定資格 ==
[[File:Java Certification Path.gif|thumb]]
[[サン・マイクロシステムズ]]は複数のJava認定資格を主催していた。[[オラクル (企業)|オラクル]]による買収後、一部資格は変更されている。ただし、買収前に以下の資格を取得した者は買収後も有効資格である。各試験は難易度でランク分けされており、受験資格にも影響している。
*lv1 - Sun認定 Java アソシエイツ (SJC-A)
*lv2 - Sun認定 Java プログラマ (SJC-P)
*lv3 - Sun認定 Java モバイルアプリケーションディベロッパ (SJC-DMA)
*lv3 - Sun認定 Web ビジネスコンポーネントディベロッパ (SJC-WCBC)
*lv3 - Sun認定ビジネスWebコンポーネントディベロッパ (SJC-BCWC)
*lv3 - Sun認定 Java Web サービスディベロッパ (SJC-WS)
*lv4 - Sun認定モバイルアプリケーションJavaディベロッパ (SJC-MAD)
*lv5 - Sun認定エンタープライズアーキテクト (SJC-EA)
 
現行はオラクルが以下のJava認定資格を主催している<ref>{{Cite web
|url = http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=433&p_org_id=70&lang=JA
778 ⟶ 779行目:
|publisher = 日本オラクル
|accessdate = 2011-09-19
}}</ref>。これらのうちOracle認定内、エンタープライズJava EE 6 Enterprise JavaBeansビーンズディベロッパとJavaパーシステンスディベロッパ以外の試験は"OCJ"を、サン・マイクロシステムズ主催していた試験当時、それぞれ略号の "OCJ" を "SJC" 変更し置き換えたものに対応する位置付けにあしている<ref>{{Cite web
|url = http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=433&p_org_id=70&lang=JA
|title = Sun認定資格に関する重要なお知らせ
784 ⟶ 785行目:
|accessdate = 2011-09-19
}}</ref>。
 
*Oracle認定Javaアソシエイツ (OCJ-A)
*lv1 - Oracle認定Javaプログラマアソシエイツ (OCJ-PA)
*lv2 - Oracle認定Javaディベッパグラマ (OCJ-DP)
*lv3 - Oracle認定Webコンポモバイルアプリケショディベロッパ (OCJ-WCMA)
*lv3 - Oracle認定ビジネスコンポーネントディベロッパEE 5 (OCJ-BC)
*lv3 - Oracle認定Java WebコンポビスネントディベロッパEE 5 (OCJ-WSWC)
*lv3 - Oracle認定モバイルアプリケWebサションビスディベロッパ (OCJ-MAWS)
*lv3 - Oracle認定エンタープライズJavaビキテクト (OCJ-EA)ンズディベロッパ
*lv3 - Oracle認定Java EE 6 Enterprise JavaBeansパーシステンスディベロッパ<!--
*lv4 - Oracle認定Javaアソシエイツディベロッパ (OCJ-AD)
*lv5 - Oracle認定エンタープライズアーキテクト (OCJ-EA)
<!--
認定資格は年3回の受験制限がある。ただし何らかの理由で4回以上受験の際には、アメリカのサン・マイクロシステムズ本社に連絡する必要がある。
→日本オラクルのサイトに上記制限が見つからないのでコメントアウト。でもどこかで見たような気がするんだよなぁ。
821 ⟶ 825行目:
*[[Javaの性能]]
*[[キーワード (Java)]]
*[[Java Platform, Standard Edition]] (Java SE) - Java の汎用的なエディション
*[[Java Platform, Enterprise Edition]] (Java EE) - Java の大規模システム向けエディション
*[[Java Platform, Micro Edition]] (Java ME) - Java の[[組み込みシステム]]向けエディション
*[[Javaプラットフォーム]]
*[[Java Platform, Standard Edition]] (Java SE) - Java 一般ユーザー向け汎用的なエディション標準版。
*[[Java Platform, Enterprise Edition]] (Java EE) - Java の大規模システム向けITディショジニア向けの拡張版。
*[[Java Platform, Micro Edition]] (Java ME) - Java の[[組み込みシステム]]開発者向けエディションの特定技術版。
*[[Java仮想マシン]] - Javaプログラムを実行する[[仮想機械|仮想マシン]]
*[[Javaコンパイラ]] - Javaプログラムを[[Javaバイトコード]]に変換する[[コンパイラ]]
830 ⟶ 834行目:
*[[Java Runtime Environment]] - [[Javaアプリケーション]]を実行するために必要な環境。
*[[Java Servlet]] - [[サーバ]]側で動的に[[ウェブページ]]などを生成するJava技術
*[[Javaアプレット]] - [[ウェブブラウザ]]などで実行できされグラフィカルなJavaログラムリケーション。
*[[Java Web Start]] - [[Javaアプリケーション]]配布配備と実行を便するを目指した技術。Javaアプレットの代替にもなりうる
*[[BD-J]]
*[[Java Community Process]] - Java技術の標準化プロセス