JDK 開発者ガイド (Solaris 編)

コアライブラリ

lang パッケージと util パッケージ

java.lang および java.util の拡張についての概要は、http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/lang/enhancements.html にあるドキュメントを参照してください。

ネットワークの機能拡張

追加されたネットワーク機能の概要については、http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/net/enhancements-1.5.0.html にあるドキュメントを参照してください。

セキュリティ

この J2SE リリースでは、セキュリティ機能が大幅に強化されています。このリリースでは、セキュリティトークンのサポート向上、セキュリティ標準のサポート増加 (SASL、OCSP、TSP)、スケーラビリティ (SSLEngine) とパフォーマンスの向上などが実現されているほか、暗号や Java GSS などの領域でも数多くの機能強化がなされています。詳細については、http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/security/index.html にあるドキュメントを参照してください。

国際化

以下の機能強化がなされました。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/intl/index.html にあるドキュメントも参照してください。

環境変数のサポート向上

System.getenv(String) メソッドは非推奨扱いではなくなりました。新しい System.getenv() メソッドを使用すると、Map<String,String> としてプロセス環境にアクセスできます。http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/System.html#getenv(java.lang.String) にあるドキュメントを参照してください。

ProcessBuilder

サブプロセスの呼び出しには、Runtime.exec よりも新しい ProcessBuilder クラスが便利です。特に、ProcessBuilder を使用すると、変更されたプロセス環境 (親のプロセス環境に基づくが、一部変更されたもの) で サブプロセスの開始が容易になります。http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/ProcessBuilder.html にあるドキュメントも参照してください。

Formatter

printf 形式のフォーマット文字列のインタプリタである Formatter クラスは、レイアウトの調整と整列、数値 / 文字列 / 日時データの共通フォーマット、ロケール固有の出力などのサポートを提供します。bytejava.math.BigDecimaljava.util.Calendar などの共通の Java 型がサポートされます。 java.util.Formattable インタフェースを使用することで、任意のユーザー型のフォーマットを限定的にカスタマイズできます。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Formatter.html にあるドキュメントを参照してください。

Scanner

java.util.Scanner クラスを使用して、テキストをプリミティブまたは String に変換できます。このクラスは java.util.regex パッケージをベースとしているため、このクラスを使用してストリーム、ファイルデータ、文字列、または Readable インタフェースの実装に対して正規表現に基づく検索を行うこともできます。http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Scanner.html にあるドキュメントを参照してください。

リフレクション

汎用型、メタデータ、列挙、および簡易メソッドのサポートが追加されました。また、java.lang.Class が総称化されました。http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/reflection/enhancements.html にあるドキュメントを参照してください。

JavaBeans コンポーネントのアーキテクチャ

変更された bean 部分を特定するためにインデックスを使用するバウンドプロパティをサポートするため、PropertyChangeEvent のサブクラスとして IndexedPropertyChangeEvent が追加されました。また、インデックス化されたプロパティ変更イベントの起動をサポートするために、PropertyChangeSupport クラスにメソッドがいくつか追加されました。http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/beans/index.html にあるドキュメントを参照してください。

コレクションフレームワーク

コレクションフレームワークは、以下のように強化されました。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/collections/index.html にあるドキュメントを参照してください。

XML 処理用の Java API (JAXP)

詳細については、JSR 206、または http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/xml/jaxp/index.html にあるドキュメントを参照してください。

ビット操作処理

ラッパークラス (IntegerLongShortByte、および Char) は、highestOneBitlowestOneBitnumberOfLeadingZerosnumberOfTrailingZerosbitCountrotateLeftrotateRightreversesignumreverseBytes などの共通のビット操作処理をサポートするようになりました。

数値演算

ライブラリが提供する数値機能は、いくつかの次の方法で拡張されました。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/math/index.html に挙げられたドキュメントを参照してください。

インストゥルメンテーション

新しい java.lang.instrument パッケージには、Java プログラミングエージェントが Java 仮想マシン上で稼動しているプログラムを計測できるサービスが含まれます。このインストゥルメンテーションメカニズムは、メソッドのバイトコードを修正するものです。

直列化

バージョン 1.5.0 で追加された列挙型を処理できるようにサポートが追加されました。列挙インスタンスを直列化する規則は、直列化が可能な通常のオブジェクトを直列化する規則とは異なります。直列化された列挙インスタンスフォームには、その列挙定数名と、そのベースの列挙型を特定する情報しか含まれません。非直列化の動作も異なります。適切な列挙クラスの特定には、クラス情報が使用されます。返す列挙定数の取得には、このクラスおよび受け取った定数名によって Enum.valueOf メソッドが呼び出されます。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/serialization/index.html にあるドキュメントを参照してください。

ユーティリティの並行性サポート

java.util.concurrentjava.util.concurrent.atomic、および java.util.concurrent.locks パッケージは、同時実行されるクラスおよびアプリケーション (スレッドプール、スレッドに対して安全なコレクション、セマフォ、タスクスケジューリングフレームワーク、タスク同期ユーティリティ、自動変数、ロックなど) を開発するための、パフォーマンスとスケーラビリティに優れた、スレッドに対して安全な構築ブロックを実現する、拡張性の高い強力なフレームワークを提供します。これらのパッケージをコアクラスライブラリに追加することで、手動でこれらのユーティリティを作成する手間が省けます。これは、データ構造に対するコレクションフレームワークの効果によく似ています。また、これらのパッケージは、プロセッサによって提供される並行性のサポートを利用する高度な並行プログラミングを対象とした低レベルのプリミティブも提供します。これによりプログラマは、以前にはネイティブコードを使用せずには不可能であった、高パフォーマンスで高スケーラビリティの並行アルゴリズムを Java 言語に実装できます。

JSR 166 と、http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/concurrency/index.html にあるドキュメントを参照してください。

スレッド

java.lang.Thread クラスは、以下のように強化されました。

監視と管理

今回の J2SE リリースでは、Java プラットフォームの監視と管理の機能が大幅に強化されました。