Tagged articles
1029 articles
Page 4 of 11
dbaplus Community
dbaplus Community
Nov 9, 2023 · Fundamentals

Mastering Java Locks: From Pessimistic to Distributed and Optimizations

This article explains the full spectrum of Java locking mechanisms—including pessimistic, optimistic, distributed, reentrant, spin, read/write, fair vs. non‑fair, JVM lock states, and optimization techniques—detailing their principles, use‑cases, SQL/Redis examples, and performance trade‑offs.

Distributed SystemsJVMLocks
0 likes · 16 min read
Mastering Java Locks: From Pessimistic to Distributed and Optimizations
dbaplus Community
dbaplus Community
Nov 8, 2023 · Backend Development

How Qunar Cut Half Its Codebase: A Practical Guide to Service and Code Slimming

This article details Qunar's systematic approach to reducing service complexity and code volume by half, covering background challenges, two‑phase planning, criteria for merging or deleting services, tooling such as Serviceability Agent for method‑level analysis, automated and semi‑automated deletion workflows, verification steps, and the measurable performance gains achieved.

BackendJVMMicroservices
0 likes · 23 min read
How Qunar Cut Half Its Codebase: A Practical Guide to Service and Code Slimming
Code Ape Tech Column
Code Ape Tech Column
Nov 8, 2023 · Backend Development

Performance Tuning of a Spring Backend Service to Reach 500 Requests per Second

The article details a step‑by‑step performance investigation and optimization of a Spring‑based ToB system, covering slow SQL, thread‑pool tuning, JVM memory adjustments, excessive logging, and bean‑creation overhead, ultimately improving throughput from 50 req/s to nearly the required 500 req/s.

JVMPerformance OptimizationThroughput
0 likes · 13 min read
Performance Tuning of a Spring Backend Service to Reach 500 Requests per Second
Su San Talks Tech
Su San Talks Tech
Nov 4, 2023 · Fundamentals

Unlock Java’s Secrets: How Bytecode Powers Cross‑Platform Execution

This article introduces Java’s bytecode fundamentals, explaining how the JVM translates compiled class files into platform‑independent instructions, the role of dynamic linking, stack frames, operand stacks, and common bytecode mnemonics, while providing code examples and visual diagrams to deepen understanding.

JVMJavadynamic linking
0 likes · 17 min read
Unlock Java’s Secrets: How Bytecode Powers Cross‑Platform Execution
Code Ape Tech Column
Code Ape Tech Column
Nov 3, 2023 · Backend Development

Diagnosing Excessive Native Memory Usage in a Spring Boot Application Using JVM Native Memory Tracking and System Tools

After migrating a project to the MDP framework based on Spring Boot, the author observed swap overuse and physical memory far exceeding the 4 GB heap; using JVM native memory tracking, gperftools, strace, pmap, and a custom allocator, they traced a native‑memory leak to Spring Boot’s ZipInflaterInputStream during JAR scanning and resolved it by limiting scan paths.

JVMJavaNative Memory
0 likes · 12 min read
Diagnosing Excessive Native Memory Usage in a Spring Boot Application Using JVM Native Memory Tracking and System Tools
Programmer DD
Programmer DD
Oct 25, 2023 · Backend Development

Why G1 Garbage Collector Beats CMS in Java 7+

The G1 Garbage Collector, introduced in Java 7 update 4, replaces CMS by using a region‑based design that minimizes pause times and improves throughput, and a detailed video with diagrams and code examples is provided to deepen understanding of its operation.

Backend DevelopmentGarbage CollectionJVM
0 likes · 2 min read
Why G1 Garbage Collector Beats CMS in Java 7+
Top Architecture Tech Stack
Top Architecture Tech Stack
Oct 16, 2023 · Fundamentals

Understanding JVM Platform Independence and Class File Structure

This article explains how the Java Virtual Machine achieves platform and language independence, details the compilation process from source code to class files, and provides an in‑depth analysis of the class file format, constant pool, bytecode instructions, access flags, and related metadata.

Constant PoolJVMJava
0 likes · 14 min read
Understanding JVM Platform Independence and Class File Structure
Selected Java Interview Questions
Selected Java Interview Questions
Oct 14, 2023 · Backend Development

Configuring and Optimizing Memory Settings in Spring Boot

This article explains Java memory concepts, demonstrates how to set JVM memory parameters for Spring Boot via startup scripts and configuration files, lists common memory flags, and provides practical tips for reducing memory consumption and improving application performance.

