今回もWINGSプロジェクト様( @yyamada )の書籍レビュアーに応募させていただき書評を書かせていただくことになりました。
WINGSプロジェクトの皆様、著者の山田様ありがとうございます。
今回は表題にもある以下のURLの書籍を献本していただきましたので、こちらのレビューをさせていただきます。
- 作者: WINGSプロジェクト,?江賢,山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2016/03/18
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
レビューアの私の前提としては、Javaの経験としては4年になります。普段はJavaで広告配信のシステムを開発しています。
また、現在の現場ではJava8も実戦投入済みで、追加されたラムダ式やStreamについては学んでいる最中です。
ここから書籍レビューに入らせていただきます。
1か月ちょっと現場で使ってみましたが、Java8で追加された機能も踏まえた上で、実現したい機能についてすぐに調べられるということですごく活用できました。
また、StreamやDateTimeAndAPI、定義済みの関数型インターフェース(Supplier、Consumer、Predicate、Function、Operatorなど)が一覧に載ってあることも、現場で使用した時には役に立ちました。
Java7、8で追加された箇所についてもわかりやすくなっているのもポイント高いです。
スレッド処理に関しても引けるリファレンスがたくさんあり、コードを読む際に役に立ちました。
加えて、現場では Apache CommonsやGuava、Joda-Timeを使っているのですが、Java8が投入されてからは可能であれば、標準APIで書くことをプロジェクトで行っているので、そういう意味ではこのリファレンスは活用できました。
Optionalの扱いについては、1リファレンスしかなかったのですが、もう少し記載があっても良かったかなと思います。
例えば、チームで過去にはまったパターンだと、orElseメソッドでも値がある場合でも、引数に渡した関数が評価されてしまい、その引数に渡した関数は値がない場合にはNPEが発生してしまう問題が起こりました。
上記のような場合には、orElseGetメソッドを使用して、引数に渡した関数を遅延評価するようにし、値がある場合には引数に渡した関数を評価しないといった方法があります。
上記のような事例はあまりないかもしれませんが、重たい処理を行う場合についてはorElseGetメソッドを使用する等の記載があると良かったと思います。
ちなみに用途として、orElseを使う場面は値を引数で渡した時のみで、関数は渡さないというのが一つのプラクティスな気がします。
参考記事
Optionalから値を取り出すにはorElseGet()を使う
また、少し欲を言えば、定義済みの関数型インターフェースに関しては、もう少しサンプルを記載してあるページがあれば嬉しかったです。
(リファレンス上、難しいのかもしれませんが。。)
Columnに関しては、初心者に関しても優しいもの(「文字列の等価演算子」など)も扱っている中で、「並列と並行の違い」も取り扱っていて、最近の話題となるトピックも押さえているなという印象でした。
また、並列と並行の違いに関しては、今年のDevsumiでセッションがあり、関心度が高いテーマとも言えます。
【19-C-7】Webエンジニアのための並行/非同期プログラミングの実際とこれから
codezine.jp
以上、レビューとさせていただきます。
最後に目次も紹介させていただきます。
以下のページから引用させていただきました。
[改訂新版]Javaポケットリファレンス - WINGS
Chapter1 Javaを始めるために
Javaとは
Javaの概況
Javaの構造
バージョン履歴
プログラミングの準備
開発環境
統合開発環境Eclipseのインストール方法
最初のJavaプログラミング
Eclipseの使い方
プログラムの作成・実行手順
コンパイルと実行
Javaアプリケーションの基本
ソースファイルの構成要素
主要な公式ドキュメント
Chapter2 基本文法
データ型と変数
データ型の種類
リテラル
エスケープシーケンス
変数
変数のスコープ
演算子
演算子
インクリメント/デクリメント演算子
算術演算子
代入演算子
複合代入演算子
ビット演算子
関係演算子
論理演算子
条件演算子
基本構文
コメントを記述する
パッケージを宣言する
パッケージをインポートする
型を変換(キャスト)する
変数を宣言する
定数を宣言する
配列を宣言する
列挙型(enum)を宣言する
処理を分岐する
COLUMN ブロック
複数の条件で処理を分岐する
処理を繰り返す
処理を繰り返す(ループ後に条件判定)
決まった回数の処理を繰り返す
決まった回数の処理を繰り返す(拡張for文)
ループを脱出する/先頭に戻る
クラス
クラスを定義する
メソッドを定義する
インスタンスを生成する
クラスのメンバにアクセスする
コンストラクタを定義する
COLUMN this
初期化子を定義する
静的メンバを定義/利用する
クラスを継承する
スーパークラスのコンストラクタを実行する
オーバーライドを定義/禁止する
可変長引数を定義する
アクセス制御する
抽象メソッド/クラスを定義する
インターフェイスを定義する
インターフェイスで静的メソッド/デフォルトメソッドを定義する[8]
COLUMN インターフェイスのmainメソッド
内部クラスを定義する
無名クラスを定義する
例外処理
例外処理を定義する
複数の例外をまとめてキャッチする[7]
try-with-resources構文でリソースを確実に閉じる[7]
例外処理を呼び出し側に任せる
例外を任意に発生させる
アノテーション
標準アノテーションを利用する
独自のアノテーションを利用する
ジェネリックス
ジェネリックスでクラスを定義する
変数型を制限する
変数型にワイルドカードを利用する
ジェネリックスでメソッドを定義する
ダイヤモンド演算子を使ってインスタンスを生成する[7]
ラムダ式
ラムダ式を記述する[8]
関数型インターフェイスを定義する[8]
メソッド参照を利用する[8]
コマンドラインツール
Javaプログラムをコンパイルする
Javaプログラムを実行する
JARファイルを作成/管理する
APIドキュメントを作成する
Chapter3 基本API
概要
文字列操作
文字列クラスを生成する ― Java.lang.String
COLUMN 文字列の等価演算子
文字列に含まれる文字を検索する ― Java.lang.String
文字列の長さを取得する ― Java.lang.String
文字列に含まれる文字コードを取得する ― Java.lang.String
文字列のインデックスを取得する ― Java.lang.String
文字列の連結を行う ― Java.lang.String
区切り文字を指定して文字列の連結を行う[8] ― Java.lang.String
文字列の置換を行う ― Java.lang.String
文字列を分割する ― Java.lang.String
文字列の空白除去を行う ― Java.lang.String
COLUMN 全角スペースのトリム
文字列が指定された接尾辞/接頭辞を持つか調べる ― Java.lang.String
文字列の大文字/小文字を変換する ― Java.lang.String
文字列を比較する ― Java.lang.String
文字列の一部分を取得する ― Java.lang.String
可変長文字列(文字列バッファ)を生成する ― Java.lang.StringBuilder、StringBuffer
文字列バッファに文字を設定する ― Java.lang.StringBuilder、StringBuffer
COLUMN StringJoinerクラス
文字列バッファを検索する ― Java.lang.StringBuilder、StringBuffer
文字列バッファの長さを取得/設定する ― Java.lang.StringBuilder、StringBuffer
文字列バッファに含まれる文字コードを取得する ― Java.lang.StringBuilder、StringBuffer
文字列バッファのインデックスを取得する ― Java.lang.StringBuilder、StringBuffer
値を文字列に変換する ― Java.lang.String
文字列バッファに追加する ― Java.lang.StringBuilder、StringBuffer
文字列バッファを削除する ― Java.lang.StringBuilder、StringBuffer
文字列バッファに挿入する ― Java.lang.StringBuilder、StringBuffer
文字列バッファを置換する ― Java.lang.StringBuilder、StringBuffer
文字列バッファを逆順にする ― Java.lang.StringBuilder、StringBuffer
COLUMN 文字列クラスのインスタンス
文字列バッファの容量を操作する ― Java.lang.StringBuilder、StringBuffer
文字列バッファを配列にコピーする ― Java.lang.StringBuilder、StringBuffer
文字列バッファの一部を取得する ― Java.lang.StringBuilder、StringBuffer
数値演算
絶対値を求める ― Java.lang.Math
どちらか大きい/小さい値を取得する ― Java.lang.Math
数値の切り上げ/切り捨て/四捨五入を行う ― Java.lang.Math
平方根/立方根を求める ― Java.lang.Math
指数関数を処理する ― Java.lang.Math
対数を求める ― Java.lang.Math
角度を変換する ― Java.lang.Math
三角関数を求める ― Java.lang.Math
符号要素を求める ― Java.lang.Math
ラッパークラス
文字列から数値型のオブジェクトを生成する ― Java.lang.Boolean、Byte、Double、Float、Integer、Long、Short
文字列から数値型のオブジェクトを生成する(基数指定) ― Java.lang.Boolean、Byte、Double、Float、Integer、Long、Short
指定されたデータ型のオブジェクトを生成する ― Java.lang.Boolean、Byte、Double、Float、Integer、Long、Short
指定された文字列から各データ型の値を取得する ― Java.lang.Byte、Double、Float、Integer、Long、Short
文字の種類を変換する ― Java.lang.Character
指定した基数で数値/文字を解析する ― Java.lang.Character
Optionalクラスで安全にnullを扱う[8] ― Java.util.Optional
オブジェクト操作
オブジェクトのクローンを生成する ― Java.lang.Object
オブジェクトを比較する ― Java.lang.Object
オブジェクトを文字列として取得する ― Java.lang.Object
クラス名からクラスのインスタンスを取得する ― Java.lang.Class
関連クラスを取得する ― Java.lang.Class
クラスに関連する情報を取得する ― Java.lang.Class
どのようなオブジェクトか調べる ― Java.lang.Class
例外処理
例外を定義する ― Java.lang.Exception
例外メッセージ文字列を取得する ― Java.lang.Throwable
スタックトレース情報を取得する ― Java.lang.Throwable
例外となった原因を取得する ― Java.lang.Throwable
スタックトレース情報を分割する ― Java.lang.Throwable
スタックトレースの要素を取得する ― Java.lang.StackTraceElement
スレッド処理
スレッドの実行内容を定義する ― Java.lang.Thread
スレッドを待機させる ― Java.lang.Object
スレッドをスリープさせる ― Java.lang.Thread
スレッドを再開させる/スレッドの終了を待機する ― Java.lang.Object、 ― Java.lang.Thread
スレッドを一時停止させる/スレッド処理に割り込む ― Java.lang.Thread
スレッドを開始する ― Java.lang.Thread
COLUMN 平行と並列の違い
スレッド名/スレッドの優先順位を取得/設定する ― Java.lang.Thread
スレッドのスタックトレースを取得する ― Java.lang.Thread
スレッドの状態を列挙型で取得する ― Java.lang.Thread
スレッドの状態を調べる ― Java.lang.Thread
アクティブなスレッドやその数を取得する ― Java.lang.Thread
スレッド処理(Concurrency Utilities)
スレッドの結果を返す ― Java.util.concurrent.Callableインターフェイス
スレッドの結果を取得する ― Java.util.concurrent.Futureインターフェイス
スレッドをロックする ― Java.util.concurrent.locks.ReentrantLock
スレッドプールを生成する ― Java.util.concurrent.Executors
スレッドを使いまわすava.util.concurrent.ExecutorService
スケジュール可能なスレッドを生成する ― Java.util.concurrent.Executors
一定周期のタスクを実行する ― Java.util.concurrent.ScheduledExecutorService
一定間隔のタスクを実行する ― Java.util.concurrent.ScheduledExecutorService
スレッドからアトミックに変数を操作する ― Java.util.concurrent.atomic.AtomicInteger
日付
エポックからの時間を設定/取得する ― Java.util.Date
日付データを文字列として取得する ― Java.util.Date
日付データを比較する ― Java.util.Date
Calendarオブジェクトを取得する ― Java.util.Calendar
GregorianCalendarを使用する ― Java.util.GregorianCalendar
日付データを取得/設定する ― Java.util.Calendar
日付データをクリアする ― Java.util.Calendar
日付データを操作する ― Java.util.Calendar
現在時刻を設定/取得する ― Java.util.Calendar
Calendarオブジェクトの設定を取得する ― Java.util.Calendar
Calendarオブジェクトの最大/最小値設定を取得する ― Java.util.GregorianCalendar
日付データを比較する ― Java.util.Calendar、 ― Java.util.GregorianCalendar
日付(Date and Time API)
現在日時を取得する[8] ― Java.time.LocalDateTime、Java.time.OffsetDateTime、Java.time.ZonedDateTime
特定の日時を設定する[8] ― Java.time.LocalDateTime、Java.time.OffsetDateTime、Java.time.ZonedDateTime
日時の各要素を取得する[8] ― Java.time.LocalDateTime、Java.time.OffsetDateTime、Java.time.ZonedDateTime
日時データをフォーマットするオブジェクトを取得する[8]Java.time.format.DateTimeFormatter
日時データをフォーマットする[8] ― Java.time.LocalDateTime、Java.time.OffsetDateTime、Java.time.ZonedDateTime
文字列から新しい日時オブジェクトを生成する[8] ― Java.time.LocalDateTime、Java.time.OffsetDateTime、Java.time.ZonedDateTime
日時データを演算する[8] ― Java.time.LocalDateTime、 ― Java.time.OffsetDateTime、Java.time.ZonedDateTime
日時データを比較する[8] ― Java.time.LocalDateTime、 ― Java.time.OffsetDateTime、Java.time.ZonedDateTime
Dateオブジェクトを新しい日時オブジェクトに変換する[8] ― Java.time.LocalDateTime、Java.time.OffsetDateTime、Java.time.ZonedDateTime
新しい日時オブジェクトをDateオブジェクトに変換する[8] ― Java.time.LocalDateTime、Java.time.OffsetDateTime、Java.time.ZonedDateTime
ロギング
ロガーを作成する ― Java.util.logging.Logger
ログを簡易メソッドで出力する ― Java.util.logging.Logger
ログのハンドラを登録/削除/取得する ― Java.util.logging.Logger
ログを出力する ― Java.util.logging.Logger
COLUMN 期間を表すクラス
Chapter4 コレクション
概要
Collection
コレクションに要素を追加する ― Java.util.Collectionインターフェイス
コレクションの要素を削除する ― Java.util.Collectionインターフェイス
コレクションの要素を選別する ― Java.util.Collectionインターフェイス
コレクションの要素の状態を調べる ― Java.util.Collectionインターフェイス
コレクションと等しいか判定する ― Java.util.Collectionインターフェイス
要素の数を取得する ― Java.util.Collectionインターフェイス
イテレータを取得する ― Java.util.Collectionインターフェイス
コレクションの要素を配列として取得する ― Java.util.Collectionインターフェイス
List
リストに追加する ― Java.util.Listインターフェイス
リストの要素を削除する ― Java.util.Listインターフェイス
リストの要素を設定する ― Java.util.Listインターフェイス
リストの要素/部分ビューを取得する ― Java.util.Listインターフェイス
要素を検索する ― Java.util.Listインターフェイス
双方向イテレータを取得する ― Java.util.Listインターフェイス
Set
セットの要素を追加する ― Java.util.Setインターフェイス
ソートセットの一部をビューとして取得する ― Java.util.SortedSetインターフェイス
ソートセットの最初/最後の要素を取得する ― Java.util.SortedSetインターフェイス
ソートセットに関連したコンパレータを取得する ― Java.util.SortedSetインターフェイス
Map
マップの要素を設定/追加/削除する ― Java.util.Mapインターフェイス
マップの要素を取得する ― Java.util.Mapインターフェイス
マップからすべてのキー/値/マップエントリを取得する ― Java.util.Mapインターフェイス
マップの要素の状態を調べる ― Java.util.Mapインターフェイス
マップの最初/最後のキーを取得する ― Java.util.SortedMapインターフェイス
マップの部分ビューを取得する ― Java.util.SortedMapインターフェイス
マップエントリのキーまたは値を取得/設定する ― Java.util.Map.Entryインターフェイス
Queue
キューに要素を追加する ― Java.util.Queueインターフェイス
キューの要素を取得して削除する ― Java.util.Queueインターフェイス
キューの要素を参照する ― Java.util.QueueインターフェイスDeque
両端キューに要素を追加する ― Java.util.Dequeインターフェイス
両端キューの要素を取得して削除する ― Java.util.Dequeインターフェイス
両端キューの要素を参照する ― Java.util.Dequeインターフェイス
両端キューをスタックとして使用する ― Java.util.Dequeインターフェイス
指定した要素のうち最初/最後に出現したものを削除する ― Java.util.Dequeインターフェイス
イテレータ
コレクションの要素を判定する ― Java.util.Iteratorインターフェイス
コレクションの要素をイテレータから取得する ― Java.util.Iteratorインターフェイス
イテレータから要素を削除する ― Java.util.Iteratorインターフェイス
コレクションの要素のインデックスを取得する ― Java.util.ListIteratorインターフェイス
前の要素を判定する ― Java.util.ListIteratorインターフェイス
前の要素を取得する ― Java.util.ListIteratorインターフェイス
イテレータから要素を追加/設定する ― Java.util.ListIteratorインターフェイス
コレクション操作
コレクションを同期化する ― Java.util.Collections
変更不可能なコレクションを作成する ― Java.util.Collections
配列操作
配列からリストのビューを作成する ― Java.util.Arrays
配列をバイナリサーチで検索する ― Java.util.Arrays
配列をソートする ― Java.util.Arrays
配列をコピーする ― Java.util.Arrays
範囲を指定して配列をコピーする ― Java.util.Arrays
Stream
コレクションからStreamを生成する[8]Collectionインターフェイス
配列からStreamを生成する[8] ― Java.util.Arrays
要素を指定してStreamを生成する[8] ― Java.util.stream.Stream
Streamを結合する[8] ― Java.util.stream.Stream
無限の長さのStreamを生成する[8] ― Java.util.stream.Stream
Streamの要素をフィルタリングする[8] ― Java.util.stream.Stream
Streamの要素をソートする[8] ― Java.util.stream.Stream
Streamの要素を変換する[8] ― Java.util.stream.Stream
Streamの要素を繰り返して処理する[8] ― Java.util.stream.Stream
Streamの要素数を取得する[8] ― Java.util.stream.Stream
Streamの要素の最大・最小・合計・平均を取得する[8] ― Java.util.stream.Stream
Streamの要素が条件に合致するかを判定する[8] ― Java.util.stream.Stream
Streamをコレクションオブジェクトに変換する[8] ― Java.util.stream.Stream
Chapter5 入出力(I/O)
概要
ファイルシステム
ファイルやディレクトリを取得する ― Java.io.File
ファイルやディレクトリの属性を取得する ― Java.io.File
ファイルやディレクトリのURIを取得する ― Java.io.File
ファイルやディレクトリを変更する ― Java.io.File
ファイルを生成する ― Java.io.File
COLUMN ラムダ式で外部の変数を使う
ファイルやディレクトリを削除する ― Java.io.File
ディレクトリを生成する ― Java.io.File
ファイル名のフィルタを設定する ― Java.io.FilenameFilter
ファイルのフィルタを設定する ― Java.io.FileFilter
ファイルのリストを取得する ― Java.io.File
ディスク領域を取得する ― Java.io.File
ファイルのアクセス権を設定する ― Java.io.File
テキストファイル入出力
テキストファイルの入力ストリームを生成する ― Java.io.FileReader
テキストファイルの出力ストリームを生成する ― Java.io.FileWriter
文字データ(単一/配列)を読み取る ― Java.io.FileReader
文字データ(単一/配列)を書き込む ― Java.io.FileWriter
1行単位でデータを読み取る ― Java.io.BufferedReader
1行単位でデータを書き込む ― Java.io.BufferedWriter
文字列の入力ストリームを生成する ― Java.io.StringReader
文字列の出力ストリームを生成する ― Java.io.StringWriter
各データ型の値を文字ストリームに出力する ― Java.io.PrintWriter
書式付きで文字ストリームに出力する ― Java.io.PrintWriter
テキスト入力の行番号を取得する ― Java.io.LineNumberReader
テキスト入力の行番号を設定する ― Java.io.LineNumberReader
バイトストリームから文字ストリームに変換する ― Java.io.InputStreamReader
文字ストリームをバイトストリームに書き込む ― Java.io.OutputStreamWrite
バイナリファイル入出力
バイナリファイルの入力ストリームを生成する ― Java.io.FileInputStream
バイナリファイルの出力ストリームを生成する ― Java.io.FileOutputStream
データを読み取る ― Java.io.InputStream
データを書き込む ― Java.io.OutputStream
バイトストリームを操作する ― Java.io.InputStream
指定したデータを書き込む ― Java.io.DataOutputStream
指定したデータを読み取る ― Java.io.DataInputStream
各データ型の値をバイトストリームに出力する ― Java.io.PrintStream
バイト配列/文字配列の入出力
バイト配列の入力ストリームを生成する ― Java.io.ByteArrayIntputStream
バイト配列の出力ストリームを生成する ― Java.io.ByteArrayOutputStream
文字配列の入力ストリームを生成する ― Java.io.CharArrayReader
文字配列の出力ストリームを生成する ― Java.io.CharArrayWriter
新しいファイルシステム(New I/O 2)
デフォルトのファイルシステムを取得する[7] ― Java.nio.file.FileSystems
Pathオブジェクトを生成する[7] ― Java.nio.file.FileSystems
Pathオブジェクトからファイルを生成する[7] ― Java.nio.file.Files
ディレクトリを生成する[7] ― Java.nio.file.Files
ファイルやディレクトリを削除する[7] ― Java.nio.file.Files
一時ディレクトリ/ファイルを作成する[7] ― Java.nio.file.Files
COLUMN ― Java.nio.?le.Filesクラスのその他のメソッド
ファイルのリストを取得する[8] ― Java.nio.file.Files
ファイルをコピー/移動する[7] ― Java.nio.file.Files
ファイルを一度に読み込む[7] ― Java.nio.file.Files
テキストファイルを一行ずつ読み込む[8] ― Java.nio.file.Files
ファイルにテキスト/バイナリを書き込む[7] ― Java.nio.file.Files
さまざまな入出力
パイプを使った入力ストリームを作成する(バイトデータ) ― Java.io.PipedInputStream
パイプを使った出力ストリームを作成する(バイトデータ) ― Java.io.PipedOutputStream
パイプを使った入力ストリームを作成する(文字データ) ― Java.io.PipedReader
パイプを使った出力ストリームを作成する(文字データ) ― Java.io.PipedWriter
ファイルの読み書きを任意の位置で行う ― Java.io.RandomAccessFile
ファイルの読み書きを始める位置を取得/設定する ― Java.io.RandomAccessFile
ファイルのサイズを操作する ― Java.io.RandomAccessFile
コンソールクラスを用いてエコーなしで入力する ― Java.io.Console
オブジェクトを読み取る ― Java.io.ObjectInputStream
オブジェクトを書き込む ― Java.io.ObjectOutputStream
チャネル用バッファ操作
バッファの位置を操作する ― Java.nio.Buffer
バッファから読み取る ― Java.nio.CharBuffer
バッファに書き込む ― Java.nio.CharBuffer
さまざまなバッファを生成する ― Java.nio.CharBuffer
バッファの情報を取得する ― Java.nio.CharBufferr
ファイルのチャネルの読み書きをする ― Java.nio.channels.FileChannel
ファイルのチャネルを操作する ― Java.nio.channels.FileChannel
COLUMN ファイルの変更を監視する
Chapter6 ネットワーク
概要
IPアドレス
生のIPアドレスを取得する ― Java.net.InetAddress
ホスト名/ドメイン名を取得する ― Java.net.InetAddress
ホスト名からIPアドレスに変換する ― Java.net.InetAddress
ローカルホストを取得する ― Java.net.InetAddress
指定のアドレスに到達可能かテストする ― Java.net.InetAddress
ネットワークインターフェイスを取得する ― Java.net.NetworkInterface
ネットワーク・パラメータを取得する ― Java.net.NetworkInterface
インターフェイスの状態を取得する ― Java.net.NetworkInterface
URL
URL接続オブジェクトを取得する ― Java.net.URL
URL接続からリンクを確立する ― Java.net.URLConnection
タイムアウトを設定/取得する ― Java.net.URLConnection
接続先の情報を取得する ― Java.net.URLConnection
URLの情報を取得する ― Java.net.URL
URL接続の入出力ストリームを取得する ― Java.net.URLConnection
URL接続の入力ストリームを取得する ― Java.net.URL
URIからURLに変換する ― Java.net.URI
URLからURIに変換する ― Java.net.URL
ソケット通信
サーバ側のTCP/IPソケットを操作する ― Java.net.ServerSocket
クライアント側のTCP/IPソケットを操作する ― Java.net.Socket
UDPソケットを操作する ― Java.net.DatagramSocket
サーバ側のソケットのチャネルを操作する ― Java.net.ServerSocketChannel
ソケットのチャネルを操作する ― Java.net.SocketChannel
ノンブロッキングのサーバソケットを操作する[7] ― Java.nio.channels.AsynchronousServerSocketChannel
ノンブロッキングのソケットチャネルを操作する[7] ― Java.nio.channels.AsynchronousServerSocketChannel
Chapter7 データベース
概要
データベース接続
JDBCドライバをロードする ― Java.lang.Class
データベースに接続する ― Java.sql.DriverManager
接続のタイムアウトを取得/設定する ― Java.sql.DriverManager
データベースから切断する ― Java.sql.Connection
SQL文を実行するオブジェクトを生成する ― Java.sql.Connection
COLUMN MariaDBのJDBCドライバ
パラメータ付きSQL文を実行するオブジェクトを生成する ― Java.sql.Connection
ストアドプロシージャを実行するオブジェクトを生成する ― Java.sql.Connection
トランザクション処理
トランザクションをコミット/ロールバックする ― Java.sql.Connection
自動的にコミットするように設定する/設定されているか調べる ― Java.sql.Connection
トランザクションのレベルを取得/設定する ― Java.sql.Connection
SQL文の発行
結果セットを返すSQL文を発行する ― Java.sql.Statement
複数の結果セットを返すSQL文を発行する ― Java.sql.Statement
結果を返さないSQL文を発行する ― Java.sql.Statement
複数の処理をまとめて実行する ― Java.sql.Statement
結果セットに関する情報を取得/設定する ― Java.sql.Statement
パラメータに値を設定する ― Java.sql.PreparedStatement
パラメータにNULLを設定する ― Java.sql.PreparedStatement
パラメータに日付や時刻を設定する ― Java.sql.PreparedStatement
クエリの結果処理
指定した列のデータを取得する ― Java.sql.ResultSet
指定した列の日付時刻を取得する ― Java.sql.ResultSet
レコードを更新する ― Java.sql.ResultSet
NULLデータで更新する ― Java.sql.ResultSet
カーソルを移動させる ― Java.sql.ResultSet
レコードを挿入する ― Java.sql.ResultSet
レコードを削除する ― Java.sql.ResultSet
カーソルの性質を調査する ― Java.sql.ResultSet
COLUMN ― Java SE 8でコレクションに追加されたメソッド
Chapter8 ユーティリティ
概要
プロパティ
プロパティファイルを利用する ― Java.util.Properties
XML形式のプロパティファイルを利用する ― Java.util.Properties
システムプロパティを取得する ― Java.lang.System
乱数
擬似乱数を生成する ― Java.util.Random
擬似乱数のシードを設定する ― Java.util.Random
ロケール
ロケールの情報を取得する ― Java.util.Locale
ファイルからリソースバンドルを取得する ― Java.util.ResourceBundle
クラスからリソースを取得する ― Java.util.ListResourceBundle
和暦ロケールを利用する ― Java.util.Locale
圧縮/解凍
データを圧縮する ― Java.util.zip.Deflater
COLUMN 乱数
データを解凍する ― Java.util.zip.Inflater
ZIP形式で圧縮されたファイルを解凍する. ― Java.util.zip.ZipInputStream
ZIP形式でファイルを圧縮する ― Java.util.zip.ZipOutputStream
テキストのフォーマッティング
日付/時刻をフォーマットするオブジェクトを取得する ― Java.text.DateFormat
日付/時刻をフォーマットする ― Java.text.DateFormat
文字列から日付/時刻を生成する ― Java.text.DateFormat
日付/時刻のフォーマットに関する情報を設定/取得する ― Java.text.DateFormat
日付/時刻のフォーマットに必要なパターンを設定/取得する ― Java.text.SimpleDateFormat
数値/通貨をフォーマットするオブジェクトを取得する ― Java.text.NumberFormat
数値をフォーマットする ― Java.text.NumberFormat
文字列から数値を生成する ― Java.text.NumberFormat
数値/通貨のフォーマットに関する情報を設定/取得する ― Java.text.NumberFormat
数値の桁に関する情報を取得/設定する ― Java.text.NumberFormat
数値のフォーマットに必要なパターンを設定/取得する ― Java.text.DecimalFormat
数値の丸め処理に関する情報を取得/設定する ― Java.text.DecimalFormat
メッセージをフォーマットするために必要なパターンを設定/取得する ― Java.text.MessageFormat
メッセージをフォーマットする ― Java.text.MessageFormat
文字列からオブジェクトの配列を生成する ― Java.text.MessageFormat
文字列解析のエラー位置を取得する ― Java.text.ParsePosition
正規表現
正規表現のパターンを作成する ― Java.util.regex.Pattern
マッチ処理を行う ― Java.util.regex.Matcher
マッチした文字シーケンスの処理を行う ― Java.util.regex.Matcher
外部プロセスの制御
外部コマンドを実行する ― Java.lang.Runtime
新規プロセスを起動する ― Java.lang.ProcessBuilder
Compiler API
Java Compilerインスタンスを取得する ― Javax.tools.ToolProvider
コンパイルする ― Javax.tools.ToolProvider
スクリプティング
対応するスクリプトエンジンを調べる ― Javax.script.ScriptEngineManager
スクリプトを実行する ― Javax.script.ScriptEngine
COLUMN Date and Time APIでの和暦サポート