大学出版部協会

 

第4版 プログラミング言語Java

第4版 プログラミング言語Java

B5変 804ページ 並製
価格:4,290円 (消費税:390円)
ISBN978-4-501-55260-2 C3004
奥付の初版発行年月:2014年05月 / 発売日:2014年05月上旬

内容紹介

原書「The Java Programming Language」は、Javaを生み出したJames GoslingとKen Arnoldにより第1版と第2版が執筆され、第3版からは執筆者としてDavid Holmesが参加。第4版ではTigerと呼ばれたJava 2 Standard Edition5.0に基づいて執筆されている。

前書きなど

序文
 プログラミング言語Javaは、世界中のソフトウェア開発者とインターネットコンテンツプロバイダーの間で暖かく迎え入れられてきました。インターネットとWWW(World Wide Web)のユーザは、安全でプラットフォームに依存しないアプリケーションをインターネット上のどこからでも利用できるのです。プログラミング言語Javaでアプリケーションを開発するソフトウェア開発者は、1度コードを開発するだけで、あらゆるソフトウェアとハードウェアプラットフォームへ、開発したアプリケーションを移植する必要がない恩恵を得ます。
 多くの人にとって、最初JavaはWWW用のアプレットを作成するための道具として知られていました。アプレット(applet)は、ウェッブページの中で動作する小さなアプリケーションです。アプレット
は、いったんダウンロードされてしまうとウェッブサーバの資源を使うことなく、ブラウザーのページ上で処理を行いユーザとやり取りできます。もちろんアプレットによっては処理を行うためにサーバと通信するものもありますが、それはアプレット次第です。
 プログラミング言語Javaは、ウェッブのような分散ネットワーク環境にとっては、大変重要です。しかし、Javaはそのような領域だけではなく、さまざまなアプリケーションを作成するための強力な汎用プログラミング言語です。Javaで作成されるアプリケーションは、ネットワークを使用しないものもあるでしょうし、アプレットとは別の目的でネットワークを使用するものもあるでしょう。ダウンロードされたコードを遠隔のホスト上で安全な方法で実行できる能力は、多くの組織にとって、重要な要件です。
 マシン独立性が重要ではないプロジェクトで、汎用プログラミング言語としてJavaを使用する開発者もいます。プログラミングの容易性や安全な特徴が、動作するコードを速やかに作り出すのを手助けしてくれます。ガーベッジコレクションと型に対する安全な参照のおかげで、ある種のプログラミングにつきものである誤りは決して発生しません。並行して複数の処理を実行しなければならなく、ネットワークを使用しグラフィカル・ユーザ・インタフェースを提供する今日のアプリケーションのために、マルチスレッドの機能が提供されています。また、例外処理メカニズムによりエラー処理を行うことが容易となります。これらの組込み機能は強力であり、一方で、Javaは手早く習熟できる分かりやすい言語です。
 プログラミング言語Javaは、できる限り実装依存を少なくして最大の移植性を考慮して設計されています。たとえば、intは、すべてのJavaの実装で、プログラムが実行されるCPUアーキテクチャに依存しない符号付32ビットで2の補数表現の整数です。Java言語とその実行環境についてできるだけあらゆる事柄を定義することにより、コンパイルされたコードはどこでも動作し、Javaの実行環境を持つ人とコードを共有することが可能です。


目次

第1章 はやめぐり
 1.1 さあはじめよう
 1.2 変数
 1.3 コード中のコメント
 1.4 名前付定数
 1.5 Unicode文字
 1.6 制御の流れ
 1.7 クラスとオブジェクト
 1.8 メソッドとパラメータ
 1.9 配列
 1.10 文字列オブジェクト
 1.11 クラスを拡張する
 1.12 インタフェース
 1.13 ジェネリック型
 1.14 例外
 1.15 アノテーション
 1.16 パッケージ
 1.17 Javaプラットフォーム
 1.18 その他の機能について
第2章 クラスとオブジェクト
 2.1 簡単なオブジェクト
 2.2 フィールド
 2.3 アクセス制御
 2.4 オブジェクトの生成
 2.5 生成と初期化
 2.6 メソッド
 2.7 this
 2.8 メソッドのオーバーロード
 2.9 staticメンバー名のインポート
 2.10 mainメソッド
 2.11 ネイティブメソッド
