Tagged articles

JVM

1071 articles · Page 4 of 11
Java Tech Enthusiast
Java Tech Enthusiast
May 27, 2024 · Backend Development

Understanding Garbage Collection in the JVM

The author celebrates landing a new job while emphasizing that mastering Java's garbage collection—identifying and reclaiming memory from unreachable objects via algorithms like reference counting or reachability analysis—is essential for robust backend development and preventing memory overflow.

Garbage CollectionJVMjava
0 likes · 4 min read
Understanding Garbage Collection in the JVM
Architecture Digest
Architecture Digest
May 27, 2024 · Backend Development

Upgrading to JDK 17 with ZGC: Performance Comparison and Migration Guide

This article explains why upgrading to JDK 17 and switching to the low‑latency ZGC garbage collector can dramatically reduce pause times and improve throughput, compares GC and CPU metrics against G1, and provides step‑by‑step installation and JVM tuning instructions with code examples.

Garbage CollectionJVMZGC
0 likes · 6 min read
Upgrading to JDK 17 with ZGC: Performance Comparison and Migration Guide
IT Services Circle
IT Services Circle
Apr 13, 2024 · Fundamentals

Java Interview Questions: Collections, HashMap, Concurrency, JVM Memory, GC, References, and Redis

This article compiles a set of Java interview questions covering the differences between ArrayList and LinkedList, the internal workings and resizing of HashMap, concurrency primitives like synchronized and ReentrantLock, JVM memory layout, garbage‑collection algorithms, reference types, and Redis persistence and distributed‑lock mechanisms.

HashMapInterviewJVM
0 likes · 21 min read
Java Interview Questions: Collections, HashMap, Concurrency, JVM Memory, GC, References, and Redis
Bin's Tech Cabin
Bin's Tech Cabin
Apr 1, 2024 · Fundamentals

Why System.gc Matters for Java NIO Memory Management

This article explains how Java's System.gc triggers full or concurrent garbage collection in NIO scenarios, detailing the JVM's handling of out‑of‑memory errors during memory‑mapped file operations and direct buffer allocations, and examines the behavior across various garbage collectors such as Serial, Parallel, G1, ZGC, and Shenandoah.

DirectByteBufferGarbage CollectionJVM
0 likes · 20 min read
Why System.gc Matters for Java NIO Memory Management
MaGe Linux Operations
MaGe Linux Operations
Mar 31, 2024 · Backend Development

Mastering Tomcat Performance: Key Tuning Parameters and Best Practices

This article explains how to optimize Tomcat by adjusting server.xml parameters such as maxThreads, acceptCount, maxConnections, and connectionTimeout, while also covering related Linux kernel settings, file descriptor limits, and JVM options to achieve balanced performance for both CPU‑bound and I/O‑bound workloads.

JVMLinux kernelTomcat
0 likes · 14 min read
Mastering Tomcat Performance: Key Tuning Parameters and Best Practices
DaTaobao Tech
DaTaobao Tech
Mar 22, 2024 · Backend Development

Understanding JVM Memory, GC, and Performance Tuning

The article explains JVM runtime memory regions, heap allocation and generational layout, object reference types, major garbage‑collection algorithms and collectors, class‑loading phases, and provides practical tuning commands and case studies for optimizing GC pauses, preventing memory leaks, and diagnosing performance bottlenecks.

GarbageCollectionJVMMemoryManagement
0 likes · 33 min read
Understanding JVM Memory, GC, and Performance Tuning
Alibaba Cloud Developer
Alibaba Cloud Developer
Mar 21, 2024 · Fundamentals

Mastering JVM Memory: From Heap Layout to Garbage Collection Tuning

This article provides a comprehensive guide to JVM internals, covering runtime data areas, heap segmentation, object allocation, reference types, class loading phases, garbage collection algorithms, collector choices across JDK versions, performance tuning commands, and practical troubleshooting techniques for production Java applications.

Garbage CollectionJVMMemory Management
0 likes · 38 min read
Mastering JVM Memory: From Heap Layout to Garbage Collection Tuning
vivo Internet Technology
vivo Internet Technology
Mar 19, 2024 · Backend Development

Java 8 Memory Management and Garbage Collection Analysis

The article offers a thorough overview of Java 8 memory management, detailing JVM memory regions, object eligibility, major garbage‑collection algorithms and generational models, comparing Serial, Parallel, CMS and G1 collectors, and presenting practical heap‑dump analysis techniques for diagnosing leaks and performance issues.

GC AlgorithmsHeap AnalysisJVM
0 likes · 29 min read
Java 8 Memory Management and Garbage Collection Analysis
Java Backend Technology
Java Backend Technology
Mar 19, 2024 · Backend Development

6 Common Java OOM Scenarios and How to Prevent Them

