NDA
NDA = Non-Disclosure Agreement,中文叫「保密協議」。
在正式開始考試前,系統會跳出 NDA 保密協定,考試題目屬於 Oracle 的智慧財產,不得公佈考試內容。
模擬考題的重要性
很多人都會認為熟悉模擬考題就像在作弊,但這在 Java 的國際認証卻不一樣,原因如下:
5 年以上經驗者:即使不看模擬考題,也許仍能勉強通過,但遇到刁鑽題目時仍然考不過。
結論
這張認証,是給有 Java 開發經驗的人考的,初學者死背模擬考題只有死路一條。
看模擬考題時,不能只背答案,需理解裏面的內容。因為實際考試時,類似模擬考題出現的機率只有一半。也就是說,有另一半是模擬考題所沒有的。
考試時可以把模擬考題出現過的問題快速回答,把時間花在需要思考的陌生考題。
認証的價值
對有經驗者:強化語言細節與最佳實務,讓程式撰寫更加嚴謹。
對無經驗者:快速建立完整的 Java 架構,補足基礎知識。
考試語言
Java SE 11 認證考試提供英文與日文兩種語言版本, 2025 年起 Oracle 又新增簡體中文版本。
不過簡體中文的用語跟台灣有著很大的差異,對台灣考生更難理解,所以建議選擇英文版本。
OPC Java SE 11(1Z0-819)
Java 11 自 2020 年開始,不再分 OCA(1Z0-816)、OCP(1Z0-817),直接考一科 1Z0-819 即可取得証書。
考試全為英文,考試時間 90分鐘,共有 50 題,及格分數為 68%,考試費用 US$245(NT$7500)。
應試時,每題的回答時間不可超過 1.5 分鐘。但光看落落長的題目,就可能就超過 2分鐘,再加上思考及演算,絕對來不及。所以要通過這種考試就是熟悉模擬考題。
考試範圍 (exam topics)
1Z0-819 考試範圍有 13 個主題,詳細內容如下
Working with Java data types (資料型態)
- Use primitives and wrapper classes, including, operators, parentheses, type promotion and casting
- Handle text using String and StringBuilder classes
- Use local variable type inference, including as lambda parameters
Controlling Program Flow (控制流程)
- Create and use loops, if/else, and switch statements
Java Object-Oriented Approach (物件導向程式設計)
- Declare and instantiate Java objects including nested class objects, and explain objects’ lifecycles (including creation, dereferencing by reassignment, and garbage collection)
- Define and use fields and methods, including instance, static and overloaded methods
- Initialize objects and their members using instance and static initialiser statements and constructors
- Understand variable scopes, apply encapsulation and make objects immutable
- Create and use subclasses and superclasses, including abstract classes
- Utilize polymorphism and casting to call methods, differentiate object type versus reference type
- Create and use interfaces, identify functional interfaces, and utilize private, static, and default methods
- Create and use enumerations
Exception Handling (例外處理)
- Handle exceptions using try/catch/finally clauses, try-with-resource, and multi-catch statements
- Create and use custom exceptions
Working with Arrays and Collections (陣列與集合)
- Use generics, including wildcards
- Use a Java array and List, Set, Map and Deque collections, including convenience methods
- Sort collections and arrays using Comparator and Comparable interfaces
Working with Streams and Lambda expressions (Lambda 表示式)
- Implement functional interfaces using lambda expressions, including interfaces from the java.util.function package
- Use Java Streams to filter, transform and process data
- Perform decomposition and reduction, including grouping and partitioning on sequential and parallel streams
Java Platform Module System (模組系統 JPMS)
- Deploy and execute modular applications, including automatic modules
- Declare, use, and expose modules, including the use of services
Concurrency (執行緒)
- Create worker threads using Runnable and Callable, and manage concurrency using an ExecutorService and java.util.concurrent API
- Develop thread-safe code, using different locking mechanisms and java.util.concurrent API
Java I/O API (檔案與 I/O)
- Read and write console and file data using I/O Streams
- Implement serialization and deserialization techniques on Java objects
- Handle file system objects using java.nio.file API
Secure Coding in Java SE Application (安全編碼)
- Develop code that mitigates security threats such as denial of service, code injection, input validation and ensure data integrity
- Secure resource access including filesystems, manage policies and execute privileged code
Database Applications with JDBC (JDBC)
- Connect to and perform database SQL operations, process query results using JDBC API
Localization (本地化)
- Implement Localization using Locale, resource bundles, and Java APIs to parse and format messages, dates, and numbers
Annotations(註釋)
- Create, apply, and process annotations