第3章 クラスの拡張
 3.1 拡張したクラス
 3.2 拡張したクラスのコンストラクタ
 3.3 メンバーの継承と再定義
 3.4 型の互換性と変換
 3.5 protectedが本当に意味すること
 3.6 メソッドとクラスをfinalにする
 3.7 抽象クラスと抽象メソッド
 3.8 Objectクラス
 3.9 オブジェクトの複製
 3.10 クラスの拡張:どのように、そしていつ
 3.11 拡張されるクラスの設計
 3.12 単一継承と多重継承
第4章 インタフェース
 4.1 簡単なインタフェースの例
 4.2 インタフェース宣言
 4.3 インタフェースの拡張
 4.4 インタフェースを使用する
 4.5 マーカーインタフェース
 4.6 いつインタフェースを使うか
第5章 ネストしたクラスとインタフェース
 5.1 staticをネストした型
 5.2 内部クラス
 5.3 ローカル内部クラス
 5.4 無名内部クラス
 5.5 ネストした型を継承する
 5.6 インタフェース内でのネスト
 5.7 ネストした型の実装
第6章 列挙列
 6.1 簡単なenumの例
 6.2 enum宣言
 6.3 enum定数宣言
 6.4 java.lang.Enum
 6.5 enumを使用すべきか否か
第7章 トークン、値、変数
 7.1 字句要素
 7.2 型とリテラル
 7.3 変数
 7.4 配列変数
 7.5 名前の意味
第8章 型としての基本データ型
 8.1 共通のフィールドとメソッド
 8.2 Viod
 8.3 Boolean
 8.4 Number
 8.5 Character
 8.6 ボクシング変換
第9章 演算子と式
 9.1 算術演算
 9.2 一般の演算子
 9.3 式
 9.4 型変換
 9.5 演算子の優先順位と結合規則
 9.6 メンバーアクセス
第10章 制御の流れ
 10.1 文とブロック
 10.2 if-else
 10.3 switch
 10.4 whileとdo-while
 10.5 for
 10.6 ラベル
 10.7 break
 10.8 continue
 10.9 return
 10.10 え、gotoがない?
第11章 ジェネリック型
 11.1 ジェネリック型宣言
 11.2 ジェネリック型を扱う
 11.3 ジェネリックメソッドとジェネリックコンストラクタ
 11.4 ワイルドカードキャプチャ
 11.5 詳細:イレイジャと原型
 11.6 正しいメソッドを見つける―再訪
 11.7 クラス拡張とジェネリック型
第12章 例外とアサーション
 12.1 例外型の作成
 12.2 throw
 12.3 throw節
 12.4 try、catch、finally
 12.5 例外連鎖
 12.6 スタックトレース
 12.7 いつ例外を使用するか
 12.8 アサーション
 12.9 いつアサーションを使用するか
 12.10 アサーションを有効/無効にする
第13章 文字列と正規表現
 13.1 文字シーケンス
 13.2 Stringクラス
 13.3 正規表現一致
 13.4 StringBuilderクラス
 13.5 UTF-16を扱う
第14章 スレッド
 14.1 スレッドの生成
 14.2 Runnableを使用する
 14.3 同期
 14.4 wait、notifyAll、notify
 14.5 待ちと通知の詳細
 14.6 スレッドのスケジューリング
 14.7 デッドロック
 14.8 スレッド実行を終了させる
 14.9 アプリケーション実行を終了させる
 14.10 メモリモデル:同期とvolatile
 14.11 スレッド管理、セキュリティ、ThreadGroup
 14.12 スレッドと例外
 14.13 ThreadLocal変数
 14.14 スレッドのデバッグ
第15章 アノテーション
 15.1 簡単なアノテーション例
 15.2 アノテーション型
 15.3 要素にアノテーションを付ける
 15.4 アノテーションの適用を制限する
 15.5 リテンションポリシー
 15.6 アノテーションを用いる
第16章 リフレクション
 16.1 Classクラス
 16.2 アノテーションの問い合わせ
 16.3 Modifierクラス
 16.4 メンバークラス
 16.5 アクセス権の検査とAccessibleObject
 16.6 Fieldクラス
 16.7 Methodクラス
 16.8 新たなオブジェクトの生成とConstructorクラス
 16.9 ジェネリック型のインスペクション
 16.10 配列
 16.11 パッケージ
 16.12 Proxyクラス
 16.13 クラスのロード
 16.14 実行時のアサーション制御
