目錄
前言
第 1 章 導論
什麼是 Java ?
Java 程式語言
Java 虛擬機器
Java 平台
Java 的版本
使用 Java 的好處
寫好一份程式,便可到處執行
安全性
以網路為中心的程式設計
動態性及可擴充性的程式
國際化
效能
時間效率
Java 程式範例
編譯並執行程式
解析範列 1-1
例外管理
第 2 章 Java 語法-從基礎談起
Java 概觀
字義(Lexical)的結構
Unicode 字元集
大小寫相異與空白
註解
保留字
識別字
實字
標點符號
基本資料型別
布林型別
字元型別
字串
整數型別
浮點數型別
基本型別的轉換
表示式與運算子
運算子總整理
算術運算子
字串串接運算子
遞加與遞減運算子
比較運算子
布林運算子
Bitwise 運算子與平移運算子
指定運算子
條件式運算子
instanceof 運算子
特殊運算子
敘述
表示式敘述
複合敘述
空敘述
標籤敘述
區域變數宣告敘述
if/else 敘述
switch 敘述
while 敘述
do 敘述
for 敘述
for/in 敘述
break 敘述
continue 敘述
return 敘述
synchronized 敘述
throw 敘述
try/catch/finally 敘述
assert 敘述
Method
定義方法(defining method)
method 修飾子
宣告已查核例外
不定長度引數列表
共變數回傳型別(Covariant Return Types)
類別與物件
定義一個類別
建立一個物件
使用物件
物件實字
陣列
陣列型別
建立與初始化陣列
使用陣列
多維陣列
參考型別
參考型別與基本資料型別
複製物件
比較物件
術語:傳值(pass by value)
記憶體配置與記憶體回收
參考型別的轉換
Boxing and Unboxing 轉換
套件與 Java 名稱空間
套件宣告
具全域唯一性的套件名稱
匯入型別
匯入靜態成員
Java 檔案架構
定義並執行 Java 程式
Java 與 C 的不同點
第 3 章 Java 的物件導向程式設計
類別定義語法
欄位與 method
欄位宣告語法
類別欄位
類別 method
實體欄位
實體 method
個案研究:System.out.pringln( )
物件的建立與初始化
定義建構子
定義多個建構子
在建構子中引用另一個建構子
欄位預設值與初始化程式
初始化程式區塊
物件的摧毀與終結
記憶體回收(garbage collection)
Java 中的記憶體漏失
物件的終結
子類別與繼承
類別的延伸
父類別、物件與類別階層
子類別的建構子
建構子的連鎖反應與預設建構子
隱藏父類別欄位
改寫(overriding)父類別 method
資料隱藏與封裝
存取權控制
資料存取函式 method
抽象類別與方法
java.lang.Object 重要的 method
toString( )
equals( )
hashCode( )
Comparable.compareTo( )
clone( )
介面
定義介面
實作介面
介面與抽象類別
標記介面
介面與常數
巢狀型別
靜態成員型別
非靜態成員類別
區域類別
匿名類別
巢狀型別的運作方式
修飾子一覽
Java 與 C++ 的不同點
第 4 章 Java 5.0 新增功能
泛型(Generic Type)
typesafe collection
了解泛型
參數化型別的階層
型別參數萬用字元
撰寫泛型與 method
泛型實例研究:Comparable 與 Enum
列舉型別
列舉型別基礎
使用列舉型別
進階 Enum 語法
具型別安全性的 enum 模式
註解
註解的概念與術語
使用標準註解
註解語法
註解與 Reflection
定義註解型別
Meta-Annotation
第 5 章 Java 平台
Java 平台綜覽
文字
String 類別
Character 類別
StringBuffer 類別
CharSequence interface
Appendable interface
String 串接
字串比較
增補字元
以 printf( ) 和 format( ) 來格式化文字
Logging
使用正規表示式進行樣式比對
標記化文字
StringTokenizer
數值與數學運算
數學函數
亂數
巨大數值
在數值與字串之間轉換
格式化數值
日期與時間
毫秒與奈秒
Date 類別
Calendar 類別
格式化日期與時間
陣列
集合
Collection Interface
Set Interface
List Interface
Map interface
Queue 與 BlockingQueue interface
Collection 包裝程式
特例 Collections
與陣列互作轉換
Collections 公用程式 method
實作 Collection
執行緒與並行
建立、執行、以及操作執行緒
使執行緒休眠
執行與排程工作
互斥與鎖
協調執行緒
執行緒中斷
阻隔式佇列
atomic 變數
檔案與目錄
RandomAccessFile
使用 java.io 輸入 / 輸出
讀取主控台輸入
從文字檔讀取多行
將文字寫入檔案
讀取二進位檔
壓縮資料
讀取 ZIP 檔
計算訊息摘要
將資料存入陣列與從陣列取出
使用管道進行執行緒通訊
使用 java.net 進行網路連結
使用 URL 類別進行網路連結
運用 Socket
使用 SSL 處理 Secure Socket
伺服器
資料包(datagram)
測試主機的可到達性(reachability)
使用 java.nio 進行 I/O 與網路連結
基本 Buffer 操作
基本通道操作
使用 Charset 編碼與解碼文字
檔案處理
客戶端網路連結
伺服器端網路連線
非阻隔式 I/O
XML
使用 SAX 剖析 XML
使用 DOM 剖析 XML
轉換 XML 文件
驗證 XML 文件
評定 XPath 表示式
型別、反射、與動態載入
Class 物件
Class 上的反射
動態類別載入
物件續存性永續保存
序列化
JavaBeans 永續保存
安全性
訊息摘要
數位簽章
已簽章物件
密碼學
祕密金鑰(secret key)
使用密碼進行加密與解密
對串流加密與解密
已加密物件
各式各樣的平台特色
Properties
偏好
行程
management 與 instrumentation
第 6 章 Java 安全性
安全性風險
JAVA VM 安全性與類別檔驗證
認證與密碼學
存取權控制
Java 1.0:沙箱
Java 1.1:以數位簽章的類別
Java 1.2:許可權與政策
針對所有人的安全性
針對系統程式設計師的安全性
針對應用程式設計師的安全性
針對系統管理員的安全性
針對終端使用者的安全性
Permission 類別
第 7 章 程式設計與說明文件慣例
命名與大小寫慣例
可攜性慣例和純 Java 規則
Java 說明文件註解
doc 註解的結構
doc 註解標籤
在線 doc 註解標籤
doc 註解中的交互參照
套件的 doc 註解
JavaBeans 慣例
Bean 基礎
bean 類別
特性(property)
具索引(indexed)特性
束縛型(bound)特性
受限型特性
事件
第 8 章 Java 開發工具
apt
extcheck
jarsigner
jar
java
javac
javadoc
javah
javap
javaws
jconsole
jdb
jinfo
jmap
jps
jsadebugd
jstack
jstat
jstatd
keytool
native2ascii
pack200
policytool
serialver
unpack200