Reader small image

You're reading from  Mastering the Java Virtual Machine

Product typeBook
Published inFeb 2024
PublisherPackt
ISBN-139781835467961
Edition1st Edition
Right arrow
Author (1)
Otavio Santana
Otavio Santana
author image
Otavio Santana

Otavio is a passionate architect and software engineer focused on cloud and Java technologies. He has deep expertise in polyglot persistence and high-performance applications in finance, social media, and e-commerce. As a global speaker, he has presented at the most significant international conferences, such as JavaOne, TDC, and Devoxx. He volunteers and helps organize several Java User Groups and meetups around the globe. Otavio is recognized for his Open Source contributions and has received many awards, including all JCP Awards categories and the Duke's Choice Award, to name a few. Otavio is also a distinguished member of the Java Champions and Oracle ACE programs. Otavio loves history, economy, traveling, programming, and real-world languages. He speaks Portuguese, English, Spanish, Italian, and French and is fluent in dad jokes.
Read more about Otavio Santana

Right arrow

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 page is locked
Previous PageNext Page
You have been reading a chapter from
Mastering the Java Virtual Machine
Published in: Feb 2024Publisher: PacktISBN-13: 9781835467961

Author (1)

author image
Otavio Santana

Otavio is a passionate architect and software engineer focused on cloud and Java technologies. He has deep expertise in polyglot persistence and high-performance applications in finance, social media, and e-commerce. As a global speaker, he has presented at the most significant international conferences, such as JavaOne, TDC, and Devoxx. He volunteers and helps organize several Java User Groups and meetups around the globe. Otavio is recognized for his Open Source contributions and has received many awards, including all JCP Awards categories and the Duke's Choice Award, to name a few. Otavio is also a distinguished member of the Java Champions and Oracle ACE programs. Otavio loves history, economy, traveling, programming, and real-world languages. He speaks Portuguese, English, Spanish, Italian, and French and is fluent in dad jokes.
Read more about Otavio Santana