Backend DevelopmentConfigurationJVM
0 likes · 7 min read
Configuring and Optimizing Memory Settings in Spring Boot
DeWu Technology
DeWu Technology
Oct 11, 2023 · Fundamentals

Understanding JVM Pointer Compression and Memory Layout

The article explains how the JVM reduces memory consumption on 64‑bit systems by using compressed ordinary object pointers (compressed oops), describes pointer size, alignment and padding, shows C struct and JVM object layout examples, and demonstrates inspection tools like HSDB and XPocket for analyzing object memory footprints.

HSDBJVMJava
0 likes · 12 min read
Understanding JVM Pointer Compression and Memory Layout
Java Backend Technology
Java Backend Technology
Oct 8, 2023 · Operations

How I Traced a Sudden CPU Spike to JVM GC Issues in a Container

After receiving an alarm that a production container’s CPU usage surged past 90%, I investigated the JVM metrics, discovered excessive young and full GCs in a single pod, and walked through the detailed troubleshooting steps—including top, thread analysis, jstack, and code fixes—that resolved the issue.

CPU SpikeJVMJava
0 likes · 7 min read
How I Traced a Sudden CPU Spike to JVM GC Issues in a Container
Java Captain
Java Captain
Oct 7, 2023 · Fundamentals

Understanding the Java Virtual Machine: Architecture, Operation, and Optimization Strategies

This article provides a comprehensive overview of the Java Virtual Machine, detailing its core components such as the interpreter, class loader, and runtime, explaining its execution workflow from source code to bytecode and native code, and presenting practical optimization techniques for memory, garbage collection, and performance.

Garbage CollectionJVMJava
0 likes · 6 min read
Understanding the Java Virtual Machine: Architecture, Operation, and Optimization Strategies
Java Captain
Java Captain
Oct 7, 2023 · Fundamentals

Understanding the JVM Memory Model, Garbage Collection, and Memory Management Strategies

This article explains the Java Virtual Machine's memory architecture—including heap, method area, stack, program counter, and non‑heap memory—details common garbage‑collection algorithms such as mark‑sweep, copying, mark‑compact, and generational, and outlines Java's memory‑management practices like object lifecycle, memory partitioning, references, and synchronization.

Garbage CollectionJVMJava
0 likes · 6 min read
Understanding the JVM Memory Model, Garbage Collection, and Memory Management Strategies
Java Tech Enthusiast
Java Tech Enthusiast
Oct 2, 2023 · Backend Development

AviatorScript: High‑Performance JVM Expression Engine – Features, Usage, and Examples

AviatorScript is a lightweight, high‑performance JVM expression engine and full‑featured scripting language that supports Java‑like operators, first‑class functions, closures, high‑precision arithmetic, script syntax, modularity, sandboxing, and can compile to bytecode for fast rule‑engine, formula, and ELT use cases.

AviatorExpression EngineJVM
0 likes · 8 min read
AviatorScript: High‑Performance JVM Expression Engine – Features, Usage, and Examples
phodal
phodal
Sep 24, 2023 · Artificial Intelligence

Designing a JVM‑Based LLM Framework: Insights from Chocolate Factory

This article explores the design principles, architectural decisions, and practical code examples behind the Chocolate Factory framework, a JVM‑centric LLM development platform inspired by LangChain, LlamaIndex, Spring AI, and PromptFlow, highlighting SDK construction, RAG workflows, and prompt engineering challenges.

AI DevelopmentFrameworkJVM
0 likes · 11 min read
Designing a JVM‑Based LLM Framework: Insights from Chocolate Factory
DeWu Technology
DeWu Technology
Sep 20, 2023 · Fundamentals

Understanding ZGC: Architecture, Key Features, and Execution Cycle

ZGC, introduced in JDK 11, is a non‑generational, highly concurrent Java garbage collector that uses colored pointers and load barriers to achieve sub‑10 ms pause times—even on terabyte‑scale heaps—while limiting throughput loss to under 15 % through three brief stop‑the‑world phases and four concurrent phases.

Garbage CollectionJVMconcurrency
0 likes · 17 min read
Understanding ZGC: Architecture, Key Features, and Execution Cycle
Top Architect
Top Architect
Sep 19, 2023 · Backend Development

Analyzing and Resolving Unexpected JVM GC Spikes in Production

This article recounts a production incident where a container's CPU spiked due to abnormal JVM garbage collection, walks through step-by-step diagnostics using top, jstack, and thread analysis, explains the root cause in an Excel export routine, and concludes with a brief promotion of a ChatGPT community.

DockerGarbage CollectionJVM
0 likes · 8 min read
Analyzing and Resolving Unexpected JVM GC Spikes in Production
JD Tech
JD Tech
Sep 18, 2023 · Fundamentals

