- 1. Java Platform Overview
- 2. Java Syntax and Class Review
- 3. Encapsulation and Polymorphism
- 4. Java Class Design
- 5. Advanced Class Design
- 6. Inheritance with Java Interfaces
- 7. Generics and Collections
- 8. String processing
- 9. Exceptions and Assertions
- 10. I/O Fundamentals
- 11. File I/O with NIO 2
- 12. Threading
- 13. Concurrency
- 14. Database Application with JDBC
- 15. Localization
1. Java Platform Overview
- Introductions
- Course Schedule
- Java Overview
- Java Platforms
- OpenJDK
- Licensing
- Java in Server Environments
- The Java Community Process
2. Java Syntax and Class Review
- Simple Java classes
- Java fields, constructors and methods
- Model objects using Java classes
- Package and import statements
3. Encapsulation and Polymorphism
- Encapsulation in Java class design
- Model business problems with Java classes
- Immutability
- Subclassing
- Overloading methods
- Variable argument methods
4. Java Class Design
- Access modifiers: private, protected and public
- Method overriding
- Constructor overloading
- The instanceof operator
- Virtual method invocation
- Polymorphism
- Casting object references
- Overriding Object methods
5. Advanced Class Design
- Abstract classes and type generalization
- The static and final modifiers
- Field modifier best practices
- The Singleton design pattern
- Designing abstract classes
- Nested classes
- Enumerated types
6. Inheritance with Java Interfaces
- Java Interfaces
- Types of Inheritance
- Object composition and method delegation
- Implementing multiple interfaces
- The DAO design pattern
7. Generics and Collections
- Generic classes and type parameters
- Type inference (diamond)
- Collections and generics
- List, set and Map
- Stack and Deque
8. String processing
- String manipulation with StringBuilder and StringBuffer
- Essential String methods
- Text parsing in Java
- Input processing with Scanner
- Text output and formatting
- Regular expressions with the Pattern and Matcher classes
9. Exceptions and Assertions
- Exceptions categories
- Standard Java Exception classes
- Creating your own Exception classes
- Using try-catch and the finally clause
- Using try-with-resources and the AutoCloseable interface
- The multi-catch feature
- Best practices using exceptions
- Assertions
10. I/O Fundamentals
- I/O using Java
- Reading the console input stream
- Writing to the console
- Using I/O Streams
- Chaining I/O Streams
- Channel I/O
- Reading and writing objects using Serialization
11. File I/O with NIO 2
- The Path interface
- The Files class
- Directory and File operations
- Managing file system attributes
- Reading, writing, and creating files
- Watching for file system changes
12. Threading
- Operating system task scheduling
- Recognizing multithreaded environments
- Creating multi-threaded solutions
- Sharing data across threads
- Synchronization and Deadlock
- Immutable objects
13. Concurrency
- Creating Atomic variables
- Using Read-Write Locks
- Thread-safe collections
- Concurrenct synchronizers (Semaphore, Phaser, and others)
- Executors and ThreadPools to concurrently schedule tasks
- Parallelism and the Fork-Join framework
14. Database Application with JDBC
- Layout of the JDBC API
- JDBC divers
- Queries and results
- PreparedStatement and CallableStatement
- Transactions
- RowSet 1.1 RowSetProvider and RowSetFactory
- The DAO Pattern and JDBC
15. Localization
- Advantages of localization
- Defining locale
- Read and set locale using the Locale object
- Resource bundles
- Format messages, dates and numbers