Javaの基礎を復習しようということでO'rerillyの
『Java The Good Parts』を購入。
Javaの言語の特性・利点を簡潔にまとめた書籍。
以下、要約。
- 型システム
3つの型
クラス
すべてのクラスはオブジェクトを継承
レイアウトの定義
フィールド
メソッド
継承
単一継承
オーバーライド
オブジェクト
クラスのインスタンス
インターフェース
複数実装可能
インスタンス化不可能
厳密な型チェック
抽象クラス
インスタンス化不可能
抽象メソッド
実メソッド
- 例外
Exception
Throwableを継承
分離
メインロジック
エラーロジック
誤用に注意
冗長な例外
既存のRuntimeException
RuntimeExceptionの継承
空のcatch
- パッケージ
名前空間
規約
法人
組織のドメイン
個人
ドメイン
メールアドレス
アクセス制御
private
自クラスのみ
デフォルト
パッケージ内
protected
継承範囲
public
すべて
自動GC
Javaはリファレンスのみ
リファレンスがなくなったらGC対象
自動管理外
ファイル
ソケット
Javacコンパイル
バイトコード
JIT
Just In Time Compiler
最適化
対応言語
Python
Scala
Ruby
PHP
等々
セキュリティ
コードをロード前にチェック
ベリファイア
ポータビリティ
Wite Once, Run AnyWhere
マルチOS
- Java Doc
ドキュメンテーションコメント
/** */
位置
クラスの前
メソッドの前
フィールドの前
パッケージ
Package.html
packageinfo.java
アノテーションが利用できることなどから後者の利用が推奨される
オンラインドキュメント
HTML
- コレクション
Java.util
ジェネリックス
JDK1.5-
各種コレクション
List
要素の重複可能
ArrayList
Set
重複は認めない
HashSet
順序を保証しない
TreeSet
順序をサポート
EnumSet
列挙型のSet
Map
ランダムアクセス
HashMap
SerialversionUID
バージョン判別
transient
シリアライズ対象外
Remote Method Invocation
Remote IF
Serializable IF
−>マーカーインターフェース
- 並行処理
CPUのマルチコア化
CPUは単体の性能よりもマルチコア化による進化の傾向にある。
CPUの性能を活かす意味で、マルチスレッド対応は重要となる。
Thread
実行スレッド
Runnable
スレッドとして実行可能であることを表すインターフェース
ライブロック
路上で同時に避けようとしていつまでもよけれないようなイメージ
デッドロックに比べて問題の発見が困難
デッドロック
ユーザーAがa,bの順にロック。
ユーザーBがb,aの順にロック。
このような際に、相互にロックの解除待ちになる現象
- 開発者のエコロジー
Javaの利点の一つでもある言語利用者の人口の多さがもたらす利点。
ツール類が非常に充実しているため、自分で位置から用意する必要がない。
また、技術情報も非常に多い。
TOOL
IDE
Eclipse
定番。私も業務ではEclipse一本です。
NetBeans
使ったことないですね。
JUnit
自動テスト
FindBugs
静的解析ツール
その他
ビルドツール
Ant
Maven
VCS
SVN
Git
継続ビルド
Jenkins
- 作者: Jim Waldo,矢野勉,笹井崇司
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/02/24
- メディア: 大型本
- 購入: 3人 クリック: 148回
- この商品を含むブログ (36件) を見る