Books & Videos

Table of Contents

  1. Introducing Java

    1. Chapter 1 Introduction to the Java Environment

      1. The Language, the JVM, and the Ecosystem
      2. A Brief History of Java and the JVM
      3. The Lifecycle of a Java Program
      4. Java Security
      5. Comparing Java to Other Languages
      6. Answering Some Criticisms of Java
    2. Chapter 2 Java Syntax from the Ground Up

      1. Java Programs from the Top Down
      2. Lexical Structure
      3. Primitive Data Types
      4. Expressions and Operators
      5. Statements
      6. Methods
      7. Introduction to Classes and Objects
      8. Arrays
      9. Reference Types
      10. Packages and the Java Namespace
      11. Java File Structure
      12. Defining and Running Java Programs
      13. Summary
    3. Chapter 3 Object-Oriented Programming in Java

      1. Overview of Classes
      2. Fields and Methods
      3. Creating and Initializing Objects
      4. Subclasses and Inheritance
      5. Data Hiding and Encapsulation
      6. Abstract Classes and Methods
      7. Modifier Summary
    4. Chapter 4 The Java Type System

      1. Interfaces
      2. Java Generics
      3. Enums and Annotations
      4. Nested Types
      5. Lambda Expressions
      6. Conclusion
    5. Chapter 5 Introduction to Object-Oriented Design in Java

      1. Java Values
      2. Important Methods of java.lang.Object
      3. Aspects of Object-Oriented Design
      4. Exceptions and Exception Handling
      5. Safe Java Programming
    6. Chapter 6 Java’s Approach to Memory and Concurrency

      1. Basic Concepts of Java Memory Management
      2. How the JVM Optimizes Garbage Collection
      3. The HotSpot Heap
      4. Finalization
      5. Java’s Support for Concurrency
      6. Working with Threads
      7. Summary
  2. Working with the Java Platform

    1. Chapter 7 Programming and Documentation Conventions

      1. Naming and Capitalization Conventions
      2. Practical Naming
      3. Java Documentation Comments
      4. Conventions for Portable Programs
    2. Chapter 8 Working with Java Collections

      1. Introduction to Collections API
      2. Lambda Expressions in the Java Collections
      3. Conclusion
    3. Chapter 9 Handling Common Data Formats

      1. Text
      2. Numbers and Math
      3. Java 8 Date and Time
      4. Conclusion
    4. Chapter 10 File Handling and I/O

      1. Classic Java I/O
      2. Modern Java I/O
      3. NIO Channels and Buffers
      4. Async I/O
      5. Networking
    5. Chapter 11 Classloading, Reflection, and Method Handles

      1. Class Files, Class Objects, and Metadata
      2. Phases of Classloading
      3. Secure Programming and Classloading
      4. Applied Classloading
      5. Reflection
      6. Dynamic Proxies
      7. Method Handles
    6. Chapter 12 Nashorn

      1. Introduction to Nashorn
      2. Executing JavaScript with Nashorn
      3. Nashorn and javax.script
      4. Advanced Nashorn
      5. Conclusion
    7. Chapter 13 Platform Tools and Profiles

      1. Command-Line Tools
      2. VisualVM
      3. Java 8 Profiles
      4. Conclusion