Optimizing Java. Practical Techniques for Improving JVM Application Performance
- Autorzy: :
- Benjamin J Evans, James Gough, Chris Newland
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 440
- Dostępne formaty:
-
ePubMobi
Opis ebooka: Optimizing Java. Practical Techniques for Improving JVM Application Performance
Performance tuning is an experimental science, but that doesn’t mean engineers should resort to guesswork and folklore to get the job done. Yet that’s often the case. With this practical book, intermediate to advanced Java technologists working with complex technology stacks will learn how to tune Java applications for performance using a quantitative, verifiable approach.
Most resources on performance tend to discuss the theory and internals of Java virtual machines, but this book focuses on the practicalities of performance tuning by examining a wide range of aspects. There are no simple recipes, tips and tricks, or algorithms to learn. Performance tuning is a process of defining and determining desired outcomes. And it requires diligence.
- Learn how Java principles and technology make the best use of modern hardware and operating systems
- Explore several performance tests and common anti-patterns that can vex your team
- Understand the pitfalls of measuring Java performance numbers and the drawbacks of microbenchmarking
- Dive into JVM garbage collection logging, monitoring, tuning, and tools
- Explore JIT compilation and Java language performance techniques
- Learn performance aspects of the Java Collections API and get an overview of Java concurrency
Wybrane bestsellery
-
This guide helps you master DynamoDB, the serverless NoSQL database built for high performance at any scale. Authored by AWS experts, it covers core features, data modeling, and advanced topics, enabling you to build state-of-the-art applications.
-
Build advanced concurrent and parallel processing skills for cloud-native Java applications. From essential concepts and practical implementations to emerging trends, this book equips you with skills to build scalable, high-performance solutions in today's dynamic tech landscape.
-
Building modern applications with Java KEY FEATURES ? Recap your understanding of fundamental Java programming, including new features of Java 21. ? Explore how to use Java to interact with relational and NoSQL databases. ? Learn how to build full-stack web applications with Java. DESCRIPTION ...(97.41 zł najniższa cena z 30 dni)
97.21 zł
109.00 zł(-11%) -
Książka Aplikacje Mobilne dla studenta i technika programisty to jest przeznaczona dla każdego kto chce zapoznać się z tematem tworzenia aplikacji mobilnych dla systemu Android. W pierwszej części książki czytelnik zapoznaje się z tajnikami Języka Java. Dogłębnie zapoznaje się z tematyką: pro...(48.10 zł najniższa cena z 30 dni)
48.24 zł
74.00 zł(-35%) -
This course offers an in-depth introduction to Java and algorithmic thinking, ideal for beginners. Starting with fundamental computer concepts, it progresses through Java programming basics, & algorithmic principles, concluding with file management.
-
Książka Java. Teoria w praktyce została pomyślana tak, by krok po kroku przybliżać specyfikę tego języka programowania. Zaczniesz od podstaw - poznasz między innymi główne założenia, zgodnie z którymi działa Java: maszynę wirtualną, zmienne, operatory, instrukcje sterujące i tablice - by następni...(65.40 zł najniższa cena z 30 dni)
76.30 zł
109.00 zł(-30%) -
Architect robust solutions like a pro with real-world insights and cutting-edge design techniques. Delve into advanced analytics, machine learning, generative AI, cloud-native architecture, and the key soft skills to excel as a solutions architect.
Solutions Architect's Handbook. Kick-start your career with architecture design principles, strategies, and generative AI techniques - Third Edition
Saurabh Shrivastava, Neelanjali Srivastav, Rajesh Sheth, Kamal Arora, Rohan Karmarkar
-
To dziewiąte wydanie znakomitego podręcznika programowania dla początkujących, starannie zaktualizowane i uzupełnione o informacje dotyczące Java Platform, Standard Edition 17. Książka rozpoczyna się od solidnej dawki wiedzy o kompilacji i uruchamianiu programu w Javie, słowach kluczowych i istot...(77.40 zł najniższa cena z 30 dni)
90.30 zł
129.00 zł(-30%) -
Dzięki tej książce zrozumiesz bazowe koncepcje programowania funkcyjnego i przekonasz się, że możesz włączać je do kodu bez rezygnacji z paradygmatu obiektowego. Dowiesz się również, kiedy w swojej codziennej pracy używać takich opcji jak niemutowalność i funkcje czyste i dlaczego warto to robić....(52.20 zł najniższa cena z 30 dni)
60.90 zł
87.00 zł(-30%) -
Build Your Own Programming Language provides a hands-on approach to designing and implementing programming language features in a simple compiler and programming environment. This book will help you create new or domain-specific languages.
O autorach ebooka
Benjamin J. Evans — Java Champion, JavaOne Rockstar, współzałożyciel firmy jClarity, specjalista w zakresie oceny wydajności dla zespołów programistycznych i operacyjnych, prelegent zajmujący się tematyką platformy Java, wydajności i współbieżności.
James Gough jest mistrzem Javy i architektem API. Był członkiem Java Community Process Executive Committee i rozwijał implementację OpenJDK.
Benjamin J Evans, James Gough, Chris Newland - pozostałe książki
-
This updated edition of the Nutshell guide not only helps experienced Java programmers get the most out of versions through Java 17, it also serves as a learning path for new developers. Chock-full of examples that demonstrate how to take complete advantage of modern Java APIs and development bes...(177.80 zł najniższa cena z 30 dni)
177.75 zł
229.00 zł(-22%) -
Najnowsze wydanie książki Java. Almanach ma za zadanie przede wszystkim pomóc doświadczonym programistom maksymalnie wykorzystać technologie Java 7 i Java 8, chociaż może też posłużyć jako podręcznik do nauki programowania dla początkujących programistów. Pierwsza część zawiera zwięzłe wprowadzen...(29.49 zł najniższa cena z 30 dni)
29.49 zł
59.00 zł(-50%) -
Ten przewodnik, który docenią programiści i architekci, zawiera wyczerpujące omówienie zagadnień projektowania, funkcjonowania i modyfikowania architektury API. Od strony praktycznej przedstawia strategie budowania i testowania API REST umożliwiającego połączenie oferowanej funkcjonalności na poz...(41.40 zł najniższa cena z 30 dni)
48.30 zł
69.00 zł(-30%) -
Most organizations with a web presence build and operate APIs; the doorway for customers to interact with the company's services. Designing, building, and managing these critical programs affect everyone in the organization, from engineers and product owners to C-suite executives. But the real ch...(152.94 zł najniższa cena z 30 dni)
152.44 zł
209.00 zł(-27%)
Ebooka "Optimizing Java. Practical Techniques for Improving JVM Application Performance" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Optimizing Java. Practical Techniques for Improving JVM Application Performance" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Optimizing Java. Practical Techniques for Improving JVM Application Performance" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-14-920-3927-3, 9781492039273
- Data wydania ebooka:
- 2018-04-17 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 17.9MB
- Rozmiar pliku Mobi:
- 50.1MB
Spis treści ebooka
- Foreword
- Preface
- Conventions Used in This Book
- Using Code Examples
- OReilly Safari
- How to Contact Us
- Acknowledgments
- 1. Optimization and Performance Defined
- Java PerformanceThe Wrong Way
- Java Performance Overview
- Performance as an Experimental Science
- A Taxonomy for Performance
- Throughput
- Latency
- Capacity
- Utilization
- Efficiency
- Scalability
- Degradation
- Connections Between the Observables
- Reading Performance Graphs
- Summary
- 2. Overview of the JVM
- Interpreting and Classloading
- Executing Bytecode
- Introducing HotSpot
- Introducing Just-in-Time Compilation
- JVM Memory Management
- Threading and the Java Memory Model
- Meet the JVMs
- A Note on Licenses
- Monitoring and Tooling for the JVM
- VisualVM
- Summary
- 3. Hardware and Operating Systems
- Introduction to Modern Hardware
- Memory
- Memory Caches
- Modern Processor Features
- Translation Lookaside Buffer
- Branch Prediction and Speculative Execution
- Hardware Memory Models
- Operating Systems
- The Scheduler
- A Question of Time
- Context Switches
- A Simple System Model
- Basic Detection Strategies
- Utilizing the CPU
- Garbage Collection
- I/O
- Kernel bypass I/O
- Mechanical Sympathy
- Virtualization
- The JVM and the Operating System
- Summary
- 4. Performance Testing Patterns and Antipatterns
- Types of Performance Test
- Latency Test
- Throughput Test
- Load Test
- Stress Test
- Endurance Test
- Capacity Planning Test
- Degradation Test
- Types of Performance Test
- Best Practices Primer
- Top-Down Performance
- Creating a Test Environment
- Identifying Performance Requirements
- Java-Specific Issues
- Performance Testing as Part of the SDLC
- Introducing Performance Antipatterns
- Boredom
- Résumé Padding
- Peer Pressure
- Lack of Understanding
- Misunderstood/Nonexistent Problem
- Performance Antipatterns Catalogue
- Distracted by Shiny
- Description
- Example comment
- Reality
- Discussion
- Resolutions
- Distracted by Shiny
- Distracted by Simple
- Description
- Example comments
- Reality
- Discussion
- Resolutions
- Performance Tuning Wizard
- Description
- Example comment
- Reality
- Discussion
- Resolutions
- Tuning by Folklore
- Description
- Example comment
- Reality
- Discussion
- Resolutions
- The Blame Donkey
- Description
- Example comment
- Reality
- Discussion
- Resolutions
- Missing the Bigger Picture
- Description
- Example comments
- Reality
- Discussion
- Resolutions
- UAT Is My Desktop
- Description
- Example Comment
- Reality
- Discussion
- Resolutions
- Production-Like Data Is Hard
- Description
- Example comments
- Reality
- Discussion
- Resolutions
- Cognitive Biases and Performance Testing
- Reductionist Thinking
- Confirmation Bias
- Fog of War (Action Bias)
- Risk Bias
- Ellsbergs Paradox
- Summary
- 5. Microbenchmarking and Statistics
- Introduction to Measuring Java Performance
- Introduction to JMH
- Dont Microbenchmark If You Can Help It (A True Story)
- Heuristics for When to Microbenchmark
- The JMH Framework
- Executing Benchmarks
- Statistics for JVM Performance
- Types of Error
- Systematic error
- Random error
- Spurious correlation
- Types of Error
- Non-Normal Statistics
- Interpretation of Statistics
- Summary
- 6. Understanding Garbage Collection
- Introducing Mark and Sweep
- Garbage Collection Glossary
- Introducing Mark and Sweep
- Introducing the HotSpot Runtime
- Representing Objects at Runtime
- GC Roots and Arenas
- Allocation and Lifetime
- Weak Generational Hypothesis
- Garbage Collection in HotSpot
- Thread-Local Allocation
- Hemispheric Collection
- The Parallel Collectors
- Young Parallel Collections
- Old Parallel Collections
- Limitations of Parallel Collectors
- The Role of Allocation
- Summary
- 7. Advanced Garbage Collection
- Tradeoffs and Pluggable Collectors
- Concurrent GC Theory
- JVM Safepoints
- Tri-Color Marking
- CMS
- How CMS Works
- Basic JVM Flags for CMS
- G1
- G1 Heap Layout and Regions
- G1 Algorithm Design
- G1 Phases
- Basic JVM Flags for G1
- Shenandoah
- Concurrent Compaction
- Obtaining Shenandoah
- C4 (Azul Zing)
- The Loaded Value Barrier
- Balanced (IBM J9)
- J9 Object Headers
- Large Arrays in Balanced
- NUMA and Balanced
- Legacy HotSpot Collectors
- Serial and SerialOld
- Incremental CMS (iCMS)
- Deprecated and Removed GC Combinations
- Epsilon
- Summary
- 8. GC Logging, Monitoring, Tuning, and Tools
- Introduction to GC Logging
- Switching On GC Logging
- GC Logs Versus JMX
- Drawbacks of JMX
- Benefits of GC Log Data
- Introduction to GC Logging
- Log Parsing Tools
- Censum
- GCViewer
- Different Visualizations of the Same Data
- Basic GC Tuning
- Understanding Allocation
- Understanding Pause Time
- Collector Threads and GC Roots
- Tuning Parallel GC
- Tuning CMS
- Concurrent Mode Failures Due to Fragmentation
- Tuning G1
- jHiccup
- Summary
- 9. Code Execution on the JVM
- Overview of Bytecode Interpretation
- Introduction to JVM Bytecode
- Simple Interpreters
- HotSpot-Specific Details
- Overview of Bytecode Interpretation
- AOT and JIT Compilation
- AOT Compilation
- JIT Compilation
- Comparing AOT and JIT Compilation
- HotSpot JIT Basics
- Klass Words, Vtables, and Pointer Swizzling
- Logging JIT Compilation
- Compilers Within HotSpot
- Tiered Compilation in HotSpot
- The Code Cache
- Fragmentation
- Simple JIT Tuning
- Summary
- 10. Understanding JIT Compilation
- Introducing JITWatch
- Basic JITWatch Views
- Debug JVMs and hsdis
- Introducing JITWatch
- Introducing JIT Compilation
- Inlining
- Inlining Limits
- Tuning the Inlining Subsystem
- Loop Unrolling
- Loop Unrolling Summary
- Escape Analysis
- Eliminating Heap Allocations
- Locks and Escape Analysis
- Limitations of Escape Analysis
- Monomorphic Dispatch
- Intrinsics
- On-Stack Replacement
- Safepoints Revisited
- Core Library Methods
- Upper Method Size Limit for Inlining
- Improve performance with a domain-specific method
- Benefits of small methods
- Upper Method Size Limit for Inlining
- Upper Method Size Limit for Compilation
- Summary
- 11. Java Language Performance Techniques
- Optimizing Collections
- Optimization Considerations for Lists
- ArrayList
- LinkedList
- ArrayList versus LinkedList
- Optimization Considerations for Maps
- HashMap
- LinkedHashMap
- HashMap
- TreeMap
- Lack of MultiMap
- Optimization Considerations for Sets
- Domain Objects
- Avoid Finalization
- War Story: Forgetting to Clean Up
- Why Not Use Finalization to Solve the Problem?
- try-with-resources
- Method Handles
- Summary
- 12. Concurrent Performance Techniques
- Introduction to Parallelism
- Fundamental Java Concurrency
- Introduction to Parallelism
- Understanding the JMM
- Building Concurrency Libraries
- Unsafe
- Atomics and CAS
- Locks and Spinlocks
- Summary of Concurrent Libraries
- Locks in java.util.concurrent
- Read/Write Locks
- Semaphores
- Concurrent Collections
- Latches and Barriers
- Executors and Task Abstraction
- Introducing Asynchronous Execution
- Selecting an ExecutorService
- Fork/Join
- Modern Java Concurrency
- Streams and Parallel Streams
- Lock-Free Techniques
- Actor-Based Techniques
- Summary
- 13. Profiling
- Introduction to Profiling
- Sampling and Safepointing Bias
- Execution Profiling Tools for Developers
- VisualVM Profiler
- JProfiler
- YourKit
- Flight Recorder and Mission Control
- Operational Tools
- Red Hat Thermostat
- New Relic
- jClarity Illuminate
- Modern Profilers
- Allocation Profiling
- Heap Dump Analysis
- hprof
- Summary
- 14. High-Performance Logging and Messaging
- Logging
- Logging Microbenchmarks
- No logging
- Logback format
- java.util.logging format
- Log4j format
- Measurements
- Logger results
- Logging Microbenchmarks
- Logging
- Designing a Lower-Impact Logger
- Low Latency Using Real Logic Libraries
- Agrona
- Buffers
- Lists, maps, and sets
- Queues
- Ring buffers
- Agrona
- Simple Binary Encoding
- Copy-free and native type mapping
- Steady-state allocation
- Streaming access and word-aligned access
- Working with SBE
- Aeron
- Why build something new?
- Publishers
- Subscribers
- The Design of Aeron
- Transport requirements
- Latency and application principles
- How it works under the hood
- Summary
- 15. Java 9 and the Future
- Small Performance Enhancements in Java 9
- Segmented Code Cache
- Compact Strings
- New String Concatenation
- C2 Compiler Improvements
- New Version of G1
- Small Performance Enhancements in Java 9
- Java 10 and Future Versions
- New Release Process
- Java 10
- Unsafe in Java 9 and Beyond
- VarHandles in Java 9
- Project Valhalla and Value Types
- Graal and Truffle
- Future Directions in Bytecode
- Future Directions in Concurrency
- Conclusion
- Index
O'Reilly Media - inne książki
-
Large language models (LLMs) and generative AI are rapidly changing the healthcare industry. These technologies have the potential to revolutionize healthcare by improving the efficiency, accuracy, and personalization of care. This practical book shows healthcare leaders, researchers, data scient...(149.89 zł najniższa cena z 30 dni)
149.84 zł
199.00 zł(-25%) -
With hundreds of tools preinstalled, the Kali Linux distribution makes it easier for security professionals to get started with security testing quickly. But with more than 600 tools in its arsenal, Kali Linux can also be overwhelming. The new edition of this practical book covers updates to the ...(162.21 zł najniższa cena z 30 dni)
162.16 zł
209.00 zł(-22%) -
Learn how to implement and manage a modern customer data platform (CDP) through the Salesforce Data Cloud platform. This practical book provides a comprehensive overview that shows architects, administrators, developers, data engineers, and marketers how to ingest, store, and manage real-time cus...(185.84 zł najniższa cena z 30 dni)
185.73 zł
249.00 zł(-25%) -
Real-time applications are becoming the norm today. But building a model that works properly requires real-time data from the source, in-flight stream processing, and low latency serving of its analytics. With this practical book, data engineers, data architects, and data analysts will learn how ...(210.20 zł najniższa cena z 30 dni)
210.15 zł
279.00 zł(-25%) -
Methods of delivering software are constantly evolving in order to increase speed to market without sacrificing reliability and stability. Mastering development end to end, from version control to production, and building production-ready code is now more important than ever. Continuous deploymen...(171.72 zł najniższa cena z 30 dni)
171.52 zł
229.00 zł(-25%) -
As the transformation to hybrid multicloud accelerates, businesses require a structured approach to securing their workloads. Adopting zero trust principles demands a systematic set of practices to deliver secure solutions. Regulated businesses, in particular, demand rigor in the architectural pr...(153.48 zł najniższa cena z 30 dni)
153.28 zł
209.00 zł(-27%) -
This concise yet comprehensive guide explains how to adopt a data lakehouse architecture to implement modern data platforms. It reviews the design considerations, challenges, and best practices for implementing a lakehouse and provides key insights into the ways that using a lakehouse can impact ...(181.63 zł najniższa cena z 30 dni)
181.58 zł
249.00 zł(-27%) -
In today's fast-paced world, more and more organizations require rapid application development with reduced development costs and increased productivity. This practical guide shows application developers how to use PowerApps, Microsoft's no-code/low-code application framework that helps developer...(150.77 zł najniższa cena z 30 dni)
150.57 zł
209.00 zł(-28%) -
Welcome to the systems age, where software professionals are no longer building software&emdash;we're building systems of software. Change is continuously deployed across software ecosystems coordinated by responsive infrastructure. In this world of increasing relational complexity, we need t...(141.04 zł najniższa cena z 30 dni)
140.94 zł
209.00 zł(-33%) -
This book provides an ideal guide for Python developers who want to learn how to build applications with large language models. Authors Olivier Caelen and Marie-Alice Blete cover the main features and benefits of GPT-4 and GPT-3.5 models and explain how they work. You'll also get a step-by-step g...(143.33 zł najniższa cena z 30 dni)
142.83 zł
209.00 zł(-32%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Optimizing Java. Practical Techniques for Improving JVM Application Performance Benjamin J Evans, James Gough, Chris Newland (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.