課程名稱:OCP: Java SE 11 Developer 認證課程 - 簡稱:OCP Java Training Course (SE 11) |
1. Introduction to Java SE
1.1 Java Overview
1.2 Java Virtual Machine (VM)
1.3 Java Development Environment
1.4 Java IDE
1.5 Installation of JDK and IDE
1.5.1 Installing Java SE Development Kit 11
1.5.2 Installing NetBeans IDE
1.6 Example of Writing Sample Java Programs
1.6.1 Without IDE
1.6.2 With IDE
1.7 Basic Components in Java Program
1.7.1 Expressions
1.7.2 Statements
1.7.3 Blocks
2. Primitive Data Types and Variables
2.1 Identifiers (標識符)
2.2 Primitive Data Types
2.3 Literals
2.3.1 The Boolean Literals
2.3.2 The Character Literals
2.3.3 The Integer Literals
2.3.4 The Floating-Point Literals
2.3.5 Using Underscore in Numeric Literals
2.4 Declaring and Initializing a Variable
2.5 Scope of Variables
2.6 Primitive Data Type Conversions
2.6.1 Widening Conversion
2.6.2 Narrowing Conversion
2.6.3 Arithmetic Promotion
2.6.4 Problems in Arithmetic Calculation
2.7 About var
3. Operators
3.1 Arithmetic Operators
3.1.1 Binary (二元) arithmetic operators
3.1.2 Unary (單元) arithmetic operators
3.2 Relational Operators
3.3 Logical Operators
3.4 Assignment Operators
4. Array
4.1 Declaring an Array
4.2 Constructing an Array
4.3 Initializing an Array
4.4 Shortcut Syntax for Initializing an Array
5. Flow Control
5.1 Selection
5.1.1 The if Statement
5.1.2 The if-else Statement
5.1.3 The if-else if-else Statement
5.1.4 The switch Statement
5.2 Iteration
5.2.1 The while Statement
5.2.2 The do-while Statement
5.2.3 The for Statement
5.2.4 The Enhanced for Loop
5.3 Branch
5.3.1 The break Statement
5.3.2 The continue Statement
5.3.3 The return Statement
6. Classes and Objects
6.1 Basic Background
6.2 Basic Elements of a Class
6.2.1 Class Declaration
6.2.2 Creating Class Objects
6.2.3 Class Variables
6.2.4 Class Methods
6.3 Method Parameters and Overloading
6.3.1 Method Parameters
6.3.2 Variable Shadowing and this
6.3.3 Method Overloading
6.4 Constructor
6.4.1 About Constructor
6.4.2 Constructor Overloading
6.4.3 this()
6.5 Static Members
6.5.1 Static Variables
6.5.2 Static Methods
6.5.3 static { }
6.5.4 Examples of Static Methods in Math Class
6.6 Pass by Value / Reference
6.7 Class for Java Application
6.7.1 main() Method and its Signature
6.7.2 Other Class Members
6.8 Varags
6.9 Using Class Object as Instance Variable
6.9.1 A Simple Example
6.9.2 Aggregation and Composition (參考章節)
7. Inheritance and Interface
7.1 Inheritance Basics
7.2 Constructor in Inheritance
7.3 super and super()
7.4 Abstract Class and Abstract Method
7.4.1 Abstract Class
7.4.2 Abstract Method
7.5 Final
7.6 Interface
7.6.1 Basic Usage
7.6.2 Static Methods and Default Methods
7.6.3 Extending Interface
7.6.4 Problem For Implementing Multiple Interfaces
8. Polymorphism
8.1 Polymorphism Basics
8.2 IS-A Relationship
8.3 Using SuperClass or Interface as Reference Type
8.3.1 Accessing Static Members Using Different Reference Types
8.3.2 Accessing Instance Variables Using Different Reference Types
8.3.3 Accessing Instance Methods Using Different Reference Types
8.3.4 Covariant Return Type
8.3.5 Overloading Methods Using Different Reference Types As Parameters
8.4 Working With Polymorphism
8.4.1 Using Array
8.4.2 Casting and getClass()/instanceof
8.4.3 Using Hidden Variable / Overridden Methods
9. Packages and Access Modifers
9.1 Packages
9.1.1 Package Overview
9.1.2 Refer to a Package Member by its Fully Qualified Name
9.1.3 Importing a Package Member
9.1.4 Importing an Entire Package
9.2 Access Modifier
9.2.1 Basic Access Modifiers
9.2.2 Access Modifiers for Overriding Instance Method
9.3 Encapsulation
9.4 Access Modifer for Constructor
10. Class Desgin
10.1 Basic Class Design
10.2 Delegation
10.3 Factory Method
10.4 Singleton Class
10.5 Nested Class
10.5.1 Static Nested Class
10.5.2 Inner Class
10.5.3 Local Class
10.5.4 Anonymous Inner Class
10.6 Annotations
10.6.1 Overview
10.6.2 Predefined Annonation
10.6.3 Custom Annonation
11. String, Wrapper Class and Enum
11.1 About String
11.1.1 Overview
11.1.2 equals()
11.1.3 toString()
11.1.4 Other Instance Methods in String Class
11.1.5 StringBuilder Class
11.2 Wrapper Classes
11.2.1 Overview
11.2.2 xxxValue()
11.2.3 Static Methods
11.3 Enumerated Type
12. Collection FrameWork and Generics
12.1 Collection Framework Overview
12.2 ArrayList
12.2.1 Basic Overview
12.2.2 Adding and Inserting Elements
12.2.3 Searching for Elements
12.2.4 Replacing and Removing Elements
12.2.5 Creating ArrayList with Elements Included
12.2.6 Using of Iterator
12.2.7 Typed ArrayList
12.3 Using List Interface
12.4 Other Collection Classes
12.4.1 Set
12.4.2 Queue
12.5 Static Method of the Class Collections
12.6 Comparable and Comparator
12.6.1 Comparable Interface
12.6.2 Comparator
12.7 Comparing Elements between Two Collections
12.7.1 Checking if the Elements in Two Collections are the Same
12.7.2 Find the Common Elements in Two Collections
12.7.3 Find the Differences in Elements in Two Collections
12.8 HashMap
12.8.1 Map Overview
12.8.2 Using of HashMap
12.9 Generics
12.9.1 Generics Backgound
12.9.2 Generic Class / Interface Declaration
12.9.3 Bounded Type Parameter
12.9.4 Generic Method Declaration
12.9.5 Using WildCard “?” as Parameter Type
12.9.6 Type Erasure
12.10 Optional
13. Exception Handling
13.1 Exception Handling Basics
13.2 try ... catch ... finally Statement
13.2.1 try statement
13.2.2 catch statement
13.2.3 finally statement
13.3 Program Flow during Catching of Exception
13.4 Catching of Exception when Invoking Methods
13.5 Checked Exceptions
13.5.1 Throwable Class
13.5.2 Examples for Handling Checked Exception
13.6 Handling Checked Exception within a Method
13.7 Custom Exception
13.8 Chaining Exception
13.9 try-with-resources
13.10 Suppressed Exception
14. Input Output (I/O)
14.1 I/O Streams
14.1.1 Working of Basic I/O Streams
14.1.2 Byte Streams
14.1.3 Character Streams
14.1.4 Console Input / Output
14.1.5 Introduction to Object Streams
14.2 File I/O using NIO.2
14.2.1 Path Interface and Paths Class
14.2.2 Files Class
14.2.3 FileStore Class
14.2.4 DirectoryStream
14.3 Legacy File I/O
15. Locale, Resource Bundle and DateTime API
15.1 Locale
15.1.1 Locale Overview
15.1.2 Creating Locale Object
15.1.3 Default Locale
15.1.4 Using Locale in Number Formating
15.1.5 Using Locale in Date Time Formating
15.2 Resource Bundle
15.2.1 Resource Bundle Overview
15.2.2 Properties Resource Bundle
15.3 Java 8 DateTime API
15.3.1 Background
15.3.2 Creating Objects for Local Date and/or Time
15.3.3 Instance Methods for Java 8 DateTime Classses
15.3.4 Zoned DateTime
15.3.5 Other Classes in Java 8 DateTime API
16. Introduction to JDBC
16.1 JDBC Overview
16.2 Basic Example for Using a Database
16.2.1 Connecting to a Database
16.2.2 Preparing and Sending Queries to the Database
16.2.3 Retrieving the Result from the Database
16.2.4 Closing the Resources
16.2.5 An Example
16.3 Creating Tables and Adding Rows
16.1 Scrolling and Updating using ResultSet
17. MultiThreading
17.1 Introduction to Threads (線程)
17.2 Configuring Threads with Thread Class
17.3 Configuring Threads with Runnable Interface
17.4 Passing Values / Objects to a Thread
17.5 Basic Setting and Monitoring for Threads
17.5.1 Threads’ Name
17.5.2 Lifetime of a Thread
17.5.3 Thread Priorities
17.6 Synchronizing (同步) Threads
17.6.1 synchronized (同步)
17.6.2 wait() and notify()
17.7 Deadlock
17.8 About java.util.concurrent
18. Lambda
18.1 Lambda Overiew
18.1.1 Lambda Expression
18.1.2 Using of Lambda Expression
18.2 Built-in Functional Interfaces for Lambda
18.3 Using Lambda Expression in Java Built-in Methods
18.3.1 forEach() declared in Iterable
18.3.2 removeIf() declared in Collection
18.3.3 replaceAll() declared in List:
18.4 Functional Composition
19. Stream API
19.1 Creating a Stream
19.2 Intermediate Operations on a Stream Object
19.3 Terminal Operations on a Stream Object
19.4 Stream Pipelines and Processing of Stream Operations
19.5 Using Streams for Collection
19.6 Using Stream for Files
19.6.1 Using Stream through Returned List object
19.6.2 Methods returning Stream
20. Java Secure Coding and Platform Module System
20.1 Secure Coding
20.1.1 Overview
20.1.2 Limit Accessibility through Access Modifier
20.1.3 Preventing Denial-of-Service (DOS) Attacks
20.1.4 Validate Data / Restrict Actions Based on External Input / Request
20.1.5 Working with 3rd Party Program Code
20.1.6 Preventing Senstive Data from being Serialized
20.1.7 Introcution to SecurityManager
20.2 Java Platform Module System
20.2.1 About Modules
20.2.2 Java Build-in Modules
20.2.3 Services
|