第17章 ガーベッジコレクションとメモリ
 17.1 ガーベッジコレクション
 17.2 簡単なモデル
 17.3 ファイナライズ
 17.4 ガーベッジコレクタとのやり取り
 17.5 到達可能性状態と参照オブジェクト
第18章 パッケージ
 18.1 パッケージの名前付け
 18.2 型のインポート
 18.3 パッケージアクセス
 18.4 パッケージの内容
 18.5 パッケージのアノテーション
 18.6 パッケージオブジェクトと仕様
第19章 ドキュメンテーションコメント
 19.1 ドキュメントコメントの解剖
 19.2 タグ
 19.3 メソッドのドキュメンテーションコメントを継承する
 19.4 簡単な例
 19.5 外部規約
 19.6 使用についての注意
第20章 I/Oパッケージ
 20.1 ストリーム概説
 20.2 バイトストリーム
 20.3 文字ストリーム
 20.4 InputStreamReaderとOutputStreamReader
 20.5 ストリームクラスはやめぐり
 20.6 データバイトストリーム
 20.7 ファイルを取り扱う
 20.8 オブジェクトのシリアライズ
 20.9 IOExceptionクラス
 20.10 新たなI/Oの一端
第21章 コレクション
 21.1 コレクション
 21.2 イテレーション
 21.3 ComparableとComparatorによる順位付け
 21.4 Collectionインタフェース
 21.5 SetとSortedSet
 21.6 List
 21.7 Queue
 21.8 MapとSortedMap
 21.9 enumコレクション
 21.10 ラップされたコレクションとCollectionクラス
 21.11 同期されたラッパーとコンカレントコレクション
 21.12 Arraysユーティリティクラス
 21.13 イテレータの実装を作成する
 21.14 コレクションの実装を作成する
 21.15 古いコレクション型
 21.16 Properties
第22章 その他のユーティリティ
 22.1 Formatter
 22.2 BitSet
 22.3 Observer/Observable
 22.4 Random
 22.5 Scanner
 22.6 StringTokenizer
 22.7 TimerとTimerTask
 22.8 UUID
 22.9 MathとStrictMath
第23章 システムプログラミング
 23.1 Systemクラス
 23.2 プロセスの生成
 23.3 シャットダウン
 23.4 Runtimeの残り
 23.5 セキュリティ
第24章 国際化とローカリゼーション
 24.1 ロケール
 24.2 リソースバンドル
 24.3 通貨
 24.4 時間、日付、カレンダー
 24.5 日付と時間の書式と解析
 24.6 テキストの国際化とローカリゼーション
第25章 標準パッケージ
 25.1 java.awt―Abstract Window Toolkit
 25.2 java.applet―アプレット
 25.3 java.beans―コンポーネント
 25.4 java.math―数学
 25.5 java.net―ネットワーク
 25.6 java.rmi―リモートメソッド呼び出し
 25.7 java.securityと関連パッケージ―セキュリティツール
 25.8 java.sql―リレーショナルデータベースアクセス
 25.9 ユーティリティサブパッケージ
 25.10 javax.*―標準拡張
 25.11 javax.accessibility―GUIのアクセシビリティ
 25.12 javax.naming―ディレクトリとネーミングサービス
 25.13 javax.sound―サウンド操作
 25.14 javax.swing―SwingGUIコンポーネント
 25.15 org.omg.CORBA―CORBA API
A アプリケーションの進化
 A.1 言語、ライブラリー、仮想マシンのバージョン
 A.2 複数の方言を扱う
 A.3 ジェネリックス:具体化、イレイジャ、原型
B 有用な表
さらなる学習
索引


一般社団法人 大学出版部協会 Phone 03-3511-2091 〒102-0073 東京都千代田区九段北1丁目14番13号 メゾン萬六403号室
このサイトにはどなたでも自由にリンクできます。掲載さ>れている文章・写真・イラストの著作権は、それぞれの著作者にあります。
当協会 スタッフによるもの、上記以外のものの著作権は一般社団法人大学出版部協会にあります 。