Javaのクラスライブラリを紹介
はじめに
Javaが成功している要因の一つに、豊富なクラスライブラリがあるからだといわれています。
しかし、その豊富さゆえにどのようなクラスライブラリが存在しているか把握しきれていないのが実情ではないでしょうか。
本記事では、そんなクラスライブラリについて紹介していきます。
クラスライブラリとは
Java クラスライブラリ(JCL)はJavaアプリケーション実行時に呼び出すことのできる、動的ロードが可能なライブラリ群のことです。クラスライブラリはJavaプラットフォーム内で次のような役割を担っています。
・多言語の標準ライブラリと同様に、コンテナクラス群や正規表現といったユーザにとって便利な機能を提供する。
・ネットワークへのアクセスやファイルへのアクセスといったハードウェアやOSに強く依存するタスクへの抽象的なインターフェースの提供を行う。
・Javaアプリケーションが期待する機能を持っていないプラットフォームが存在していた場合、欠けている機能をクラスライブラリで補完したりする。
java.security
セキュリティフレームワークに関連するクラスとインターフェースを提供します。このjava.securityには、構成が簡潔でかつ、きめ細かなアクセス制御の可能なセキュリティアーキテクチャを実装したクラスが含まれています。
暗号化通信における公開鍵のペアの生成や格納、メッセージダイジェストや署名の生成など、様々な暗号技術に対応しています。さらには、署名付きオブジェクトやセキュリティガードのあるアブジェクト、セキュリティ保護された乱数生成についてもサポートされています。
セキュリティ要件の高いコードを作成する場合は必須になってくるクラスライブラリではないでしょうか。
java.awt
java.awtパッケージでは、ユーザインターフェースの作成及び、グラフィックスとイメージのペイントに使用されるクラス(Graphics、Image、ActiveEvent)を含んだものです。
componentクラス
コンポーネントは画面上に直接表示された、ユーザが視覚的に操作できるグラフィカルな表現を持つオブジェクトのことです。
コンポーネントとしては、グラフィカルユーザインターフェースのボタン、チェックボックス、スクロールバー等、典型的なものが存在しています。また、一部のコンポーネントについて、ユーザがコンポーネントを操作するとイベントをトリガーします。
containerクラス
コンテナオブジェクトは、ほかのjava.awtコンポーネントを含むことができるコンポーネントです。
コンテナに格納されたコンポーネントはリスト等で追跡することが可能です。リストの順番については、コンテナの先頭に格納されたものからコンテナ後方に格納されたコンポーネントへスタックされる順番を表しています。
java.rmi
RMI(Remote Method Invacation:リモートメソッド呼出し)に関連するパッケージを提供します。RMIとは、Java仮想マシン上のオブジェクトが、別のJava仮想マシン上にあるアブジェクトのメソッドを呼び出すことを可能にするためのメカニズムです。RMIを使って呼び出されるオブジェクトは必ずRemoteインターフェースを実装している必要があります。
java.sql
Java言語を使用して、データベースに格納されたデータにアクセスして処理を行うAPIを提供しています。このAPIに含まれているフレームワークを使用することで、複数のドライバをインストールして複数のデータベースにダイナミックにアクセスすることが可能となります。
javax.net
ネットワークアプリケーションのために使用されるクラスを提供します。これらのクラスには、ソケットファクトリも組み込まれており、これを用いることで、ソケットの作成及び構成動作をカプセル化することが可能です。
javax.script
このクラスは、スクリプトを定義するインターフェースとクラスで構成され、そのインターフェースとクラスをJavaアプリケーションで使用するためのフレームワークを提供します。このクラスは、スクリプト言語で記述されたプログラムを、Javaアプリケーション内で使用したいと思っているユーザを対象に作成されたクラスです。
java.io
このクラスは、直列化、データストリーム、ファイルシステムによるシステムへの入出力用に使用するための提供されています。 ほかの場所で指定がない場合、このパッケージの任意のクラスまたはインタフェースのメソッドまたはコンストラクタに null 引数を渡すと NullPointerException がスローされます。
java.lang
Java プログラム言語の設計にあたり最も基本的なクラスを提供します。提供される機能の中でも最も自重要なものに、クラス階層のルートであるObjectと、実行時のクラスを表すインスタンスであるClassがあります。
さいごに
いかがだったでしょうか。ここで紹介したもの以外にもJavaには数多くのクラスが存在しています。
すべてを的確に覚え、適材適所で使用していくのはなかなか難しいかもしれませんが、本記事が何かの参考になれば幸いです。