Full GC Root Cause Analysis and Resolution in Java Applications

This article documents a step‑by‑step investigation of a high TP99 caused by frequent Full GC in a Java service, describing the diagnostic mindset, tools used, GC trigger conditions, object promotion mechanisms, the impact of AdaptiveSizePolicy and Metaspace, and the concrete configuration and code changes that eliminated the issue.

AdaptiveSizePolicyFullGCJVM
0 likes · 12 min read
Full GC Root Cause Analysis and Resolution in Java Applications
Architect's Tech Stack
Architect's Tech Stack
Sep 16, 2023 · Fundamentals

Understanding Java Object Creation, JVM Memory, and Class Loading

This article explains how Java objects are created using the new operator, details the JVM memory model (stack and heap), describes the generation and loading of .class files by the ClassLoader, compares Class.newInstance() with new, and outlines the initialization steps and key concepts developers must master.

JVMJavaMemory Management
0 likes · 11 min read
Understanding Java Object Creation, JVM Memory, and Class Loading
FunTester
FunTester
Sep 10, 2023 · Backend Development

Mastering Java ShutdownHook: Clean Up Resources and Track Tasks Gracefully

This article demonstrates practical ways to leverage Java's ShutdownHook API for task statistics, connection cleanup, handling JVM abnormal exits, and persisting state during performance testing, providing code examples, pitfalls of daemon threads, and strategies for reliable resource management in backend applications.

BackendJVMJava
0 likes · 8 min read
Mastering Java ShutdownHook: Clean Up Resources and Track Tasks Gracefully
Architect's Tech Stack
Architect's Tech Stack
Sep 10, 2023 · Backend Development

Analyzing the Performance Impact of try‑catch in Java: JVM Exception Handling and Compilation Optimizations

This article investigates whether using try‑catch blocks in Java significantly degrades performance by examining JVM exception handling mechanisms, bytecode generation, JIT and AOT compilation modes, and extensive benchmark tests, concluding that the impact is negligible in typical single‑threaded code.

Exception HandlingJITJVM
0 likes · 17 min read
Analyzing the Performance Impact of try‑catch in Java: JVM Exception Handling and Compilation Optimizations
JD Tech
JD Tech
Aug 31, 2023 · Fundamentals

Understanding JVM Runtime Memory Layout, Garbage Collection Roots, and Algorithms

This article provides a comprehensive overview of the Java Virtual Machine's runtime memory areas, object layout, garbage collection roots, marking algorithms, generational hypotheses, remembered sets, and the main GC algorithms such as Mark‑Sweep, Mark‑Copy, and Mark‑Compact, explaining their principles and trade‑offs.

Garbage CollectionGenerational GCJVM
0 likes · 16 min read
Understanding JVM Runtime Memory Layout, Garbage Collection Roots, and Algorithms
Java High-Performance Architecture
Java High-Performance Architecture
Aug 31, 2023 · Backend Development

Why Tomcat Breaks Java’s Parent Delegation Model: Inside Its Class Loader Design

This article reviews Java’s default class loading mechanism, explains the parent‑delegation model, then details how Tomcat’s custom class loaders (Common, Catalina, Shared, Webapp, Jasper) intentionally deviate from that model to achieve isolation, versioning, and hot‑swap capabilities for web applications.

Class LoaderJVMJava
0 likes · 15 min read
Why Tomcat Breaks Java’s Parent Delegation Model: Inside Its Class Loader Design
High Availability Architecture
High Availability Architecture
Aug 30, 2023 · Backend Development

Diagnosing and Optimizing JVM Memory Issues in a Core Service

This article details the identification, analysis, and resolution of JVM memory problems in a core music metadata service, covering GC tuning, large‑object handling, fault‑tolerance strategies, custom Dubbo codec monitoring, and non‑intrusive memory object tracking to improve performance and stability.

DubboJVMMemory Optimization
0 likes · 14 min read
Diagnosing and Optimizing JVM Memory Issues in a Core Service
Top Architecture Tech Stack
Top Architecture Tech Stack
Aug 24, 2023 · Fundamentals

Recommended Java SE Books for Developers

This article encourages continuous reading, lists essential Java SE books ranging from fundamentals to advanced JVM topics, and provides download links, emphasizing that thorough study can accelerate a developer's path to senior or architect roles before age thirty.

BooksJVMJava
0 likes · 6 min read
Recommended Java SE Books for Developers
Su San Talks Tech
Su San Talks Tech
Aug 23, 2023 · Fundamentals

