4+ Hours Video, Lifetime Access
2K+ Students
100K+ Minutes Watched


Haven't found a course that dives this deep and granular until now.

Rich S.

Course Highlights

  • Learn JVM Internals

    Get a clear understanding of concepts like class loading, reflection and the different memory areas in JVM.

  • Memory Management

    Get solid understanding of Garbage Collection and its Algorithms.

  • Lifetime Access

    Self-paced course with 4+ hours of high-quality video lectures. Get in-depth personalized responses within 24 hours for all your queries.

Understanding JVM Internals

Promo video explaining what the course offers and on the importance of understanding how JVM works.

Yes! Sign me Up

 

Course Overview

To be a complete Java engineer, apart from having a strong background in Java & design patterns, it is also important to have a good understanding of the internal workings of JVM. Towards this end, this course is about helping you gain a solid understanding of how JVM works. With 4 hours of high quality video lectures, the course is self-paced with 24x7 life-time access. The course content is being actively used at companies like Intel, Cognizant, and TCS.

The course starts off by discussing about why JVM (and Java) were created and then discuss JVM and its architecture at a high-level. We next learn about Lifetime of a Type where concepts like Class Loading & Linking (Bytecode Verification) are discussed in detail. Everything is demonstrated in code. We next discuss Reflection API. We finally look at the different memory areas (runtime data areas) that JVM deals with where we will learn about things like method area, heap, method table, garbage collection, and stacks. We will see how we can tune the heap size and how that impacts garbage collection process. We will also look at some of the Java bytecode instructions. To learn about them, we disassemble a .class file and inspect the bytecode instructions. 

Course curriculum

    1. Introduction ~ A Brief History of Java & JVM

      FREE PREVIEW
    2. Java Virtual Machine ~ A High-level Overview

    1. Lifetime of a Type: Motivation

    2. An Overview of Lifetime of a Type

    3. Class Loading

    4. Linking

    5. Demo: Lifetime of a Type

    6. Quiz: Lifetime of a Type

    7. Important Q&A Discussions!

    1. Introduction to Reflection

    2. Accessing Class Object

    3. Demo: Reflection

    4. Coding Exercise: Simulate a Basic Unit Testing Framework ~ Putting reflection into action!

    1. Runtime Data Areas of JVM

    2. Method Area & Heap

    3. Method Table

    4. Garbage Collection: Introduction

    5. JVM's Garbage Collection Algorithms

    6. Important Questions on GC Algorithm (+)

    7. GC: Generational Collections

    8. Demo: Tuning JVM Heap & Analyzing GC Cycles

    9. Eliminate Obsolete Object References (aka Memory Leaks)*

    10. Stack Frame

    11. Stack

    12. Instruction Set: invokespecial & invokevirtual + Demo

    13. Chapter 4 Quiz

    1. String Pool & Interning + Demo

    2. Beware of String Concatenation

    3. Chapter 5 Quiz

About this course

  • ₹600.00
  • 32 lessons
  • 4 hours of video content
  • Self-paced, lifetime access
The Instructor is highly competent. He is a world-class instructor ... Taking this course will definitely give you a tremendous appreciation for this great language.
Carrel d'Haiti
MEET YOUR INSTRUCTOR

Dheeru Mundluru is the instructor for this program. A passionate software engineer & educator, Dheeru has around 15 years of experience developing innovative software for start-ups in Silicon Valley and elsewhere. He holds a Ph.D. in Computer Science from University of Louisiana at Lafayette (USA). He is an experienced online instructor with over half-a-dozen years of teaching experience with over 100k students globally. He has also been rated as one of the top instructors on Udemy. His engineering expertise includes developing complex Web data integration & mining software with Java as the main programming tool. Coming from start-up world, he also has extensive end-to-end experience in developing Web applications using technologies such as Spring, Hibernate, MySQL, and Solr.

Writing well-crafted code that follows the best design practices is of utmost importance to him. He brings the same level of passion and completeness to his teaching.

What our students are saying

Absolutely Informative!

Grace M.

This course has been absolutely informative! thank you so much for the great effort in the details! I would definitely recommend this course!!
Frequently Asked Questions
Basic understanding of Core Java is needed. If you are completely new to Java, you can check out our comprehensive Java In-Depth course or the Core Java course.
You can start & finish it anytime.
No. We recommend taking notes as you progress through the lectures. However, all programs demonstrated in the course are downloadable.
Yes. As explained in promo video and course overview, to be a truly complete engineer, it is important to have a good understanding of the JVM internals. So, as a Java developer if you are not familiar with JVM internals, then you should consider enrolling in the course.
No. To ensure course is right fit, please review the preview videos, course description and curriculum carefully.

Discover your potential, starting today