ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب JVM Performance Engineering: Inside OpenJDK and the HotSpot Java Virtual Machine

دانلود کتاب مهندسی عملکرد JVM: داخل OpenJDK و ماشین مجازی جاوا HotSpot

JVM Performance Engineering: Inside OpenJDK and the HotSpot Java Virtual Machine

مشخصات کتاب

JVM Performance Engineering: Inside OpenJDK and the HotSpot Java Virtual Machine

ویرایش: [1 ed.] 
نویسندگان:   
سری: Developer's Library 
ISBN (شابک) : 0134659872, 9780134659879 
ناشر: Addison-Wesley Professional 
سال نشر: 2024 
تعداد صفحات: 400
[397] 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 53 Mb 

قیمت کتاب (تومان) : 42,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 8


در صورت تبدیل فایل کتاب JVM Performance Engineering: Inside OpenJDK and the HotSpot Java Virtual Machine به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب مهندسی عملکرد JVM: داخل OpenJDK و ماشین مجازی جاوا HotSpot نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی درمورد کتاب به خارجی



فهرست مطالب

Cover
Half Title
Title Page
Copyright Page
Contents
Preface
Acknowledgments
About the Author
1 The Performance Evolution of Java: The Language and the Virtual Machine
	A New Ecosystem Is Born
	A Few Pages from History
	Understanding Java HotSpot VM and Its Compilation Strategies
		The Evolution of the HotSpot Execution Engine
		Interpreter and JIT Compilation
		Print Compilation
		Tiered Compilation
		Client and Server Compilers
		Segmented Code Cache
		Adaptive Optimization and Deoptimization
	HotSpot Garbage Collector: Memory Management Unit
		Generational Garbage Collection, Stop-the-World, and Concurrent Algorithms
		Young Collections and Weak Generational Hypothesis
		Old-Generation Collection and Reclamation Triggers
		Parallel GC Threads, Concurrent GC Threads, and Their Configuration
	The Evolution of the Java Programming Language and Its Ecosystem: A Closer Look
		Java 1.1 to Java 1.4.2 (J2SE 1.4.2)
		Java 5 (J2SE 5.0)
		Java 6 (Java SE 6)
		Java 7 (Java SE 7)
		Java 8 (Java SE 8)
		Java 9 (Java SE 9) to Java 16 (Java SE 16)
		Java 17 (Java SE 17)
	Embracing Evolution for Enhanced Performance
2 Performance Implications of Java’s Type System Evolution
	Java’s Primitive Types and Literals Prior to J2SE 5.0
	Java’s Reference Types Prior to J2SE 5.0
		Java Interface Types
		Java Class Types
		Java Array Types
	Java’s Type System Evolution from J2SE 5.0 until Java SE 8
		Enumerations
		Annotations
		Other Noteworthy Enhancements (Java SE 8)
	Java’s Type System Evolution: Java 9 and Java 10
		Variable Handle Typed Reference
	Java’s Type System Evolution: Java 11 to Java 17
		Switch Expressions
		Sealed Classes
		Records
	Beyond Java 17: Project Valhalla
		Performance Implications of the Current Type System
		The Emergence of Value Classes: Implications for Memory Management
		Redefining Generics with Primitive Support
		Exploring the Current State of Project Valhalla
		Early Access Release: Advancing Project Valhalla’s Concepts
		Use Case Scenarios: Bringing Theory to Practice
		A Comparative Glance at Other Languages
	Conclusion
3 From Monolithic to Modular Java: A Retrospective and Ongoing Evolution
	Introduction
	Understanding the Java Platform Module System
		Demystifying Modules
		Modules Example
		Compilation and Run Details
		Introducing a New Module
	From Monolithic to Modular: The Evolution of the JDK
	Continuing the Evolution: Modular JDK in JDK 11 and Beyond
	Implementing Modular Services with JDK 17
		Service Provider
		Service Consumer
		A Working Example
		Implementation Details
	JAR Hell Versioning Problem and Jigsaw Layers
		Working Example: JAR Hell
		Implementation Details
	Open Services Gateway Initiative
		OSGi Overview
		Similarities
		Differences
	Introduction to Jdeps, Jlink, Jdeprscan, and Jmod
		Jdeps
		Jdeprscan
		Jmod
		Jlink
	Conclusion
		Performance Implications
		Tools and Future Developments
		Embracing the Modular Programming Paradigm