Why Does JVM Allocate Objects in Multiple Steps? Explore Creation & Memory Layout

This article explains the JVM's object creation process—including stack allocation, TLAB checks, Eden and Survivor spaces, and GC handling—and details the memory layout of Java objects, covering object headers, class pointers, array lengths, padding, and the effect of compressed oops on 32‑bit versus 64‑bit systems.

Garbage CollectionJVMJava
0 likes · 9 min read
Why Does JVM Allocate Objects in Multiple Steps? Explore Creation & Memory Layout
Architect's Guide
Architect's Guide
Aug 22, 2023 · Backend Development

Comprehensive Java Backend Interview Guide: Data Structures, JVM, MySQL, Redis, and Performance Optimization

This article presents a full set of Java backend interview questions—ranging from self‑introduction and challenging projects to abstract classes, HashMap internals, B+‑tree characteristics, MySQL vs. skip‑list indexing, Redis skip‑list usage, large‑table optimization, join queries, JVM memory model, and Survivor space—along with detailed English explanations and sample code.

Backend DevelopmentJVMJava
0 likes · 22 min read
Comprehensive Java Backend Interview Guide: Data Structures, JVM, MySQL, Redis, and Performance Optimization
FunTester
FunTester
Aug 21, 2023 · Backend Development

Understanding Web3j Asynchronous Calls and JVM Exit Issues

The article analyzes why using Web3j's sendAsync() method can prevent the JVM from terminating, examines the underlying thread‑pool implementation in org.web3j.utils.Async, and offers debugging steps and possible work‑arounds for developers.

AsynchronousJVMJava
0 likes · 7 min read
Understanding Web3j Asynchronous Calls and JVM Exit Issues
Java Captain
Java Captain
Aug 18, 2023 · Backend Development

JVM GC Optimization: Reducing FullGC Frequency and Resolving Memory Leaks

This article documents a month‑long JVM garbage‑collection tuning effort that lowered FullGC from around 40 daily occurrences to one every ten days, halved YoungGC time, identified and fixed a memory‑leak caused by anonymous inner‑class listeners, and refined heap and metaspace settings to improve overall server throughput.

BackendGarbage CollectionJVM
0 likes · 10 min read
JVM GC Optimization: Reducing FullGC Frequency and Resolving Memory Leaks
JD Tech
JD Tech
Aug 14, 2023 · Fundamentals

Understanding Java Class File Structure and JVM Loading Process

This article explains the internal structure of Java class files—including magic numbers, versioning, constant pools, access flags, fields, methods, and attributes—illustrates bytecode generation with a sample class, and details the JVM's class loading, verification, preparation, resolution, initialization, memory allocation, object layout, and execution engine.

JVMMemoryManagementRuntime
0 likes · 26 min read
Understanding Java Class File Structure and JVM Loading Process
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Aug 12, 2023 · Backend Development

JVM Performance Tuning: Six-Step Process and Key Parameters

This article explains why JVM memory tuning is essential for high‑pay roles, outlines six practical steps—including GC monitoring, heap dump generation, analysis, and parameter adjustments—and provides detailed guidance on heap size, generation ratios, GC types, and thread stack settings to reduce Full GC frequency and improve application performance.

BackendFull GCGarbage Collection
0 likes · 7 min read
JVM Performance Tuning: Six-Step Process and Key Parameters
Architect's Guide
Architect's Guide
Aug 11, 2023 · Backend Development

Comprehensive Overview of Java Backend Architecture Topics

This article presents a detailed collection of 31 Java‑related architecture diagrams—including class loader, JVM, Spring, Hibernate, Struts, Android, cloud computing, Linux kernel, and various enterprise frameworks—providing a visual guide for backend developers seeking a broad understanding of Java ecosystem structures.

Backend ArchitectureJVMJava
0 likes · 6 min read
Comprehensive Overview of Java Backend Architecture Topics
Top Architect
Top Architect
Aug 10, 2023 · Fundamentals

Understanding Automatic Garbage Collection and Generational GC in Java

This article explains the concept of automatic garbage collection in Java, detailing the mark‑sweep‑compact process, the need for generational collection, and how objects move through Eden, Survivor, and Old generations, while also noting promotional links for further resources.

Garbage CollectionGenerational GCJVM
0 likes · 8 min read
Understanding Automatic Garbage Collection and Generational GC in Java
macrozheng
macrozheng
Aug 10, 2023 · Backend Development

Unlock High‑Performance Rule Engine with AviatorScript: A Complete Guide

