コマンド

Javaには次のコマンドやツールが用意されている。

Ant
Javaベースのビルドツール
Cobertura
コードカバレッジ測定ツール
jar
ファイルをアーカイブしてJARファイルを作成する。またはJARアーカイブを展開する。
java
Javaプログラムを実行する。
javac
Javaのソースプログラムをコンパイルする。
JavaCC
Java向けの字句解析器/構文解析器生成プログラム
javadoc
JavaのソースファイルからHTML形式のリファレンスを作成する。
JMeter
クライアント・サーバシステムの性能測定や負荷テストを行う。
keytool
鍵と証明書の管理ツール
Maven
ソフトウェア開発環境を管理・統合するプロジェクト管理ツール
native2ascii
ネイティブコードからUnicodeエスケープシーケンス形式に変換する。
orbd
CORBAのORB(Object Request Broker)デーモン

修飾子

abstract
クラス等を抽象化させる修飾子
static
クラス等を静的化させる修飾子
public, protected, private
スコープを指定する修飾子
final
継承を禁じる修飾子

ステートメント(命令文)

Javaのステートメント(命令文)には次のものがある。

assert
アサーション(java.lang.AssertionErrorを発生させる)
break
反復処理を中断する
continue
反復処理の次の処理へ移る
enum
列挙型
for
反復処理
if
条件分岐
import
パッケージやクラスのインポート

Java SE API

Java Platform, Standard Edition (Java SE)とはJavaの標準的な機能セットであり、サーバサイド又はクライアントサイドを問わず、多くのJavaプラットフォームで役立つ機能をまとめたものである。Java仮想マシンとAPI等から構成される。

java.io
データストリームやシリアライゼーション、ファイルシステムを通じたシステム入出力を提供するパッケージ
java.lang
Javaの基本的なクラスを提供するパッケージ
java.math
任意精度の整数演算(BigInteger) および任意精度の小数演算(BigDecimal) を行うクラスを提供するパッケージ
java.net
ネットワークアプリケーションを実装するためのクラスを提供するパッケージ
java.nio
NIO APIで使用するバッファ・クラスを定義するパッケージ
java.text
テキスト、日付、数値、およびメッセージを自然言語に依存しない方法で処理するためのパッケージ
java.util
さまざまなユーティリティークラスを提供するパッケージ
java.xml.namespace
XML名前空間を扱うクラスを提供するパッケージ

Java EE API

EJB (Enterprise Java Bean)
トランザクション処理を意識したRMIオブジェクト
Java Servlet
Webシステムにおいてサーバー・サイドで動くJavaプログラム
JAX-RS (Java API for RESTful Web Services)
RESTに基づいたウェブサービス
JAX-WS (Java API for XML Web Services)
Webサービスを作成する
JAXB (Java Architecture for XML Binding)
JavaオブジェクトとXMLを相互に変換する
JMS (Java Message Service)
メッセージ指向ミドルウェア (Message Oriented Middleware: MOM) に準拠したメッセ−ジング・システムにアクセスするための標準インタフェース
JNDI (Java Naming and Directory Interface)
ネーミング・サービスおよびディレクトリー・サービスを扱うためのインタフェース
JPA (Java Persistence API)
リレーショナルデータベースのO/Rマッピングを行うためのフレームワーク
JSP (JavaServer Pages)
HTMLにJavaコードを埋め込むだけで簡単にサーブレットを作成できる技術

ライブラリ

Apache Commons
Apacheソフトウェア財団が開発しているオープンソースのJavaライブラリ
Super CSV Annotation
JavaのCSVファイルのライブラリ「Super CSV」にアノテーション機能を追加したライブラリ

フレームワーク

Javaにおけるフレームワークの一覧を次に示す。

Apache Axis2
Webフレームワーク
Apache Camel
Javaのルーティングエンジン
Apache CXF
Webサービスフレームワーク
Apache Karaf
OSGiコンテナ
Apache MINA
ネットワークアプリケーションフレームワーク
Apache Struts
Webアプリケーションフレームワーク
Guice
DI (Dependency Injection)フレームワーク
JavaMail
メールやメッセージングアプリケーションをプラットフォームやプロトコルに依存せずに構築するためのフレームワーク
jBatch
バッチ処理用のJavaフレームワーク
Jersey
JavaでRESTfulなWebサービスを開発するためのフレームワーク
JMockit
単体テスト(ユニットテスト)モックのフレームワーク
JSF (JavaServer Faces)
Webアプリケーション構築のためのUI(User Interface)フレームワーク
JUnit
ユニットテスト(単体テスト)の自動化を行うためのフレームワーク
log4j
Apache Commons Loggingインタフェースに基づくロギングフレームワーク
OSGi
Javaのモジュール組み立てを可能にするプラットフォーム
Seasar
Webアプリケーションフレームワーク
Spring
アプリケーションフレームワーク
Apache Velocity

デザインパターン

Facade
サブシステムを利用するユーザーの用途に合わせたインタフェースを提供する。
Singleton
クラスから生成できるインスタンスの数を1つに制限する。