This article explains six typical OutOfMemoryError situations in Java—heap, native thread, stack overflow, direct buffer, GC overhead, and Metaspace—provides code examples that trigger each issue, shows the resulting exception messages, and offers practical tips such as using thread pools, limiting recursion depth, adjusting GC settings, and configuring Metaspace to avoid these memory problems.

GCJVMMetaspace
0 likes · 9 min read
6 Common Java OOM Scenarios and How to Prevent Them
Su San Talks Tech
Su San Talks Tech
Mar 18, 2024 · Backend Development

6 Common Java OOM Scenarios and How to Prevent Them

This article explores six typical OutOfMemoryError situations in Java—including heap, stack, direct memory, GC overhead, and metaspace issues—explains their root causes, provides reproducible code examples, and offers practical tips to avoid or mitigate each problem.

JVMMemory ManagementOutOfMemoryError
0 likes · 8 min read
6 Common Java OOM Scenarios and How to Prevent Them
Sanyou's Java Diary
Sanyou's Java Diary
Mar 4, 2024 · Fundamentals

Master JVM Memory Troubleshooting: A Complete Step‑by‑Step Guide

This comprehensive guide presents a systematic, step‑by‑step process for diagnosing JVM memory problems—including heap, Metaspace, DirectMemory, JNI memory, and stack issues—using Alibaba Cloud ARMS, ATP, standard JDK tools, and best‑practice commands to quickly locate root causes and apply effective solutions.

GCJVMMemory
0 likes · 56 min read
Master JVM Memory Troubleshooting: A Complete Step‑by‑Step Guide
Su San Talks Tech
Su San Talks Tech
Mar 1, 2024 · Backend Development

Master JVM Tuning: When, How, and Which Tools to Optimize Java Performance

This article explains why JVM tuning matters, identifies scenarios that require tuning such as performance bottlenecks, memory overflows, and concurrency issues, and then details monitoring and diagnostic tools—including JDK command‑line utilities and third‑party solutions—followed by a comprehensive guide to JVM parameters, garbage‑collector selection, and practical ways to apply these settings in production environments.

JVMdiagnosticsjava
0 likes · 18 min read
Master JVM Tuning: When, How, and Which Tools to Optimize Java Performance
MaGe Linux Operations
MaGe Linux Operations
Feb 29, 2024 · Backend Development

Mastering JVM Heap Settings in Docker: Best Parameters Across JDK Versions

This guide explains how JVM determines heap size on physical machines versus containers, compares behavior of different JDK releases, and provides concrete Docker commands and JVM flags—such as -Xms/-Xmx, -XX:+UseCGroupMemoryLimitForHeap, and MaxRAMPercentage—to reliably control memory usage in containerized Java applications.

DockerJVMMemory Management
0 likes · 11 min read
Mastering JVM Heap Settings in Docker: Best Parameters Across JDK Versions
DeWu Technology
DeWu Technology
Feb 28, 2024 · Cloud Native

Technical Overview of ZingJDK: ReadyNow, Falcon JIT, and C4 GC

ZingJDK, Azul’s high‑performance commercial JDK built on OpenJDK, combines ReadyNow® pre‑warming, the LLVM‑based Falcon JIT compiler, the pause‑free C4 concurrent compacting garbage collector, and a cloud‑native off‑load compiler to deliver dramatically faster startup and execution across JDK 7‑21, though it lacks dynamic Attach support and requires a commercial license.

Cloud NativeGarbage CollectionJVM
0 likes · 17 min read
Technical Overview of ZingJDK: ReadyNow, Falcon JIT, and C4 GC
DeWu Technology
DeWu Technology
Feb 23, 2024 · Backend Development

Understanding Thread Pool Exhaustion in Dubbo: Causes and Diagnosis

The article explains that Dubbo’s zero‑capacity SynchronousQueue causes a thread‑pool “EXHAUSTED” error when incoming requests outpace consumption, often triggered by slow DB queries, lock contention, or network jitter, and that JVM stop‑the‑world pauses fill the OS TCP receive buffer, creating a post‑pause traffic burst that overwhelms the pool, with diagnostics using safepoint statistics.

DubboJVMSTW
0 likes · 9 min read
Understanding Thread Pool Exhaustion in Dubbo: Causes and Diagnosis
Top Architect
Top Architect
Feb 20, 2024 · Backend Development

JVM Garbage Collection Tuning Experience: Reducing FullGC Frequency and Solving Memory Leaks

Over a month of systematic JVM tuning, the author reduced FullGC frequency from 40 times per day to once every ten days, halved YoungGC time, identified and fixed a memory leak caused by anonymous inner‑class listeners, and documented the step‑by‑step optimization process with configuration changes and performance results.