This article introduces AviatorScript, a lightweight high‑performance JVM‑based scripting language, explains its core features, provides step‑by‑step setup and syntax examples, demonstrates function creation and custom extensions, and showcases real‑world use cases such as client version control, marketing rules, and order risk assessment.

AviatorScriptJVMJava
0 likes · 19 min read
Unlock High‑Performance Rule Engine with AviatorScript: A Complete Guide
JD Cloud Developers
JD Cloud Developers
Aug 8, 2023 · Fundamentals

How Does the JVM Choose the Right Method? Inside Stack Frames and Dynamic Dispatch

This article explains how Java’s JVM uses stack frames, local variable tables, operand stacks, dynamic linking, and method return addresses to manage method calls, detailing the distinction between static and dynamic dispatch, the role of non‑virtual methods, and how the invokevirtual instruction resolves the correct implementation at runtime.

Dynamic DispatchJVMJava
0 likes · 15 min read
How Does the JVM Choose the Right Method? Inside Stack Frames and Dynamic Dispatch
dbaplus Community
dbaplus Community
Aug 1, 2023 · Operations

Why Is My Elasticsearch Cluster Consuming 15 GB Heap? A Deep Dive into Memory, Sharding, and Performance Bottlenecks

A 7‑node Elasticsearch cluster handling 500 million documents shows excessive heap usage, many deleted documents, high translog size, saturated OS memory, and inefficient sharding, prompting a detailed analysis of stats, root‑cause identification, and concrete recommendations for mapping, shard design, and JVM tuning.

Cluster MonitoringJVMMemory Optimization
0 likes · 16 min read
Why Is My Elasticsearch Cluster Consuming 15 GB Heap? A Deep Dive into Memory, Sharding, and Performance Bottlenecks
JD Tech
JD Tech
Aug 1, 2023 · Fundamentals

JVM Initialization Deadlock Analysis and Resolution

This article investigates a production thread‑pool exhaustion issue caused by a JVM class‑initialization deadlock, explains the underlying class‑loading mechanics, presents detailed stack‑trace analysis, and offers a preventive solution with early bean initialization and a reproducible demo.

JVMThreadPoolclass loading
0 likes · 17 min read
JVM Initialization Deadlock Analysis and Resolution
Su San Talks Tech
Su San Talks Tech
Aug 1, 2023 · Backend Development

Why AviatorScript Is the Lightweight JVM Rule Engine You Need

This article introduces AviatorScript, a high‑performance, lightweight JVM‑hosted scripting language for rule engines, covering its origins, key features, quick start with Maven, core syntax, control structures, custom functions, and real‑world use cases such as client version control, marketing rules, and order risk management.

AviatorScriptBackend DevelopmentJVM
0 likes · 20 min read
Why AviatorScript Is the Lightweight JVM Rule Engine You Need
Top Architect
Top Architect
Jul 31, 2023 · Backend Development

Comprehensive Overview of Java and Enterprise Architecture Diagrams

This article presents a curated collection of architecture diagrams covering Java class loaders, JVM internals, core Java technologies, threading models, Spring, Hibernate, Struts, JMX, JMS, EJB, Oracle, MySQL, Android, cloud computing, Linux kernel, VMware, and various enterprise solutions, providing visual insight for backend developers.

EnterpriseJVMJava
0 likes · 6 min read
Comprehensive Overview of Java and Enterprise Architecture Diagrams
21CTO
21CTO
Jul 28, 2023 · Backend Development

How I Built a Toy Java Virtual Machine in Rust – Lessons and Code

After learning Rust, I created a toy Java Virtual Machine called rjvm, open‑sourced on GitHub, detailing its architecture, class file parsing, bytecode execution, value modeling, instruction handling, exception processing, and a simple stop‑the‑world garbage collector, while sharing insights and code snippets.

JVMbytecodegarbage-collection
0 likes · 15 min read
How I Built a Toy Java Virtual Machine in Rust – Lessons and Code
Senior Tony
Senior Tony
Jul 23, 2023 · Backend Development

Master JVM Tuning: Balancing Pause Time, Throughput, and Memory Usage

This article explains the core trade‑offs of JVM tuning—short pause times versus high throughput—provides quantitative goals, outlines when tuning is needed, details step‑by‑step optimization procedures, and lists common GC strategies and command‑line parameters for effective Java performance tuning.

Garbage CollectionJVMJava
0 likes · 12 min read
Master JVM Tuning: Balancing Pause Time, Throughput, and Memory Usage
Architect
Architect
Jul 21, 2023 · Fundamentals

JVM Basics, Class Loading, Runtime Data Areas, Garbage Collection and Tuning Guide

