
0人評分過此書
OCP:Java SE 11 Developer認證指南(下)-API剖析運用篇
-
CHAPTER 01 泛型(Generics)和集合物件(Collections)
-
1.1 泛型(Generics)
-
1.1.1 使用泛型設計的效益
-
1.1.2 使用泛型設計類別
-
1.1.3 使用泛型設計的類別
-
-
1.2 集合物件(Collections)
-
1.2.1 集合物件的定義和種類
-
1.2.2 List
-
1.2.3 自動裝箱(Boxing)和開箱(Unboxing)
-
1.2.4 Set
-
1.2.5 Deque(Queue)
-
-
1.3 Map
-
1.4 集合物件成員的排序
-
1.4.1 排序的作法
-
1.4.2 使用Comparable介面排序
-
1.4.3 使用Comparator介面排序
-
-
1.5 使用of()與copyOf()方法建立List、Set與Map物件
-
1.5.1 使用of()方法建立List、Set與Map物件
-
1.5.2 使用copyOf()方法建立List、Set與Map物件
-
1.5.3 使用Arrays.asList()方法建立List物件
-
-
-
CHAPTER 02 例外(Exceptions)與斷言(Assertions)
-
2.1 例外(Exceptions)
-
2.1.1 使用try-catch程式碼區塊
-
2.1.2 使用try-with-resources程式碼區塊和AutoCloseable介面
-
2.1.3 Suppressed Exceptions
-
2.1.4 使用multi-catch敘述
-
2.1.5 使用throws宣告
-
2.1.6 建立客製的Exception類別
-
2.1.7 Exception物件的捕捉再拋出
-
-
2.2 斷言(Assertions)
-
2.2.1 Assertions的簡介和語法
-
2.2.2 Assertions的使用
-
-
-
CHAPTER 03 輸入與輸出(I/O)
-
3.1 I/O基礎
-
3.1.1 何謂I/O?
-
3.1.2 處理串流的類別
-
3.1.3 串流類別的串接
-
3.1.4 使用java.io.File類別
-
-
3.2 由主控台讀寫資料
-
3.2.1 主控台的I/O
-
3.2.2 使用標準輸出方法
-
3.2.3 使用標準輸入由主控台取得輸入資料
-
3.2.4 java.io.Console類別介紹
-
-
3.3 Channel I/O
-
3.4 使用序列化技術讀寫物件
-
3.4.1 Java裡的資料保存(Persistence)
-
3.4.2 序列化和物件圖譜
-
3.4.3 不需要參加序列化的欄位
-
3.4.4 定義物件保存的版本號碼
-
3.4.5 序列化和反序列化範例
-
-
-
CHAPTER 04 NIO.2
-
4.1 NIO.2 基礎
-
4.1.1 java.io.File的限制
-
4.1.2 Java I/O套件發展歷史
-
4.1.3 檔案系統、路徑和檔案
-
4.1.4 Symbolic Link檔案
-
4.1.5 NIO.2的基本架構
-
-
4.2 使用Path介面操作檔案/目錄
-
4.2.1 Path介面
-
4.2.2 Path介面主要功能
-
4.2.3 移除路徑裡的多餘組成
-
4.2.4 建立子路徑
-
4.2.5 結合2個路徑
-
4.2.6 建立連接2個路徑的路徑
-
4.2.7 Hard Link
-
4.2.8 處理Symbolic Link
-
-
4.3 使用Files 類別對檔案/目錄進行檢查、刪除、複製、移動
-
4.3.1 處理檔案
-
4.3.2 檢查檔案/目錄是否存在
-
4.3.3 檢查檔案/目錄屬性
-
4.3.4 建立檔案/目錄
-
4.3.5 刪除檔案/目錄
-
4.3.6 複製和移動檔案/目錄
-
4.3.7 Stream和Path 互相複製
-
4.3.8 列出目錄內容
-
4.3.9 讀取和寫入檔案
-
-
4.4 使用Files類別操作Channel I/O和Stream I/O讀寫檔案
-
4.4.1 介面Channel和類別ByteBuer
-
4.4.2 隨機存取檔案
-
4.4.3 對文字檔提供Buered I/O方法
-
4.4.4 取得位元串流物件的方法
-
-
4.5 讀寫檔案/目錄的屬性
-
4.5.1 使用Files管理檔案的屬性資料
-
4.5.2 讀取檔案屬性
-
4.5.3 修改檔案屬性
-
4.5.4 DOS之外的File Attribute Views
-
4.5.5 POSIX檔案系統的權限
-
-
4.6 遞迴存取目錄結構
-
4.6.1 對檔案目錄進行遞迴操作
-
-
4.7 使用PathMatcher類別找尋符合的檔案
-
4.7.1 搜尋檔案
-
4.7.2 glob樣式語法介紹
-
-
4.8 其他
-
4.8.1 使用FileStore類別
-
4.8.2 使用WatchService
-
4.8.3 由基礎I/O轉換至NIO.2
-
-
-
CHAPTER 05 執行緒(Threads)
-
5.1 執行緒介紹
-
5.1.1 名詞說明
-
5.1.2 多執行緒的重要性
-
5.1.3 執行緒類別
-
-
5.2 執行緒常見的問題
-
5.2.1 使用Shared Data可能造成的問題
-
5.2.2 使用Non-Atomic Functions可能造成的問題
-
5.2.3 使用Cached Data可能造成的問題
-
-
5.3 執行緒的synchronized與等待
-
5.3.1 使用synchronized關鍵字
-
5.3.2 使用synchronized的時機
-
5.3.3 縮小synchronized的程式區塊
-
5.3.4 其他執行等待的情況
-
-
5.4 其他執行緒方法介紹
-
5.4.1 使用interrupt()方法
-
5.4.2 使用sleep()方法
-
5.4.3 使用其他方法
-
5.4.4 不建議使用的方法
-
-
-
CHAPTER 06 執行緒與並行API(Concurrency API)
-
6.1 使用並行API
-
6.1.1 並行API介紹
-
6.1.2 AtomicInteger類別
-
6.1.3 ReentrantReadWriteLock類別
-
6.1.4 執行緒安全的集合物件
-
6.1.5 常用的同步器工具類別
-
-
6.2 使用ExecutorService介面同時執行多樣工作
-
6.2.1 使用更高階的多執行緒執行方案
-
6.2.2 ExecutorService概觀
-
6.2.3 使用java.util.concurrent.Callable
-
6.2.4 使用java.util.concurrent.Future
-
6.2.5 關閉ExecutorService
-
6.2.6 ExecutorService完整範例
-
6.2.7 ExecutorService進階範例
-
-
6.3 使用Fork-Join框架同時執行多樣工作
-
6.3.1 平行處理的策略
-
6.3.2 套用Fork-Join框架
-
6.3.3 Fork-Join框架的使用建議
-
-
-
CHAPTER 07 使用JDBC建立資料庫連線
-
7.1 了解Database、DBMS 和SQL
-
7.1.1 基本名詞介紹
-
7.1.2 使用SQL存取資料庫
-
7.1.3 Derby資料庫介紹
-
7.1.4 操作Derby資料庫
-
-
7.2 使用Eclipse連線並存取資料庫
-
7.2.1 連線資料庫
-
7.2.2 存取資料表
-
-
7.3 使用JDBC
-
7.3.1 JDBC API概觀
-
7.3.2 專案引用資料庫驅動函式庫
-
7.3.3 認識JDBC驅動函式庫JAR 的組成
-
7.3.4 開發JDBC程式
-
7.3.5 結束JDBC相關物件的使用
-
7.3.6 開發可攜式的JDBC程式碼
-
7.3.7 使用java.sql.SQLException類別
-
7.3.8 Statement介面與SQL敘述的執行
-
7.3.9 使用ResultSetMetaData介面
-
7.3.10 取得查詢結果的資料筆數
-
7.3.11 控制ResultSet每次由資料庫取回的筆數
-
7.3.12 使用PreparedStatement介面
-
-
7.4 使用JDBC進行交易
-
7.4.1 何謂資料庫交易?
-
7.4.2 使用JDBC的交易
-
-
7.5 使用JDBC 4.1的RowSetProvider和RowSetFactory
-
7.6 回顧DAO設計模式
-
-
CHAPTER 08 Java的區域化(Localization)
-
8.1 了解Java的軟體區域化作法
-
8.1.1 使用Locale類別
-
8.1.2 建立多國語系文字檔
-
8.1.3 使用ResourceBundle類別
-
-
8.2 使用DateFormat類別提供日期的區域化顯示
-
8.3 使用NumberFormat類別提供幣別的區域化顯示
-
-
CHAPTER 09 Lambda表示式的應用
-
9.1 使用Lambda表示式
-
9.1.1 匿名類別與功能性介面回顧
-
9.1.2 Lambda表示式語法回顧
-
-
9.2 使用內建的功能性介面
-
9.2.1 評斷型功能性介面Predicate
-
9.2.2 消費型功能性介面Consumer
-
9.2.3 功能型功能性介面Function
-
9.2.4 供應型功能性介面Supplier
-
-
9.3 在泛型內使用萬用字元
-
9.3.1 在泛型裡使用多型
-
9.3.2 存取使用<?>的泛型的集合物件
-
-
9.4 使用其他內建的功能性介面
-
9.4.1 基於4個基礎功能性介面的基本型別變形版
-
9.4.2 基於Binary(二運算元相關)及其基本型別變形版
-
9.4.3 基於Unary(單運算元相關)及其基本型別變形版
-
-
9.5 使用方法參照
-
9.5.1 方法參照使用類別方法
-
9.5.2 方法參照使用物件方法且物件參考來自Lambda表示式之外
-
9.5.3 方法參照使用物件方法且物件參考來自Lambda表示式之內
-
9.5.4 使用new呼叫建構子且建構子不帶參數
-
9.5.5 使用new呼叫建構子且建構子帶少量參數
-
9.5.6 使用new呼叫建構子且建構子帶多參數
-
-
-
CHAPTER 10 使用Stream API
-
10.1 建構者設計模式和方法鏈結
-
10.2 使用Optional類別
-
10.2.1 使用null造成的困擾
-
10.2.2 類別Optional的使用情境
-
10.2.3 類別Optional的常用方法
-
-
10.3 Stream API介紹
-
10.3.1 介面Iterable和Collection的擴充
-
10.3.2 Stream API
-
-
10.4 Stream API操作
-
10.4.1 中間作業
-
10.4.2 終端作業
-
10.4.3 終端作業collect()與Collectors API
-
10.4.4 短路型終端作業
-
-
10.5 Stream API和NIO.2
-
10.6 Stream API操作平行化
-
10.6.1 平行化的前提
-
10.6.2 平行化的作法
-
10.6.3 Reduction操作
-
-
-
CHAPTER 11 Date/Time API
-
11.1 Date & Time相關類別的演進
-
11.2 當地日期與時間
-
11.2.1 類別LocalDate
-
11.2.2 類別LocalTime
-
11.2.3 類別LocalDateTime
-
-
11.3 時區和日光節約時間
-
11.3.1 時區和日光節約時間簡介
-
11.3.2 Java 在時區和日光節約時間的應用
-
-
11.4 描述日期與時間的數量
-
11.4.1 類別Instant
-
11.4.2 類別Period和Duration
-
11.4.3 使用流暢(uent)的程式風格
-
-
-
CHAPTER 12 標註型別(Annotation)
-
12.1 認識標註型別
-
12.1.1 認識Metadata
-
12.1.2 標註型別的目的
-
-
12.2 建立自定義標註型別
-
12.2.1 建立標註型別
-
12.2.2 定義必要(required)元素
-
12.2.3 定義非必要(optional)元素
-
12.2.4 定義元素型態(type)
-
12.2.5 定義元素修飾詞
-
12.2.6 定義常數
-
-
12.3 標註型別的應用
-
12.3.1 在宣告時使用標註型別
-
12.3.2 定義名稱為value()的元素
-
12.3.3 元素值為陣列的應用方式
-
-
12.4 自定義標註型別時使用的內建標註型別
-
12.4.1 以@Target限制使用標的
-
12.4.2 以@Retention決定作用範圍
-
12.4.3 以@Documented支援API文件顯示
-
12.4.4 以@Inherited取得父類別標註型別
-
12.4.5 以@Repeatable支援重複使用同一標註型別
-
12.4.6 本章內建標註型別總結
-
-
12.5 開發一般程式碼經常使用的內建標註型別
-
12.5.1 使用@Override標註覆寫的方法
-
12.5.2 使用@FunctionalInterface宣告介面
-
12.5.3 使用@Deprecated停用程式碼
-
12.5.4 使用@SuppressWarnings忽略警告
-
12.5.5 使用@SafeVarargs 保護參數
-
12.5.6 本章內建標註型別總結
-
-
-
CHAPTER 13 Java平台模組系統(Java Platform Module System)
-
13.1 認識Java模組化
-
13.1.1 介紹模組(Module)
-
13.1.2 模組化的效益
-
-
13.2 建立和執行模組化程式
-
13.2.1 建立模組專案
-
13.2.2 編譯模組專案
-
13.2.3 執行模組專案
-
13.2.4 打包模組專案
-
-
13.3 建立相依模組程式
-
13.3.1 使用exports開放模組內的套件
-
13.3.2 使用requires相依外部模組的套件
-
13.3.3 使用Eclipse設定專案的模組相依關係
-
-
13.4 認識module-info.java的宣告關鍵字
-
13.4.1 使用exports
-
13.4.2 使用requires和requires transitive
-
13.4.3 使用provides、uses、opens
-
-
13.5 在命令列(command line)使用模組指令選項
-
13.5.1 使用java指令
-
13.5.2 使用jar指令
-
13.5.3 使用jdeps指令
-
13.5.4 使用jmod指令
-
13.5.5 指令彙整
-
-
-
CHAPTER 14 模組化應用程式
-
14.1 回顧模組指令
-
14.2 比較模組類型
-
14.2.1 命名模組
-
14.2.2 自動模組
-
14.2.3 未命名模組
-
14.2.4 比較模組類型
-
-
14.3 分析JDK依賴關係
-
14.3.1 識別內建模組
-
14.3.2 使用JDEPS
-
-
14.4 模組化既有應用程式
-
14.4.1 確定函式庫相依順序
-
14.4.2 使用由下而上的模組化策略
-
14.4.3 使用由上而下的模組化策略
-
14.4.4 解構與模組化單體應用程式
-
14.4.5 循環的相依性導致無法編譯
-
-
14.5 模組化Java服務結構
-
14.5.1 建立服務提供者介面模組
-
14.5.2 建立服務定位器模組
-
14.5.3 建立用戶端程式模組
-
14.5.4 建立服務提供者介面實作模組
-
14.5.5 合併服務提供者介面模組之外的所有模組
-
-
-
CHAPTER 15 開發安全的Java程式
-
15.1 設計安全物件
-
15.1.1 限制可存取性
-
15.1.2 限制可繼承性
-
15.1.3 建立不可更改(immutable)物件
-
15.1.4 複製(clone)物件
-
-
15.2 注入(injection)攻擊與輸入(input)驗證
-
15.2.1 使用PreparedStatement 避免SQL注入攻擊
-
15.2.2 使用輸入驗證(Input Validation)過濾無效輸入
-
-
15.3 處理機敏資訊
-
15.3.1 保護機敏資料的輸出
-
15.3.2 保護記憶體中的資料
-
-
15.4 序列化與反序列化物件
-
15.4.1 指定序列化的物件欄位
-
15.4.2 客製序列化流程
-
15.4.3 改變序列化與反序列化的結果
-
-
15.5 建立保護機敏資料的安全物件
-
15.5.1 宣告方法為nal
-
15.5.2 宣告類別為nal
-
15.5.3 宣告建構子為private
-
-
15.6 避免服務阻斷(denial of service)攻擊
-
15.6.1 避免資源滲漏
-
15.6.2 避免讀取大量資源
-
15.6.3 避免數字溢位(overow)
-
15.6.4 避免資料結構的濫用
-
-
- CHAPTER 16 擬真試題實戰詳解
- 出版地 : 臺灣
- 語言 : 繁體中文
評分與評論
請登入後再留言與評分