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

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

Javaを生み出した人物が原著を執筆。第4版ではJava 2 Standard Edition5.0に基づいて執筆。

著者 ケン・アーノルド
ジェームズ・ゴスリン
デビッド・ホームズ
柴田 芳樹
ジャンル 情報・コンピュータ
出版年月日 2014/05/01
ISBN 9784501552602
判型・ページ数 B5変・804ページ
定価 本体3,900円+税
在庫 在庫あり

この本に関するお問い合わせ・感想

原書「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 有用な表
さらなる学習
索引

ご注文

3,900円+税

カートに入れる

外部サイトで調べる

シェアする

このエントリーをはてなブックマークに追加

おすすめ書籍

お知らせ

一覧

2018.05.30 NEWS

『コンピュータとは何か?』読売新聞にて紹介!

2018.05.25 NEWS

平成30年度 東京電機大学学術振興基金「研究成果出版費援助」募集中!

2018.05.10 NEWS

『Inventorによる3D CAD入門』ロボコンマガジンに紹介

2018.05.09 イベント

『良書を誇る大学出版部特集』フェア開催

2018.05.02 NEWS

『スティーブ・ジョブズIV-楽園追放とピクサー創立-』毎日新聞に掲載!

2018.04.25 NEWS

『Inventorによる3D CAD入門』日刊工業新聞に掲載!

2018.04.13 NEWS

『学生力を高めるeポートフォリオ』 全私学新聞に掲載されました。

2018.03.28 NEWS

『学生力を高めるeポートフォリオ』 日刊工業新聞にて書籍紹介されました。

2018.03.20 NEWS

新刊情報 3月10日刊行『第一級陸上特殊無線技士試験 集中ゼミ 第3版』

2018.03.16 NEWS

新刊情報 3月15日刊行『Inventorによる3D CAD入門』

2018.03.15 NEWS

新刊情報 3月15日刊行『スティーブ・ジョブズⅣ』

2018.03.09 PR

『アマゾン・コムの野望』の著者 脇 英世氏がテレビ出演いたしました

2018.03.07 NEWS

『学生力を高めるeポートフォリオ』 ニュースリリース

2018.03.07 NEWS

新刊情報 2月20日刊行『学生力を高めるeポートフォリオ』

2018.03.07 PR

計測自動制御学会誌「計測と制御」書評掲載 『バッテリマネジメント工学』

2018.02.16 NEWS

2月23日,2月24日 試験本番! 航空無線通信士試験を突破しよう!!

2018.02.15 NEWS

新刊情報 2月20日刊行『電気法規と電気施設管理 平成30年度版』

2018.02.15 NEWS

本日2月15日より、HPをリニューアルいたしました。

2018.02.14 イベント

「築地本マルシェ」に東京電機大学出版局が出店いたします!

2018.02.02 PR

小局の書籍を,日刊工業新聞(2018年1月31日発行)に広告掲載しました。

2018.01.18 NEWS

航空無線通信士試験 定番対策本 2冊発売!

2018.01.08 PR

『社会シミュレーション』が2017年12月20日「化学工業日報」にて紹介

2017.12.17 PR

『社会シミュレーション』が、「日経エコロジー」2018年1月号にて紹介

2017.12.10 NEWS

ジュンク堂書店池袋本店:『スティーブ・ジョブズ』『スティーブ・ジョブズⅡ』紹介

2017.12.10 NEWS

情報処理技術者試験・情報処理安全確保支援士試験を突破しよう!! 厳選問題集発売!