This article provides a concise yet comprehensive overview of the Java Virtual Machine, covering its core components, how Java source files are compiled and executed, class‑loader mechanisms, runtime memory areas, garbage‑collection algorithms, and practical JVM tuning parameters for optimal performance.

Garbage CollectionJVMJava
0 likes · 31 min read
JVM Basics, Class Loading, Runtime Data Areas, Garbage Collection and Tuning Guide
Top Architect
Top Architect
Jul 18, 2023 · Cloud Native

Java Containerization Guide: Base Image Selection, JDK/JRE Choice, JVM Options, Signal Handling, Memory Limits, DNS Caching, and Native Compilation

This comprehensive guide explains how to containerize Java applications by choosing appropriate base images, deciding between JDK and JRE, selecting a JVM, handling graceful shutdown signals, configuring memory limits, managing DNS caching, and optionally compiling to native binaries with GraalVM.

DockerJVMJava
0 likes · 23 min read
Java Containerization Guide: Base Image Selection, JDK/JRE Choice, JVM Options, Signal Handling, Memory Limits, DNS Caching, and Native Compilation
Programmer DD
Programmer DD
Jul 15, 2023 · Operations

Why Is My Elasticsearch Cluster Using 99% Memory? Sharding, Translog & JVM Insights

This article analyzes a 7‑node Elasticsearch cluster with 500 million documents, revealing excessive shard count, high heap and OS memory usage, large translog, low query‑cache hit rate, and heavy I/O, and offers concrete recommendations on mapping, sharding, JVM tuning, and resource management to restore performance.

Cluster MonitoringElasticsearchJVM
0 likes · 17 min read
Why Is My Elasticsearch Cluster Using 99% Memory? Sharding, Translog & JVM Insights
iQIYI Technical Product Team
iQIYI Technical Product Team
Jul 14, 2023 · Backend Development

Investigation and Optimization of Long GC Pauses Caused by Excessive FinalReference in Spring Cloud Gateway

The team discovered that frequent Logback file rotations created thousands of FileOutputStream objects whose finalize‑based FinalReference instances flooded the G1GC reference‑processing phase, causing 13‑second pauses, and resolved the issue by enabling parallel reference processing, enlarging log rotation size, and adjusting GC initiation thresholds.

FinalReferenceGC pauseJVM
0 likes · 13 min read
Investigation and Optimization of Long GC Pauses Caused by Excessive FinalReference in Spring Cloud Gateway
Practical DevOps Architecture
Practical DevOps Architecture
Jun 29, 2023 · Backend Development

Comprehensive Course Outline for Backend Development: Databases, Frameworks, Microservices, Messaging, Collections, and JVM

This article presents a detailed curriculum for backend development, covering fundamental concepts and practical topics such as database design and optimization, popular frameworks like Spring and Hibernate, microservice architecture, message middleware (Redis, RabbitMQ, Kafka), common data structures, concurrency, JVM internals, and related interview questions.

Backend DevelopmentJVMMessaging
0 likes · 9 min read
Comprehensive Course Outline for Backend Development: Databases, Frameworks, Microservices, Messaging, Collections, and JVM
JD Retail Technology
JD Retail Technology
Jun 27, 2023 · Backend Development

Analysis and Optimization of G1GC Long Pauses Caused by MySQL Driver Phantom References

The article investigates intermittent long G1GC pauses in a Java 1.8 application caused by mis‑configured G1 parameters and MySQL driver phantom references that retain many idle connections, then presents detailed log analysis and multiple remediation steps including JVM flag tuning, connection‑pool adjustments, and driver upgrades.

JVMg1gcmysql
0 likes · 30 min read
Analysis and Optimization of G1GC Long Pauses Caused by MySQL Driver Phantom References
Su San Talks Tech
Su San Talks Tech
Jun 19, 2023 · Backend Development

Master JVM Performance: Memory Model, OOM Cases, and Tuning Tools

This article reviews the Java HotSpot memory model, explains when JVM tuning is needed, details common OutOfMemoryError scenarios with reproducible code, introduces built‑in monitoring utilities and third‑party tools, and provides practical tuning parameters and case studies for optimizing Java applications.

Garbage CollectionJVMJava
0 likes · 24 min read
Master JVM Performance: Memory Model, OOM Cases, and Tuning Tools
JD Retail Technology
JD Retail Technology
Jun 7, 2023 · Backend Development

Performance Optimization: Code and Design Techniques for Java Services