4 The Unified Java Virtual Machine Logging Interface
	The Need for Unified Logging
	Unification and Infrastructure
		Performance Metrics
	Tags in the Unified Logging System
		Log Tags
		Specific Tags
		Identifying Missing Information
	Diving into Levels, Outputs, and Decorators
		Levels
		Decorators
		Outputs
	Practical Examples of Using the Unified Logging System
		Benchmarking and Performance Testing
		Tools and Techniques
	Optimizing and Managing the Unified Logging System
	Asynchronous Logging and the Unified Logging System
		Benefits of Asynchronous Logging
		Implementing Asynchronous Logging in Java
		Best Practices and Considerations
	Understanding the Enhancements in JDK 11 and JDK 17
		JDK 11
		JDK 17
	Conclusion
5 End-to-End Java Performance Optimization: Engineering Techniques and Micro-benchmarking with JMH
	Introduction
	Performance Engineering: A Central Pillar of Software Engineering
		Decoding the Layers of Software Engineering
		Performance: A Key Quality Attribute
		Understanding and Evaluating Performance
		Defining Quality of Service
		Success Criteria for Performance Requirements
	Metrics for Measuring Java Performance
		Footprint
		Responsiveness
		Throughput
		Availability
		Digging Deeper into Response Time and Availability
		The Mechanics of Response Time with an Application Timeline
	The Role of Hardware in Performance
		Decoding Hardware–Software Dynamics
		Performance Symphony: Languages, Processors, and Memory Models
		Enhancing Performance: Optimizing the Harmony
		Memory Models: Deciphering Thread Dynamics and Performance Impacts
		Concurrent Hardware: Navigating the Labyrinth
		Order Mechanisms in Concurrent Computing: Barriers, Fences, and Volatiles
		Atomicity in Depth: Java Memory Model and Happens-Before Relationship
		Concurrent Memory Access and Coherency in Multiprocessor Systems
		NUMA Deep Dive: My Experiences at AMD, Sun Microsystems, and Arm
		Bridging Theory and Practice: Concurrency, Libraries, and Advanced Tooling
	Performance Engineering Methodology: A Dynamic and Detailed Approach
		Experimental Design
		Bottom-Up Methodology
		Top-Down Methodology
		Building a Statement of Work
		The Performance Engineering Process: A Top-Down Approach
		Building on the Statement of Work: Subsystems Under Investigation
		Key Takeaways
	The Importance of Performance Benchmarking
		Key Performance Metrics
		The Performance Benchmark Regime: From Planning to Analysis
		Benchmarking JVM Memory Management: A Comprehensive Guide
		Why Do We Need a Benchmarking Harness?
		The Role of the Java Micro-Benchmark Suite in Performance Optimization
		Getting Started with Maven
		Writing, Building, and Running Your First Micro-benchmark in JMH
		Benchmark Phases: Warm-Up and Measurement
		Loop Optimizations and @OperationsPerInvocation
		Benchmarking Modes in JMH
		Understanding the Profilers in JMH
		Key Annotations in JMH
		JVM Benchmarking with JMH
		Profiling JMH Benchmarks with perfasm
	Conclusion