Garbage CollectionJVMjava
0 likes · 12 min read
JVM Garbage Collection Tuning Experience: Reducing FullGC Frequency and Solving Memory Leaks
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Jan 31, 2024 · Backend Development

Understanding Java JVM Garbage Collectors: From Serial to Shenandoah

This article explains the main Java JVM garbage collectors—including Serial, Parallel, CMS, G1, ZGC, Epsilon, and Shenandoah—detailing their architectures, pause characteristics, suitable workloads, and key advantages, helping developers choose the right collector for different application sizes and latency requirements.

Garbage CollectionJVMbackend
0 likes · 7 min read
Understanding Java JVM Garbage Collectors: From Serial to Shenandoah
macrozheng
macrozheng
Jan 25, 2024 · Backend Development

How to Slash Spring Boot Memory Usage by Over 40% for Local Development

This guide explains why Spring Boot applications consume memory, shows how to configure the JVM and Tomcat settings, and demonstrates using Docker‑compose to apply these tweaks, enabling developers to reduce local memory usage by more than 40% and speed up development cycles.

ConfigurationDockerJVM
0 likes · 7 min read
How to Slash Spring Boot Memory Usage by Over 40% for Local Development
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Jan 22, 2024 · Fundamentals

Understanding JVM Architecture and Core Mechanisms

This article provides a comprehensive overview of the Java Virtual Machine, detailing its architecture, class loading process, runtime data areas, and execution engine, including interpreter and JIT compilation, to help readers grasp JVM fundamentals for Java development and interview preparation.

Class LoadingJVMRuntime Data Area
0 likes · 8 min read
Understanding JVM Architecture and Core Mechanisms
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Jan 20, 2024 · Backend Development

Master Java’s Parent Delegation Model: How Class Loaders Work and Why It Matters

This article provides a detailed explanation of Java’s parent delegation model, covering its definition, visual diagrams, advantages and disadvantages, and a six-step loading process, helping readers understand how class loaders prioritize parent loaders to ensure security and avoid duplicate class loading.

Class LoadingJVMParent Delegation
0 likes · 5 min read
Master Java’s Parent Delegation Model: How Class Loaders Work and Why It Matters
Huolala Tech
Huolala Tech
Jan 18, 2024 · Fundamentals

Why G1’s Humongous Objects Trigger Midnight Old‑Gen Spikes and How to Diagnose Them

This article walks through a real‑world G1 GC incident where massive humongous object allocations caused old‑generation memory spikes at night, explains the underlying JVM memory layout, shows how to trace the problem with heap dumps and monitoring data, and offers practical tips to avoid similar issues in Java applications.

G1GCHumongousObjectJVM
0 likes · 41 min read
Why G1’s Humongous Objects Trigger Midnight Old‑Gen Spikes and How to Diagnose Them
Code Ape Tech Column
Code Ape Tech Column
Dec 31, 2023 · Backend Development

How to Set JVM Parameters for a Platform Handling 1 Million Daily Logins on an 8 GB Server

This article explains how to estimate capacity, choose appropriate garbage collectors, and configure JVM memory settings—including heap size, young generation, thread stack, and GC options—for a service that processes one million login requests per day on a node with 8 GB of RAM, providing step‑by‑step guidance and example command lines.

GC TuningJVMMemory Management
0 likes · 25 min read
How to Set JVM Parameters for a Platform Handling 1 Million Daily Logins on an 8 GB Server
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Dec 31, 2023 · Operations

Master JDK Command-Line Tools for JVM Performance Tuning: A Practical Guide

This guide explores the JDK command‑line utilities located in %JAVA_HOME%\bin, explaining how tools such as jps, jstat, jinfo, jmap, jhat and jstack can be used to monitor JVM processes, analyze performance bottlenecks, inspect memory usage, generate heap dumps, and adjust runtime parameters for more efficient and stable Java applications.

JDKJVMcommand-line tools
0 likes · 8 min read
Master JDK Command-Line Tools for JVM Performance Tuning: A Practical Guide
政采云技术
政采云技术
Dec 26, 2023 · Backend Development

Understanding Java Bytecode and Using ASM for Bytecode Manipulation

This article explains how Java achieves "write once, run anywhere" through platform‑independent bytecode, describes the .class file structure, introduces tools for viewing bytecode, and provides detailed guidance on using the ASM library’s Core and Tree APIs for bytecode enhancement, including practical code demos and application scenarios.

ASMBytecodeBytecode Manipulation
0 likes · 16 min read
Understanding Java Bytecode and Using ASM for Bytecode Manipulation
Architecture Digest
Architecture Digest
Dec 15, 2023 · Operations

Diagnosing High CPU and Frequent GC in a Java Container: A Step‑by‑Step Analysis

