Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mastering the Java Virtual Machine

You're reading from   Mastering the Java Virtual Machine An in-depth guide to JVM internals and performance optimization

Arrow left icon
Product type Paperback
Published in Feb 2024
Publisher Packt
ISBN-13 9781835467961
Length 234 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Otavio Santana Otavio Santana
Author Profile Icon Otavio Santana
Otavio Santana
Arrow right icon
View More author details
Toc

Table of Contents (19) Chapters Close

Preface 1. Part 1: Understanding the JVM
2. Chapter 1: Introduction to the Java Virtual Machine FREE CHAPTER 3. Chapter 2: Class File Structure 4. Chapter 3: Understanding Bytecodes 5. Part 2: Memory Management and Execution
6. Chapter 4: Execution Engine 7. Chapter 5: Memory Management 8. Chapter 6: Garbage Collection and Memory Profiling 9. Part 3: Alternative JVMs
10. Chapter 7: GraalVM 11. Chapter 8: The JVM Ecosystem and Alternative JVMs 12. Part 4: Advanced Java Topics
13. Chapter 9: Java Framework Principles 14. Chapter 10: Reflection 15. Chapter 11: Java Annotation Processor 16. Chapter 12: Final Considerations 17. Index 18. Other Books You May Enjoy

GC overview

In the intricate landscape of JVM internals, the GC role stands as a critical component, influencing the efficiency and reliability of Java applications. Our exploration delves into the fundamental concept of garbage collection and its pivotal role in managing memory within the JVM.

At its core, the purpose of the GC is to automatically reclaim memory occupied by objects no longer in use by the program. In languages such as Java, which employ automatic memory management, developers are spared the burden of explicitly deallocating memory, enhancing productivity and reducing the likelihood of memory-related errors.

Imagine a scenario where each dynamically allocated object had to be manually deallocated by the programmer. Not only does this introduce a considerable cognitive load, but it also opens the door to memory leaks and inefficiencies. In the absence of a GC, the responsibility of memory management falls entirely on the developer’s shoulders, increasing...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime