Java Programming

  1. Java Virtual Machine (JVM) Internals
    1. JVM Architecture
      1. Overview of JVM Components
        1. Classloader Subsystem
          1. Loading Classes
            1. Delegation Model
              1. Bootstrap Classloader
                1. Extension Classloader
                  1. Application Classloader
                  2. Runtime Data Areas
                    1. Method Area
                      1. Heap
                        1. Young Generation
                          1. Old Generation
                          2. Java Stack
                            1. Program Counter (PC) Register
                              1. Native Method Stack
                              2. Execution Engine
                                1. Interpreter
                                  1. Just-In-Time (JIT) Compiler
                                    1. Garbage Collector Interface
                                  2. Garbage Collection
                                    1. Purpose and Process
                                      1. Generational Garbage Collection
                                        1. Young Generation
                                          1. Old Generation
                                            1. Permanent Generation and Metaspace
                                            2. Common GC Algorithms
                                              1. Mark-and-Sweep
                                                1. Mark-and-Compact
                                                  1. Copying
                                                    1. Generational GC
                                                    2. Garbage Collectors
                                                      1. Serial GC
                                                        1. Parallel GC
                                                          1. CMS (Concurrent Mark Sweep)
                                                            1. G1 (Garbage First)
                                                              1. ZGC
                                                                1. Shenandoah
                                                                2. Tuning and Monitoring GC
                                                                  1. GC Parameters
                                                                    1. GC Logs
                                                                      1. Monitoring Tools
                                                                    2. Class Loading and Reflection
                                                                      1. The Class Object
                                                                        1. The Reflection API
                                                                          1. Inspecting Classes
                                                                            1. Inspecting Methods
                                                                              1. Inspecting Fields
                                                                                1. Dynamic Instantiation
                                                                                  1. Invoking Methods Dynamically
                                                                                  2. Annotations and Reflection
                                                                                    1. Built-in Annotations
                                                                                      1. Custom Annotations
                                                                                        1. Processing Annotations