A Comprehensive Introduction to Java Virtual Machine (JVM)
Understand JVM internals like Class Loading, Reflection, Garbage Collection, Heap & Stack and Bytecode Instruction Set!
Promo video explaining what the course offers and on the importance of understanding how JVM works.
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.
Introduction ~ A Brief History of Java & JVM
FREE PREVIEWJava Virtual Machine ~ A High-level Overview
Lifetime of a Type: Motivation
An Overview of Lifetime of a Type
Class Loading
Linking
Demo: Lifetime of a Type
Quiz: Lifetime of a Type
Important Q&A Discussions!
Introduction to Reflection
Accessing Class Object
Demo: Reflection
Coding Exercise: Simulate a Basic Unit Testing Framework ~ Putting reflection into action!
Runtime Data Areas of JVM
Method Area & Heap
Method Table
Garbage Collection: Introduction
JVM's Garbage Collection Algorithms
Important Questions on GC Algorithm (+)
GC: Generational Collections
Demo: Tuning JVM Heap & Analyzing GC Cycles
Eliminate Obsolete Object References (aka Memory Leaks)*
Stack Frame
Stack
Instruction Set: invokespecial & invokevirtual + Demo
Chapter 4 Quiz
String Pool & Interning + Demo
Beware of String Concatenation
Chapter 5 Quiz
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.