This article explains service performance concepts and presents systematic code‑level and architectural optimizations for Java back‑ends, covering class preloading, thread‑pool usage, static variables, cache‑line alignment, false sharing mitigation, branch prediction, copy‑on‑write, method inlining, reflection caching, exception handling, logging practices, lock granularity, and pooling strategies, all illustrated with concrete code examples.

Backend DevelopmentCache AlignmentCode Optimization
0 likes · 33 min read
Performance Optimization: Code and Design Techniques for Java Services
JD Cloud Developers
JD Cloud Developers
May 31, 2023 · Fundamentals

How Shenandoah and ZGC Achieve Sub‑10ms Pauses in Modern Java

This article compares the Shenandoah and ZGC garbage collectors introduced in OpenJDK, explaining their design goals, key differences from G1, core mechanisms such as connection matrices and forwarding or colored pointers, and detailing each collector’s concurrent phases to achieve pause times under 10 ms regardless of heap size.

Garbage CollectionJVMJava
0 likes · 16 min read
How Shenandoah and ZGC Achieve Sub‑10ms Pauses in Modern Java
JD Cloud Developers
JD Cloud Developers
May 10, 2023 · Fundamentals

Mastering Java Garbage Collectors: When to Choose Serial, Parallel, CMS, or G1

This article explores the evolution of Java garbage collectors—from the simple Serial and Parallel collectors to the concurrent CMS and region-based G1—detailing their algorithms, tuning parameters, strengths, weaknesses, and best‑practice recommendations for selecting the optimal collector based on workload and memory constraints.

Garbage CollectionJVMJava
0 likes · 14 min read
Mastering Java Garbage Collectors: When to Choose Serial, Parallel, CMS, or G1
DeWu Technology
DeWu Technology
May 5, 2023 · Fundamentals

Understanding JVM Safepoints: Concepts, Examples, and Tuning

JVM safepoints are pause points where the VM can stop all threads for operations like garbage collection; the article shows how counted loops can prevent threads from reaching safepoints, causing unexpected long sleeps, and explains tuning flags, loop‑counter changes, and best practices to avoid STW pauses.

Garbage CollectionJVMJava
0 likes · 18 min read
Understanding JVM Safepoints: Concepts, Examples, and Tuning
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
May 4, 2023 · Fundamentals

Comprehensive Guide to JVM Memory Model, Garbage Collection Algorithms, Collectors, Performance Tuning, and Tools

This article provides a comprehensive overview of the JVM, covering its memory model, heap and stack structures, four garbage‑collection algorithms, seven collectors including G1 and ZGC, performance‑tuning steps, analysis tools, and guidance on obtaining the full series of resources.

Garbage CollectionJVMJava
0 likes · 5 min read
Comprehensive Guide to JVM Memory Model, Garbage Collection Algorithms, Collectors, Performance Tuning, and Tools
JD Cloud Developers
JD Cloud Developers
Apr 27, 2023 · Fundamentals

Understanding JVM Runtime Memory and Garbage Collection: A Complete Guide

This article explains the JVM's runtime memory structure—including the method area, heap, stacks, and program counter—details object memory layout, garbage collection roots, marking algorithms, generational models, and various GC algorithms such as mark‑sweep, mark‑copy, and mark‑compact, providing a comprehensive overview.

GC AlgorithmsGarbage CollectionGenerational GC
0 likes · 16 min read
Understanding JVM Runtime Memory and Garbage Collection: A Complete Guide
JD Tech
JD Tech
Apr 18, 2023 · Backend Development

Case Study: Long GC Times Caused by Database Connection Pool Issues and Mitigation Strategies

This article analyzes a production incident where excessive Full GC pauses during a high‑traffic promotion were traced to stale database connections in the DBCP pool, explains the investigation steps, root cause, and presents several JVM and connection‑pool configuration solutions to prevent similar performance degradations.

Database Connection PoolJVMgc
0 likes · 8 min read
Case Study: Long GC Times Caused by Database Connection Pool Issues and Mitigation Strategies
Architect's Guide
Architect's Guide
Apr 15, 2023 · Backend Development

Understanding Java String Concatenation, StringBuilder, and JVM Object Creation

The article explains why using the '+' operator for string concatenation in Java creates multiple temporary objects, how the StringBuilder class and compiler optimizations like StringConcatFactory reduce memory overhead, and demonstrates object creation counts through interview‑style examples and javap bytecode analysis.

JVMJavaperformance
0 likes · 9 min read
Understanding Java String Concatenation, StringBuilder, and JVM Object Creation
Top Architect
Top Architect
Apr 3, 2023 · Backend Development

Lock Optimization and Escape Analysis in the JVM