When a production container suddenly hit over 90% CPU and excessive JVM garbage collection, the author walks through entering the pod, using top and top‑H to locate the offending thread, extracting its stack with jstack, downloading the data via a simple HTTP server, and ultimately discovering an Excel export routine that caused massive object allocation, fixing the code and restoring stability.

CPUGCJVM
0 likes · 6 min read
Diagnosing High CPU and Frequent GC in a Java Container: A Step‑by‑Step Analysis
JD Cloud Developers
JD Cloud Developers
Dec 13, 2023 · Backend Development

Resolving Unexpected 2‑Second Young GC Pauses in Java Rule Engine

A Java rule‑engine experiences occasional 1‑2 second Young GC pauses after warm‑up, caused by dynamic promotion thresholds that trigger massive object promotion, and the article explains the root cause, demonstrates log analysis, and provides JVM tuning steps to eliminate the long pauses.

Garbage CollectionJVMYoung Generation
0 likes · 15 min read
Resolving Unexpected 2‑Second Young GC Pauses in Java Rule Engine
DevOps Cloud Academy
DevOps Cloud Academy
Dec 11, 2023 · Operations

Managing Java Process Memory in Kubernetes Pods to Prevent OOMKilled

This article explains why Java processes in Kubernetes pods often encounter OOMKilled despite correct JVM heap settings, analyzes the discrepancy between JVM‑reported memory and container metrics, and provides practical steps such as adjusting MaxRAMPercentage and pod memory limits to stabilize memory usage.

JVMKubernetesMemory Management
0 likes · 9 min read
Managing Java Process Memory in Kubernetes Pods to Prevent OOMKilled
FunTester
FunTester
Dec 3, 2023 · Backend Development

Why Your Java App’s CPU Spikes: Mastering C1/C2 JIT Threads

This article explains how HotSpot's C1 and C2 JIT compiler threads work, why they can consume excessive CPU, and provides practical JVM tuning options—including tiered compilation, code‑cache sizing, and compiler‑thread adjustments—to mitigate performance issues.

C1C2HotSpot
0 likes · 11 min read
Why Your Java App’s CPU Spikes: Mastering C1/C2 JIT Threads
JD Retail Technology
JD Retail Technology
Nov 22, 2023 · Fundamentals

Understanding Java Class File Structure and JVM Execution Process

This article explains the Java class file format, including its magic number, version, constant pool, access flags, fields, methods, and attributes, and then details how the JVM loads, verifies, prepares, resolves, and initializes classes, manages object memory layout, and executes bytecode using a stack‑based interpreter.

BytecodeJVMMemoryManagement
0 likes · 21 min read
Understanding Java Class File Structure and JVM Execution Process
Ops Development Stories
Ops Development Stories
Nov 16, 2023 · Fundamentals

Unlocking G1 GC: Why Your Java Service Hangs and How to Fix It

This article explains the G1 garbage collector’s heap layout, collection cycles, pause prediction, log analysis, and monitoring tools, helping Java developers diagnose and resolve performance issues such as frequent restarts, OOM, CPU spikes, and periodic latency spikes.

G1GCGarbage CollectionJVM
0 likes · 19 min read
Unlocking G1 GC: Why Your Java Service Hangs and How to Fix It
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.

JVMLocksconcurrency
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.

JVMMicroservicesServiceabilityAgent
0 likes · 23 min read
How Qunar Cut Half Its Codebase: A Practical Guide to Service and Code Slimming
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.

Dynamic LinkingJVMjava
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.

JVMNative MemorySpring Boot
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.

G1 GCGarbage 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.

BytecodeConstant PoolJVM
0 likes · 14 min read
Understanding JVM Platform Independence and Class File Structure
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.

HSDBJVMPointer Compression
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 spikeGCJVM
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 CollectionJVMMemory Management
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 developmentJVMLLM
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 CollectionJVMZGC
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.

Class LoadingJVMMemory 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.

JVMShutdownHookThread Pool
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 HandlingJVMbenchmark
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 LoaderJVMParent Delegation
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.

DubboGCJVM
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.

BooksJVMLearning Resources
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 CollectionJVMObject Creation
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.

InterviewJVMMySQL
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.

AsynchronousJVMThreadPool
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.

Garbage CollectionJVMbackend
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.

BytecodeJVMMemoryManagement
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.

Full GCGarbage CollectionJVM
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 ArchitectureJVMSpring
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.

AviatorScriptJVMScripting
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 DispatchJVMMethod Dispatch
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 MonitoringIndexingJVM
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.

Class LoadingJVMThreadPool
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.

AviatorScriptJVMScripting
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.

JVMenterprisejava
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.

BytecodeJVMgarbage-collection
0 likes · 15 min read
How I Built a Toy Java Virtual Machine in Rust – Lessons and Code