2016年9月11日日曜日

現場で使える最新Java SE 7/8 速攻入門の読書日記①

みなさん。 こんばんは。

デザインパターンの生成に関するパターンが一段落したので、

今回は趣向を変えて読書日記を始めたいと思います。

自分は今までjavaの書籍をインプットばかりしてきたので、アウトプットも兼ねて重要な点を紹介し

ていけたらと思ってます。
今回この書籍を選んだのは、最新のJava言語の説明がとても分かりやすく

個人的に気に入ったことと、職場ではまだJavaSE6を使っているので

最新のJava言語を習得したいという意向がありました。

今回は「現場で使える最新Java SE 7/8 速攻入門」を読んでいきます。

以下 現場で使える最新Java SE 7/8 速攻入門の章構成
(目次)
はじめに
  • Chapter 1 小さな言語仕様の変更 ――Project Coin
  • 1.1 小さな言語仕様の変更
  • 1.2 switch文での文字列の使用
  • 1.3 2進数リテラル
  • 1.4 数値リテラルの区切り文字
  • 1.5 マルチキャッチ
  • 1.6 適切な型による例外の再スロー
  • 1.7 ジェネリクス型パラメータの省略
    • 1.7.1 ダイヤモンド演算子が使用可能な箇所
    • 1.7.2 ダイヤモンド演算子が使用できない箇所
  • 1.8 リソースの自動クローズ
    • 1.8.1 複数リソースの自動クローズ
  • 1.9 安全な可変長引数メソッド
  • 1.10 まとめ

Chapter 2 新しいファイルシステムインタフェース ――NIO.2

  • 2.1 新しいファイルシステムインタフェース
  • 2.2 ファイルシステムとパス
    • 2.2.1 Pathオブジェクトの生成
    • 2.2.2 Pathの機能
    • 2.2.3 PathとFileの相互変換
  • 2.3 Pathに対する操作
    • 2.3.1 コピー
    • 2.3.2 移動/名前の変更
    • 2.3.3 削除
    • 2.3.4 ファイル/ディレクトリの作成
    • 2.3.5 リンク
    • 2.3.6 ファイルの入出力
  • 2.4 アトリビュート
    • 2.4.1 Filesクラスのアトリビュート関連メソッド
    • 2.4.2 名前を指定したアトリビュートの取得/設定
    • 2.4.3 複数のアトリビュートの取得/設定
  • 2.5 ファイルツリーの走査
    • 2.5.1 ディレクトリのコピー
  • 2.6 ディレクトリの監視
  • 2.7 まとめ

Chapter 3 ラムダ式による新しいプログラミングスタイル

  • 3.1 ラムダ式と新しいプログラミングスタイル
  • 3.2 関数型インタフェース
    • 3.2.1 関数型インタフェースとは?
    • 3.2.2 汎用の関数型インタフェース
    • 3.2.3 関数型インタフェースの作成
  • 3.3 ラムダ式
    • 3.3.1 引数の型,丸カッコの省略
    • 3.3.2 波カッコとreturn文の省略
    • 3.3.3 実質的final
    • 3.3.4 ラムダ式の注意点
  • 3.4 デフォルトメソッド
    • 3.4.1 デフォルトメソッドの使用
    • 3.4.2 デフォルトメソッドと多重継承
  • 3.5 インタフェースのstaticメソッド
  • 3.6 メソッド参照
    • 3.6.1 クラスメソッド参照
    • 3.6.2 インスタンスメソッド参照
    • 3.6.3 コンストラクタ参照
  • 3.7 ラムダ式の使い道
    • 3.7.1 高階関数
    • 3.7.2 関数合成
  • 3.8 まとめ

Chapter 4 Stream APIによる内部イテレータ

  • 4.1 内部イテレーションとStream API
  • 4.2 内部イテレータ
  • 4.3 Stream API
    • 4.3.1 ストリームの処理手順
    • 4.3.2 ストリームの種類
  • 4.4 ストリームの生成
    • 4.4.1 コレクション,配列からの生成
    • 4.4.2 I/Oからのストリーム生成
    • 4.4.3 ストリームのファクトリメソッド
    • 4.4.4 その他のストリーム生成
  • 4.5 ストリームの中間操作
    • 4.5.1 プリミティブ型に対応したストリームに固有の中間操作
  • 4.6 ストリームの終端操作
  • 4.7 nullチェックとOptionalクラス
    • 4.7.1 生成
    • 4.7.2 値の取得
    • 4.7.3 その他のメソッド
    • 4.7.4 Optionalクラスの用途
  • 4.8 Stream APIを使用した従来のコードの書き換え例
    • 4.8.1 条件に合致する要素を取り出す
    • 4.8.2 要素から他の情報を抽出
    • 4.8.3 要素から他の情報を抽出し,平坦化
    • 4.8.4 要素のグルーピング
    • 4.8.5 要素を平坦化し,集計
    • 4.8.6 顧客ごとの購買履歴の統計をとる
  • 4.9 パラレルストリーム
    • 4.9.1 パラレルストリームの取得
    • 4.9.2 処理順序に依存する記述
    • 4.9.3 パラレルストリームに特有のメソッド
    • 4.9.4 Fork/Join Framework
    • 4.9.5 パラレルストリームの動作
    • 4.9.6 パラレルストリームの注意点
  • 4.10 まとめ

Chapter 5 ISO 8601とDate and Time API

  • 5.1 新しい日時のためのAPI
  • 5.2 ISO 8601
    • 5.2.1 協定世界時?UTC
    • 5.2.2 UTCと地方時の時差
    • 5.2.3 暦
    • 5.2.4 日時表記
    • 5.2.5 日付の表記
    • 5.2.6 時刻の表記
    • 5.2.7 日付と時刻の表記
    • 5.2.8 時間長と時間間隔の表記
    • 5.2.9 JIS X 0301による拡張
  • 5.3 Date and Time API
    • 5.3.1 日時クラスの概要
    • 5.3.2 LocalDateTimeクラス
    • 5.3.3 時差とタイムゾーン
    • 5.3.4 OffsetDateTimeクラス
    • 5.3.5 ZonedDateTimeクラス
    • 5.3.6 日時クラスの変換
    • 5.3.7 Dateクラス,Calendarクラスとの変換
    • 5.3.8 日時フォーマット
    • 5.3.9 時間間隔
    • 5.3.10 暦
  • 5.4 まとめ
  • おわりに

章構成を見た感じだと新しいファイルシステムやDate Time APIなど、どんなことが変わったのか気になりますね。

次からは章ごとに読んだ感想や前のJavaバージョンとどの点が良くなったか等の視点で書いていきたいです。

人気ブログランキングへ

0 件のコメント:

コメントを投稿