This article explains how the JVM optimizes locking through spin locks, adaptive spinning, lock elimination, and lock coarsening, and describes escape analysis techniques that enable stack allocation, scalar replacement, and synchronization removal, illustrated with Java code examples and diagrams.

Escape AnalysisJVMJava
0 likes · 8 min read
Lock Optimization and Escape Analysis in the JVM
Selected Java Interview Questions
Selected Java Interview Questions
Mar 29, 2023 · Backend Development

JVM Parameter Tuning for a Platform Handling 1 Million Daily Login Requests on an 8 GB Node

This article presents a comprehensive, step‑by‑step guide on estimating capacity, selecting and configuring garbage collectors, sizing heap, young and survivor spaces, tuning thread stacks, and adding diagnostic options for a Java service that must handle one million login requests per day on a server with 8 GB of memory.

CMSG1Garbage Collection
0 likes · 26 min read
JVM Parameter Tuning for a Platform Handling 1 Million Daily Login Requests on an 8 GB Node
Java Backend Technology
Java Backend Technology
Mar 24, 2023 · Backend Development

Optimizing JVM Settings for 1M Daily Logins on an 8GB Server

This article walks through a step‑by‑step approach to sizing JVM heap, young generation, GC selection, and related parameters for a platform handling one million login requests per day on a node with 8 GB memory, providing practical formulas, example configurations, and tuning tips.

Garbage CollectionJVMJava
0 likes · 24 min read
Optimizing JVM Settings for 1M Daily Logins on an 8GB Server
Architect
Architect
Mar 18, 2023 · Backend Development

How to Configure JVM Parameters for a Platform Handling 1 Million Daily Login Requests on an 8 GB Server

This article explains a step‑by‑step methodology for estimating capacity, selecting appropriate garbage collectors, sizing JVM memory regions, and tuning advanced parameters such as survivor ratio, tenuring threshold, and Metaspace to reliably support a login service that processes one million requests per day on a machine with 8 GB of RAM.

BackendGarbage CollectionJVM
0 likes · 25 min read
How to Configure JVM Parameters for a Platform Handling 1 Million Daily Login Requests on an 8 GB Server
JD Tech
JD Tech
Mar 16, 2023 · Fundamentals

A Comprehensive Overview of Java Garbage Collection Algorithms and ZGC

This article explains the fundamentals of Java garbage collection, detailing classic algorithms such as reference counting, reachability analysis, mark‑sweep, copying, mark‑compact, and generational collectors, then introduces modern collectors like Serial, Parallel, CMS, G1, and the low‑latency ZGC, highlighting their mechanisms, advantages, and drawbacks.

Garbage CollectionJVMMemory Management
0 likes · 27 min read
A Comprehensive Overview of Java Garbage Collection Algorithms and ZGC
IT Services Circle
IT Services Circle
Mar 11, 2023 · Fundamentals

Understanding Java Class Loaders and the Parent Delegation Model

This article explains the Java class‑loading mechanism, reviews the load‑link‑initialize process, describes the built‑in Bootstrap, Extension and Application class loaders, introduces the parent‑delegation model, shows its execution flow with code examples, and discusses how to customize or break the model.

Custom ClassLoaderJVMJava
0 likes · 16 min read
Understanding Java Class Loaders and the Parent Delegation Model
Ctrip Technology
Ctrip Technology
Mar 9, 2023 · Backend Development

Optimizing Hotel Query Service Memory Usage: GC Tuning, Native Memory Management, and Migration to jemalloc

This article details the systematic reduction of memory consumption for Ctrip's hotel query service by halving container memory, evaluating and tuning modern garbage collectors, diagnosing off‑heap leaks, and ultimately replacing the default ptmalloc allocator with jemalloc to achieve stable performance and lower resource costs.

Backend PerformanceGarbage CollectionJVM
0 likes · 22 min read
Optimizing Hotel Query Service Memory Usage: GC Tuning, Native Memory Management, and Migration to jemalloc
Top Architect
Top Architect
Mar 8, 2023 · Backend Development

JVM Parameter Tuning for a Service Handling 10 Million Daily Login Requests on an 8 GB Node

This article walks through a systematic approach to sizing and configuring JVM parameters—including heap, young generation, GC algorithm, Metaspace, and safety‑point settings—for a high‑traffic login service that receives one million requests per day on a server with 8 GB of memory, providing both practical code examples and interview‑style explanations.

BackendGarbage CollectionJVM
0 likes · 25 min read
JVM Parameter Tuning for a Service Handling 10 Million Daily Login Requests on an 8 GB Node