Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Mastering the Java Virtual Machine

You're reading from  Mastering the Java Virtual Machine

Product type Book
Published in Feb 2024
Publisher Packt
ISBN-13 9781835467961
Pages 234 pages
Edition 1st Edition
Languages
Author (1):
Otavio Santana Otavio Santana
Profile icon Otavio Santana

Table of Contents (19) Chapters

Preface 1. Part 1: Understanding the JVM
2. Chapter 1: Introduction to the Java Virtual Machine 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

What this book covers

Mastering the Java Virtual Machine is a comprehensive guide designed to deepen your understanding of the Java Virtual Machine (JVM) and empower you to optimize Java application performance. Whether you’re a seasoned Java developer seeking to enhance your skills or a novice looking to delve into the intricacies of JVM internals, this book is crafted to provide valuable insights and practical knowledge to elevate your Java development journey. Through detailed explanations, real-world examples, and hands-on exercises, you’ll embark on a trip to master the inner workings of the JVM and explore advanced Java topics that will enrich your expertise in Java programming.

Chapter 1, Introduction to the Java Virtual Machine, offers a foundational overview of the JVM, elucidating its pivotal role in executing Java applications. You’ll gain insights into the fundamental architecture of the JVM, exploring its key components and their functions in Java code execution.

Chapter 2, Class File Structure, delves into the structure of Java class files, understanding bytecode representation, constant pools, and the processes of class loading and verification within the JVM.

Chapter 3, Understanding Bytecodes, explores the bytecode instructions the JVM uses, enabling you to comprehend the low-level execution of Java applications and analyze bytecode instructions effectively.

Chapter 4, Execution Engine, dives into the JVM’s execution engine, where you’ll learn how bytecode is interpreted and optimized through just-in-time compilation (JIT), enhancing your ability to fine-tune performance in Java applications.

Chapter 5, Memory Management, explores memory management concepts in the JVM, covering essential topics such as heap and stack management, garbage collection fundamentals, and memory allocation strategies for optimizing Java application memory usage.

Chapter 6, Garbage Collection and Memory Profiling, gains in-depth knowledge of garbage collection algorithms and memory profiling techniques employed by the JVM, equipping you with skills to optimize memory usage and identify performance bottlenecks effectively.

Chapter 7, GraalVM, embarks on exploring GraalVM, an innovative alternative JVM, and understands its unique features and potential use cases compared to traditional JVM implementations.

Chapter 8, JVM Ecosystem and Alternative JVMs, explores the broader JVM ecosystem, including alternative JVM implementations like OpenJ9 and GraalVM, and understand their distinctions and applications in Java development.

Chapter 9, Java Framework Principles, delves into the principles underlying the design of Java frameworks, offering insights into trade-offs, metadata usage, and annotation principles for effective framework design and utilization.

Chapter 10, Reflection, gains a comprehensive understanding of the reflection API in Java, exploring its capabilities for dynamic behavior, field access, method invocation, and proxy usage in Java applications.

Chapter 11, Java Annotation Processor, explores using Java Annotation Processors to read metadata at build time and generate code dynamically, enhancing your ability to streamline development tasks and improve code quality.

Chapter 12: Final Considerations explores the evolving landscape of Java development, discussing emerging trends and technologies such as Reactive Programming with Java. You’ll grasp the fundamental principles of Reactive Programming, understand its role in designing responsive and scalable applications, and discover the usage of libraries like Reactor and RxJava for implementing reactive patterns. This chapter is a gateway to future exploration and growth in your Java development journey.

lock icon The rest of the chapter is locked
Next Chapter arrow right
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 AU $19.99/month. Cancel anytime}