-
Introducing Java : 3 days
-
Chapter 1Introduction to the Java Environment
- The Language, the JVM, and the Ecosystem
- A Brief History of Java and the JVM
- The Lifecycle of a Java Program
- Java Security
- Comparing Java to Other Languages
- Answering Some Criticisms of Java
-
Chapter 2Java Syntax from the Ground Up
- Java Programs from the Top Down
- Lexical Structure
- Primitive Data Types
- Expressions and Operators
- Statements
- Methods
- Introduction to Classes and Objects
- Arrays
- Reference Types
- Packages and the Java Namespace
- Java File Structure
- Defining and Running Java Programs
- Summary
-
Chapter 3Object-Oriented Programming in Java
- Overview of Classes
- Fields and Methods
- Creating and Initializing Objects
- Subclasses and Inheritance
- Data Hiding and Encapsulation
- Abstract Classes and Methods
- Modifier Summary
-
Chapter 4The Java Type System
- Interfaces
- Java Generics
- Enums and Annotations
- Nested Types
- Lambda Expressions
- Conclusion
-
Chapter 5Introduction to Object-Oriented Design in Java
- Java Values
- Important Methods of java.lang.Object
- Aspects of Object-Oriented Design
- Exceptions and Exception Handling
- Safe Java Programming
-
Chapter 6Java’s Approach to Memory and Concurrency
- Basic Concepts of Java Memory Management
- How the JVM Optimizes Garbage Collection
- The HotSpot Heap
- Finalization
- Java’s Support for Concurrency
- Working with Threads
- Summary
-
Working with the Java Platform : 3 days
-
Chapter 7Programming and Documentation Conventions
- Naming and Capitalization Conventions
- Practical Naming
- Java Documentation Comments
- Conventions for Portable Programs
-
Chapter 8Working with Java Collections
- Introduction to Collections API
- Lambda Expressions in the Java Collections
- Conclusion
-
Chapter 9Handling Common Data Formats
- Text
- Numbers and Math
- Java 8 Date and Time
- Conclusion
-
Chapter 10File Handling and I/O
- Classic Java I/O
- Modern Java I/O
- NIO Channels and Buffers
- Async I/O
- Networking
-
Chapter 11Classloading, Reflection, and Method Handles
- Class Files, Class Objects, and Metadata
- Phases of Classloading
- Secure Programming and Classloading
- Applied Classloading
- Reflection
- Dynamic Proxies
- Method Handles
-
Chapter 12Nashorn
- Introduction to Nashorn
- Executing JavaScript with Nashorn
- Nashorn and javax.script
- Advanced Nashorn
- Conclusion
-
Chapter 13Platform Tools and Profiles
- Command-Line Tools
- VisualVM
- Java 8 Profiles
- Conclusion