「Java」の版間の差分
削除された内容 追加された内容
Goldensundown2 (会話 | 投稿記録) 編集の要約なし |
|||
(同じ利用者による、間の1版が非表示) | |||
22行目:
}}
{{プログラミング言語}}
'''Java'''(ジャバ)は、狭義では[[プログラミング言語]]のJavaを指し、広義ではJava言語を中心にした[[プラットフォーム (コンピューティング)|コンピューティング・プラットフォーム]]を意味する<ref>[https://www.java.com/en/download/faq/whatis_java.xml What is Java and why do I need it?]</ref>。後者はJavaプラットフォームと呼ばれ、その関連技術はJavaテクノロジと総称されている<ref>[https://docs.oracle.com/cd/E26537_01/tutorial/getStarted/intro/definition.html About the Java Technology (The Java? Tutorials > Getting Started > The Java Technology Phenomenon)]</ref>。Javaの構文は[[C言語]]に類似しており、[[オブジェクト指向]]と[[並行計算|並行コンピューティング]]が主な[[プログラミングパラダイム|パラダイム]]として導入されている。Javaテクノロジの主な目標は、従来のソフトウェアが抱えていた[[移植性]]問題の解決であった。''"[[Write once, run anywhere]]"''(一度書けばどこでも動く)をキャッチコピーにし、特定の環境に依存しない理想的な[[クロスプラットフォーム]]・プログラムの実現を目指して公開された
Javaプログラムは[[Javaバイトコード|特殊なバイトコード]]に[[コンパイラ|コンパイル]]されて、[[Java仮想マシン]]と呼ばれるソフトウェア上で実行される。各コンピュータ環境に対応したJava仮想マシンがハードウェア間の差異を吸収し、特定の環境に依存しないプログラム動作を実現する仕組みとなっている。Java登場初期の対象であった家電機器の[[組み込みシステム]]を始め、[[マイクロコントローラ|マイクロ制御装置]]、[[携帯機器]]、[[パーソナルコンピュータ
Javaは、1995年に[[サン・マイクロシステムズ]]社によって公開された。2010年にサン社は[[オラクル (企業)|オラクル]]社に吸収合併され、Javaの各種権利もそちらに移行した。おおよそ数年おきに言語仕様の改訂が重ねられており、2019年3月現在の最新メジャーバージョンは、2018年9月25日に公開された第11版となっている。
140行目:
Javaでは、C/C++のような、整数と[[ポインタ (プログラミング)|ポインタ]]の相互変換、配列の要素へのポインタによるアクセス、ポインタ演算といった機能は、基本機能としては提供されていない。ただし、オブジェクトへの参照は内部的にはアドレスである。
Javaは「[[パッケージ (Java)|パッケージ
== 歴史 ==
562行目:
== Javaプラットフォーム ==
Javaプラットフォーム(''Java Platform'')は、'''Java実行環境'''(JRE)と'''Java開発キット'''(JDK)と'''拡張テクノロジ'''の総合である。拡張テクノロジとは様々なIT分野にJavaを適用して生み出された膨大な技術群の総称である。上記三種は公式ベンダーだけでなくサードパーティ側からも提供されており、スマホ、パソコン、サーバーマシン、
=== エディション(版) ===
現在、Javaプラットフォームには使用環境に合わせた4つのエディションが存在する。エディションによってJava実行環境とJava開発キットに含まれるツール構成に違いがあり、またクラスライブラリとAPIの構成内容も異なっている。なお、JDK 1.1までは単体エディションで、J2SE 1.2から3エディションに分かれた。J2SE 5.0頃から拡張テクノロジの一つであったJava Cardが昇格して4エディションとなった。
;スタンダード版(''Java Platform Standard Edition'')
572行目:
:サーバーマシン、ワークステーション向けである。スタンダード版に加え、WEBサーバー及び多層クライアントサーバーや業務用システムを開発する為の、様々な拡張技術クラスライブラリ&APIが追加されている。業務用プロフェッショナル仕様であり大規模である。
;マイクロ版(''Java Platform Micro Edition'')
:
;カード版(''Java Card'')
:[[
=== Java実行環境(JRE) ===
587行目:
Javaクラスライブラリは、普遍的に呼び出される特定の機能を実装したクラスの集合体である。Javaプログラムはライブラリ内のクラスを逐次呼び出しながら処理を実行する。なお、それぞれのJavaクラスライブラリ内部からプログラマの利用に向けて外部公開されている部分を「Java API」と呼ぶ。
* 言語使用基盤ライブラリ - Java言語の基本部分を
* 入出力ライブラリ
* データコレクションライブラリ
593行目:
* 国際化地域化ライブラリ
* ネットワークライブラリ
* グラフィックユーザーインターフェースライブラリ
* Javaアプレットライブラリ
* Javaビーンズライブラリ
* リモートメソッドライブラリ
* セキュリティライブラリ
* バッファストリームライブラリ
* リフレクションライブラリ
▲* データベース接続ライブラリ
;Javaアプリケーションの形態
626 ⟶ 624行目:
;Java API
APIは、アプリケーション・プログラミング・インターフェスの頭字語であり、Javaクラスライブラリ内部からプログラマに向けて外部公開されているクラス、インターフェース、メソッド、フィールド、コンスタントバリューの総合である。またその
* java.lang
632 ⟶ 631行目:
* java.util
* java.math
*java.text
* java.net
* java.awt
639行目:
* java.security
* java.nio
*java.sql
*java.lang.reflect
;統合開発環境と開発支援ツール
664 ⟶ 666行目:
ここには、Java Community Process のもとで開発された拡張機能と関連技術のみを記述します。
=================================================================================-->
拡張テクノロジは
*[[Java Naming and Directory Interface|JNDI]] (Java Naming and Directory Interface) - ネーミングサービス・[[ディレクトリ・サービス|ディレクトリサービス]]へのアクセス
688 ⟶ 690行目:
*Java Media APIs [http://java.sun.com/products/java-media/](リンク切れ?) - java.media - マルチメディア向けAPI--><!--
*Shared Data ToolkitSound-->
*[http://community.java.net/javadesktop/ JavaDesktop]
=== Javaテクノロジの標準化 ===
{{Main|Java Community Process}}
[[Javaプラットフォーム]]を形成するJavaテクノロジの標準
*[http://www.jcp.org/en/jsr/detail?id=14 JSR 14] ''Add [[総称型|Generic Types]] To The Java Programming Language'' (J2SE 5.0)
|