6 Advanced Memory Management and Garbage Collection in OpenJDK
	Introduction
	Overview of Garbage Collection in Java
	Thread-Local Allocation Buffers and Promotion-Local Allocation Buffers
	Optimizing Memory Access with NUMA-Aware Garbage Collection
	Exploring Garbage Collection Improvements
		G1 Garbage Collector: A Deep Dive into Advanced Heap Management
		Advantages of the Regionalized Heap
		Optimizing G1 Parameters for Peak Performance
		Z Garbage Collector: A Scalable, Low-Latency GC for Multi-terabyte Heaps
	Future Trends in Garbage Collection
	Practical Tips for Evaluating GC Performance
	Evaluating GC Performance in Various Workloads
		Types of Transactional Workloads
		Synthesis
	Live Data Set Pressure
		Understanding Data Lifespan Patterns
		Impact on Different GC Algorithms
		Optimizing Memory Management
7 Runtime Performance Optimizations: A Focus on Strings, Locks, and Beyond
	Introduction
	String Optimizations
		Literal and Interned String Optimization in HotSpot VM
		String Deduplication Optimization and G1 GC
		Reducing Strings’ Footprint
	Enhanced Multithreading Performance: Java Thread Synchronization
		The Role of Monitor Locks
		Lock Types in OpenJDK HotSpot VM
		Code Example and Analysis
		Advancements in Java’s Locking Mechanisms
		Optimizing Contention: Enhancements since Java 9
		Visualizing Contended Lock Optimization: A Performance Engineering Exercise
		Synthesizing Contended Lock Optimization: A Reflection
		Spin-Wait Hints: An Indirect Locking Improvement
	Transitioning from the Thread-per-Task Model to More Scalable Models
		Traditional One-to-One Thread Mapping
		Increasing Scalability with the Thread-per-Request Model
		Reimagining Concurrency with Virtual Threads
	Conclusion
8 Accelerating Time to Steady State with OpenJDK HotSpot VM
	Introduction
	JVM Start-up and Warm-up Optimization Techniques
	Decoding Time to Steady State in Java Applications
		Ready, Set, Start up!
		Phases of JVM Start-up
		Reaching the Application’s Steady State
		An Application’s Life Cycle
	Managing State at Start-up and Ramp-up
		State During Start-up
		Transition to Ramp-up and Steady State
		Benefits of Efficient State Management
		Class Data Sharing
		Ahead-of-Time Compilation
	GraalVM: Revolutionizing Java’s Time to Steady State
	Emerging Technologies: CRIU and Project CRaC for Checkpoint/Restore Functionality
	Start-up and Ramp-up Optimization in Serverless and Other Environments
		Serverless Computing and JVM Optimization
		Containerized Environments: Ensuring Swift Start-ups and Efficient Scaling
		GraalVM’s Present-Day Contributions
		Key Takeaways
	Boosting Warm-up Performance with OpenJDK HotSpot VM
		Compiler Enhancements
		Segmented Code Cache and Project Leyden Enhancements
		The Evolution from PermGen to Metaspace: A Leap Forward Toward Peak Performance
	Conclusion
9 Harnessing Exotic Hardware: The Future of JVM Performance Engineering
	Introduction to Exotic Hardware and the JVM
	Exotic Hardware in the Cloud
		Hardware Heterogeneity
		API Compatibility and Hypervisor Constraints
		Performance Trade-offs
		Resource Contention
		Cloud-Specific Limitations
	The Role of Language Design and Toolchains
	Case Studies
		LWJGL: A Baseline Example
		Aparapi: Bridging Java and OpenCL
		Project Sumatra: A Significant Effort
		TornadoVM: A Specialized JVM for Hardware Accelerators
		Project Panama: A New Horizon
	Envisioning the Future of JVM and Project Panama
		High-Level JVM-Language APIs and Native Libraries
		Vector API and Vectorized Data Processing Systems
		Accelerator Descriptors for Data Access, Caching, and Formatting
		The Future Is Already Knocking at the Door!
	Concluding Thoughts: The Future of JVM Performance Engineering
Index
	A
	B
	C
	D
	E
	F
	G
	H
	I
	J
	K
	L
	M
	N
	O
	P
	Q
	R
	S
	T
	U
	V
	X
	Y
	Z




نظرات کاربران