Tagged articles
1029 articles
Page 7 of 11
Programmer DD
Programmer DD
Jul 19, 2021 · Fundamentals

Is Java’s long Truly Atomic? Exploring JVM Memory Model Behavior

This article investigates whether long and double variables are atomic in the JVM, demonstrates non‑atomic behavior on 32‑bit HotSpot with a multithreaded test, explains the Java Memory Model rules, and shows that atomicity is guaranteed on 64‑bit JVMs or when using volatile.

JVMMemory Modelatomicity
0 likes · 9 min read
Is Java’s long Truly Atomic? Exploring JVM Memory Model Behavior
FunTester
FunTester
Jul 5, 2021 · Industry Insights

Which Load Testing Tool Wins at 100k QPS? K6 vs Gatling vs FunTester Benchmarks

In a series of local benchmarks on a 2.6 GHz six‑core Intel i7 machine, the author compares K6, Gatling, and FunTester under 10 k to 20 k QPS loads, detailing CPU, memory, and response‑time metrics, analyzing script languages, JVM settings, and offering optimization suggestions for FunTester.

FunTesterGatlingJVM
0 likes · 11 min read
Which Load Testing Tool Wins at 100k QPS? K6 vs Gatling vs FunTester Benchmarks
JavaEdge
JavaEdge
Jul 2, 2021 · Backend Development

How to Diagnose and Reproduce Different Java OOM Errors

This article explains the various types of Java OutOfMemoryError, shows how to trigger each one on HotSpot JVM, provides diagnostic steps and relevant JVM flags, and offers practical code examples for heap, stack, metaspace, and direct memory overflow scenarios.

DirectMemoryJVMMetaspace
0 likes · 16 min read
How to Diagnose and Reproduce Different Java OOM Errors
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Jun 27, 2021 · Fundamentals

Understanding Java Thread States and Their Transitions

This article explains Java thread lifecycle states, detailing the six JVM-defined states (NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED), their transitions, and the finer distinction between READY and RUNNING within the RUNNABLE state, while clarifying why Java does not define a separate RUNNING state.

JVMThreadStateconcurrency
0 likes · 6 min read
Understanding Java Thread States and Their Transitions
Code Ape Tech Column
Code Ape Tech Column
Jun 20, 2021 · Backend Development

Master JVM Performance: Essential Tools and Real‑World Debugging Guide

This article introduces core JVM performance and monitoring utilities—including jps, jstack, jmap, jhat, jstat, and hprof—explains their command syntax, demonstrates practical steps to locate high‑CPU threads, analyze heap dumps, and interpret GC statistics, and provides concrete code examples for Java developers.

JVMjavajmap
0 likes · 13 min read
Master JVM Performance: Essential Tools and Real‑World Debugging Guide
Top Architect
Top Architect
Jun 9, 2021 · Operations

Configuring a Perfect JVM GC Log Printing Strategy

This guide explains how to configure comprehensive JVM garbage-collection logging—including basic GC details, object age distribution, heap snapshots, pause times, safepoint statistics, and reference processing—while using timestamped filenames and JVM log rotation to avoid overwriting and manage file size effectively.

JVMgcjava
0 likes · 12 min read
Configuring a Perfect JVM GC Log Printing Strategy
Architect's Tech Stack
Architect's Tech Stack
Jun 4, 2021 · Fundamentals

Understanding Java Object Behavior and Runtime Instrumentation with Instrumentation, BTrace, and Arthas

This article explains how Java object behavior is stored in the JVM method area, explores dynamic bytecode manipulation using java.lang.instrument.Instrumentation, demonstrates practical tracing with BTrace, and introduces Arthas as a user‑friendly diagnostic tool for runtime debugging and monitoring.

ArthasBTraceInstrumentation
0 likes · 14 min read
Understanding Java Object Behavior and Runtime Instrumentation with Instrumentation, BTrace, and Arthas
Programmer DD
Programmer DD
May 31, 2021 · Cloud Native

How to Eliminate JVM Warm‑up Delays in Kubernetes with Burstable QoS

Running Java services on Kubernetes often suffers from long JVM warm‑up times that cause high latency during deployments, but by analyzing CPU throttling and leveraging Burstable QoS with appropriate request/limit settings, you can dramatically reduce warm‑up delays without extra pods or cost.

Burstable QoSCPU throttlingJVM
0 likes · 11 min read
How to Eliminate JVM Warm‑up Delays in Kubernetes with Burstable QoS
Programmer DD
Programmer DD
May 27, 2021 · Operations

How We Cut Full GC Frequency from 40×/Day to Once Every 10 Days

Over a month of JVM tuning, the author reduced Full GC from more than 40 times per day to once every ten days and halved Young GC duration by adjusting heap sizes, fixing memory leaks, and tuning metaspace, ultimately improving server throughput and stability.

Full GCGarbage CollectionJVM
0 likes · 12 min read
How We Cut Full GC Frequency from 40×/Day to Once Every 10 Days
Programmer DD
Programmer DD
May 23, 2021 · Operations

How I Cut Full GC Frequency from 40 to 1 in 10 Days: A JVM Tuning Journey

Over a month of systematic investigation, the author reduced Full GC occurrences on a 2‑core, 4 GB Java server cluster from 40 times a day to roughly once every ten days by adjusting heap settings, fixing a memory‑leak caused by an anonymous listener, and tuning Metaspace and CMS thresholds, ultimately achieving stable performance and lower latency.

Garbage CollectionJVMjava
0 likes · 11 min read
How I Cut Full GC Frequency from 40 to 1 in 10 Days: A JVM Tuning Journey
Full-Stack Internet Architecture
Full-Stack Internet Architecture
May 15, 2021 · Backend Development

JVM Tuning Guide: Understanding GC, Memory Model, and Configuration Options

This article provides a comprehensive guide to JVM performance tuning, covering the JVM architecture, runtime data areas, various garbage collectors, configuration flags for heap and GC settings, and practical recommendations for selecting the optimal GC strategy based on workload characteristics.

Garbage CollectionJVMbackend-development
0 likes · 6 min read
JVM Tuning Guide: Understanding GC, Memory Model, and Configuration Options
Top Architect
Top Architect
May 11, 2021 · Fundamentals

Understanding Java Locks: From Synchronized to Lock Upgrade Mechanisms

This article explains how Java implements locks—from the basic use of the synchronized keyword and Lock interface to the internal object header structures, bias, lightweight, and heavyweight lock upgrades, and the role of CAS and monitor objects in JVM concurrency control.

JVMLocksconcurrency
0 likes · 18 min read
Understanding Java Locks: From Synchronized to Lock Upgrade Mechanisms
Programmer DD
Programmer DD
May 10, 2021 · Backend Development

Doubling QPS and Fixing Hystrix Bottlenecks in a Java Service

This article describes how a Java backend service suffering from high CPU load and unstable Hystrix circuit breaking was diagnosed and optimized—using jtop for JVM profiling, refactoring JSON/Bean handling, switching Hystrix isolation modes, improving logging, and tweaking circuit‑breaker settings—to double its QPS capacity and achieve rapid recovery after traffic spikes.

HystrixJVMjava
0 likes · 15 min read
Doubling QPS and Fixing Hystrix Bottlenecks in a Java Service
Full-Stack Internet Architecture
Full-Stack Internet Architecture
May 7, 2021 · Fundamentals

The Life Cycle of Java Objects: From Allocation to Old Generation

This article uses a real‑world recommendation system case to explain how Java objects are created in the young generation, survive multiple young GCs, and are promoted to the old generation under various conditions such as repeated GC cycles, dynamic age thresholds, and space‑guarantee mechanisms.

Garbage CollectionJVMMemory Management
0 likes · 7 min read
The Life Cycle of Java Objects: From Allocation to Old Generation
Senior Brother's Insights
Senior Brother's Insights
May 5, 2021 · Fundamentals

What Is the True Maximum Length of a Java String?

This article explores the theoretical and practical limits of Java String length, analyzing JDK source code, integer ranges, JVM constant pool constraints, and runtime memory considerations to reveal why the maximum size is 2^31‑1 characters (≈4 GB) at runtime but only 65 534 characters at compile time.

Compile-timeJVMLength Limit
0 likes · 8 min read
What Is the True Maximum Length of a Java String?
DeWu Technology
DeWu Technology
Apr 29, 2021 · Backend Development

JVM Garbage Collection: CMS Principles and Tuning

Understanding JVM garbage collection with the CMS collector involves grasping class‑loader hierarchies, memory regions such as Young, Old and Metaspace, the multithreaded ParNew young collector, CMS’s four‑phase mark‑sweep‑compact cycle, and applying tuning parameters—like survivor ratios, tenuring thresholds, and concurrent marking options—to minimize stop‑the‑world pauses and full GCs on typical 4‑core, 8 GB servers.

CMSGarbage CollectionJVM
0 likes · 18 min read
JVM Garbage Collection: CMS Principles and Tuning
Top Architect
Top Architect
Apr 27, 2021 · Backend Development

Common Misunderstandings in Thread Pool Configuration and How to Avoid Them

This article explains the inner workings of Java thread pools, clarifies common misconceptions about core pool sizing, BlockingQueue behavior, concurrency calculation, and runtime factors such as GC, providing practical guidance and code examples for correctly configuring thread pools in backend systems.

BlockingQueueJVMThreadPool
0 likes · 12 min read
Common Misunderstandings in Thread Pool Configuration and How to Avoid Them
Programmer DD
Programmer DD
Apr 27, 2021 · Fundamentals

Why Setting Unused Objects to null Can Actually Help Java GC – A Deep Dive

This article explains the misconception that null‑assigning unused objects always improves Java garbage collection, demonstrates with concrete JVM examples how stack references affect object reachability, and shows how explicit null or variable reuse can free memory more effectively.

Garbage CollectionJVMMemory Management
0 likes · 10 min read
Why Setting Unused Objects to null Can Actually Help Java GC – A Deep Dive
Code Ape Tech Column
Code Ape Tech Column
Apr 25, 2021 · Operations

JVM Garbage Collection Tuning: Reducing FullGC Frequency and Improving Throughput

This article documents a month-long JVM garbage‑collection tuning effort on a 2‑core, 4 GB server cluster, detailing initial problems with frequent FullGC, successive configuration adjustments, memory‑leak investigations, and the final optimizations that cut FullGC occurrences and significantly improved overall throughput.

FullGCGarbage CollectionJVM
0 likes · 10 min read
JVM Garbage Collection Tuning: Reducing FullGC Frequency and Improving Throughput
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Apr 19, 2021 · Backend Development

Comprehensive Guide to Java JVM: Architecture, Class Loading, Garbage Collection, and Performance Tuning

This article provides an in‑depth overview of the Java Virtual Machine, covering JDK/JRE/JVM relationships, compilation process, class loading mechanisms, the parent‑delegation model, runtime memory areas, garbage collection algorithms and collectors, and practical JVM performance tuning tips for backend developers.

Garbage CollectionJVMclass loading
0 likes · 50 min read
Comprehensive Guide to Java JVM: Architecture, Class Loading, Garbage Collection, and Performance Tuning
Yuewen Technology
Yuewen Technology
Apr 16, 2021 · Backend Development

Why G1 Is the Future Garbage Collector for High‑Throughput Java Services

This article examines how Oracle's G1 garbage collector, the default since JDK 9, outperforms the traditional CMS collector in multi‑core, large‑memory environments through parallelism, space integration, predictive pause models, and real‑world performance testing on Yuewen's licensing service.

Garbage CollectionJVMg1gc
0 likes · 9 min read
Why G1 Is the Future Garbage Collector for High‑Throughput Java Services
Miss Fresh Tech Team
Miss Fresh Tech Team
Apr 16, 2021 · Backend Development

Why G1GC? Understanding Soft Real‑Time and Pause‑Time Prediction in Java

This article explains the evolution of garbage collection, why G1GC is chosen for low‑latency high‑availability Java services, how it achieves soft real‑time guarantees, the internal heap and region structures, concurrent marking, SATB, remembered sets, and the algorithms used to predict pause times.

Garbage CollectionJVMMemory Management
0 likes · 20 min read
Why G1GC? Understanding Soft Real‑Time and Pause‑Time Prediction in Java
ITPUB
ITPUB
Apr 7, 2021 · Operations

8 Real-World Production Failures and How to Diagnose Them Quickly

The article shares eight authentic production incident cases—from frequent JVM Full GC and memory leaks to cache avalanches, DNS hijacking, and database deadlocks—detailing their root causes, diagnostic steps, code snippets, and practical remediation strategies for engineers facing similar challenges.

CacheJVMOperations
0 likes · 17 min read
8 Real-World Production Failures and How to Diagnose Them Quickly
Senior Brother's Insights
Senior Brother's Insights
Apr 6, 2021 · Fundamentals

Do Objects Move in Memory During JVM Garbage Collection? Handles vs Direct Pointers Explained

This article explores how the JVM updates object references during garbage collection, compares handle‑based and direct‑pointer implementations, demonstrates why the default toString output shows a hashcode rather than a real address, and shows how to obtain the actual memory address using the JOL library.

Garbage CollectionHandle vs PointerJOL
0 likes · 7 min read
Do Objects Move in Memory During JVM Garbage Collection? Handles vs Direct Pointers Explained
macrozheng
macrozheng
Apr 6, 2021 · Backend Development

Boost Tomcat Performance: Essential Configurations for Faster Servers

This guide explains the most important Tomcat configuration parameters—including concurrency, thread pool, JVM settings, and key Connector options—so you can optimize the web container for higher throughput and lower latency without getting lost in hundreds of obscure options.

BackendConfigurationJVM
0 likes · 9 min read
Boost Tomcat Performance: Essential Configurations for Faster Servers
Intelligent Backend & Architecture
Intelligent Backend & Architecture
Mar 30, 2021 · Fundamentals

Understanding Java Basics: OOP, JVM, JDK, and Bytecode Explained

This article introduces core Java concepts, comparing procedural and object‑oriented thinking, explains what Java is, clarifies the relationships among JVM, JRE, and JDK, describes bytecode advantages, contrasts Java with C++, and details the three pillars of OOP—encapsulation, inheritance, and polymorphism—plus inner classes.

JVMOOPbytecode
0 likes · 9 min read
Understanding Java Basics: OOP, JVM, JDK, and Bytecode Explained
Java Backend Technology
Java Backend Technology
Mar 25, 2021 · Fundamentals

Why Is Java’s String Immutable? Uncover the JVM’s Secret

This article explains why Java String objects are immutable, how the JVM’s string constant pool reuses instances, the role of the final keyword and char[] storage, and demonstrates that all mutating operations actually create new String objects rather than altering the original.

JVMStringfinal
0 likes · 10 min read
Why Is Java’s String Immutable? Uncover the JVM’s Secret
Java Interview Crash Guide
Java Interview Crash Guide
Mar 22, 2021 · Backend Development

Top 30 Java Interview Questions Every Backend Engineer Should Master

This article compiles 30 essential Java interview questions covering OOP fundamentals, collections, concurrency, JVM internals, Spring framework, and performance optimization, providing concise explanations and key concepts to help backend developers prepare effectively for technical interviews.

JVMconcurrencyinterview
0 likes · 10 min read
Top 30 Java Interview Questions Every Backend Engineer Should Master
Architect's Tech Stack
Architect's Tech Stack
Mar 11, 2021 · Fundamentals

Understanding Java String Length Limits and JVM Specification

This article explains Java's String length limitations, detailing how strings are stored as char arrays, the int‑based length method, the JVM class‑file constant pool constraints (u2 index max 65535, effectively 65534), and demonstrates practical experiments confirming these limits.

JVMLength LimitString
0 likes · 8 min read
Understanding Java String Length Limits and JVM Specification
Selected Java Interview Questions
Selected Java Interview Questions
Mar 10, 2021 · Fundamentals

Understanding Java Heap, Stack, Metaspace, and Direct Memory OutOfMemoryError with Examples

This article explains the causes of various Java OutOfMemoryError scenarios—including heap, stack, metaspace, and direct memory overflow—provides diagnostic tools, shows reproducible code examples, and offers practical solutions such as adjusting JVM parameters and optimizing code to prevent memory exhaustion.

HeapJVMMetaspace
0 likes · 17 min read
Understanding Java Heap, Stack, Metaspace, and Direct Memory OutOfMemoryError with Examples
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Mar 7, 2021 · Backend Development

Comprehensive Guide to Java Backend Interview Experience and Preparation

This article shares a detailed personal account of multiple Java backend interview rounds, covering technical topics such as JVM, design patterns, distributed locks, Redis, and system design, while also offering practical advice on preparation, self‑presentation, career planning, and interview mindset.

Distributed SystemsJVMbackend interview
0 likes · 14 min read
Comprehensive Guide to Java Backend Interview Experience and Preparation
Selected Java Interview Questions
Selected Java Interview Questions
Feb 8, 2021 · Fundamentals

Understanding Memory Leaks and Memory Overflow: Causes, Types, and Solutions

Memory leaks, caused by unreleased dynamic allocations, can accumulate and lead to memory overflow, severely degrading performance or crashing applications; this article explains leak definitions, causes, classifications (persistent, intermittent, one‑time, implicit), overflow reasons, and practical mitigation steps such as proper allocation, deallocation, and JVM tuning.

JVMResource Managementdynamic allocation
0 likes · 9 min read
Understanding Memory Leaks and Memory Overflow: Causes, Types, and Solutions
Alibaba Cloud Developer
Alibaba Cloud Developer
Jan 28, 2021 · Backend Development

How Real-World Crises Shaped My Backend Coding Mastery

The author reflects on four pivotal experiences—from handling billion‑scale system outages to deep‑diving into JVM internals—that dramatically boosted his coding skills, emphasizing practical learning, robust code, and continuous self‑challenge for backend engineers.

JVMNetwork I/Ocode robustness
0 likes · 10 min read
How Real-World Crises Shaped My Backend Coding Mastery
Sohu Tech Products
Sohu Tech Products
Jan 28, 2021 · Operations

Performance Troubleshooting: JVM Safepoint, Biased Locking, Netty Worker Blocking, and Log Framework Issues

This article details a systematic investigation of various backend performance problems—including CMS GC delays, biased‑lock revocation, Netty worker thread blocking, and log‑framework overhead—provides root‑cause analysis, JVM tuning parameters, and practical recommendations to mitigate latency spikes in production services.

BackendJVMNetty
0 likes · 16 min read
Performance Troubleshooting: JVM Safepoint, Biased Locking, Netty Worker Blocking, and Log Framework Issues
Java Interview Crash Guide
Java Interview Crash Guide
Jan 28, 2021 · Backend Development

Why Adding More JVM Memory Won’t Fix Performance: Real Tuning Strategies

Even though many joke that simply increasing JVM heap solves performance issues, this article explains why blind memory expansion often worsens latency in high‑concurrency scenarios and presents concrete tuning strategies such as adjusting young generation size, reducing stack memory, and monitoring GC metrics.

Garbage CollectionJVMMemory Tuning
0 likes · 7 min read
Why Adding More JVM Memory Won’t Fix Performance: Real Tuning Strategies
JavaEdge
JavaEdge
Jan 23, 2021 · Fundamentals

Demystifying Java Class Loading: From Load to Initialization

This article explains how the Java Virtual Machine loads .class files into memory, detailing the three-stage process of loading, linking (verification, preparation, resolution), and initialization, while also covering array loading, custom class loaders, and common pitfalls such as deprecated APIs and verification options.

BackendClassLoadingJVM
0 likes · 10 min read
Demystifying Java Class Loading: From Load to Initialization
dbaplus Community
dbaplus Community
Jan 21, 2021 · Operations

7 Real‑World Production Failures and How to Diagnose Them Quickly

The article shares eight concrete production incidents—from JVM Full GC spikes and memory leaks to cache avalanches, deadlocks, DNS hijacking and bandwidth exhaustion—detailing their root causes, step‑by‑step diagnostics, code snippets, monitoring tricks and practical remediation measures for engineers.

Database DeadlockFull GCJVM
0 likes · 18 min read
7 Real‑World Production Failures and How to Diagnose Them Quickly
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Jan 19, 2021 · Backend Development

Understanding Java's Parent Delegation Model: Mechanism, Implementation, and How to Break It

This article explains Java's parent delegation class‑loading model, describes the four built‑in class loaders, details why delegation is needed, shows the loadClass implementation, and discusses how and why the mechanism can be overridden in frameworks such as JDBC, Tomcat, OSGi, and the Java 9 module system.

Custom ClassLoaderJVMParent Delegation
0 likes · 14 min read
Understanding Java's Parent Delegation Model: Mechanism, Implementation, and How to Break It
Alibaba Cloud Native
Alibaba Cloud Native
Jan 16, 2021 · Backend Development

How Real-World High‑Concurrency Challenges Shaped My Coding Skills

The author recounts four pivotal experiences—from handling a billion‑scale transaction system and joining Taobao’s ad‑hoc “firefighter” squad, to rewriting a communication framework and deep‑diving into JVM internals—illustrating how real‑world challenges and collaborative learning dramatically sharpened his coding and system‑reliability skills.

JVMhigh concurrencyjava
0 likes · 11 min read
How Real-World High‑Concurrency Challenges Shaped My Coding Skills
NetEase Smart Enterprise Tech+
NetEase Smart Enterprise Tech+
Jan 14, 2021 · Big Data

How Yidun Achieves Real-Time, High-Performance Public-Opinion Data Cleaning with Groovy and JVM

Yidun’s public-opinion monitoring platform transforms massive raw web data into a unified format by separating dynamic Groovy-script-driven cleaning from static processing, achieving real-time source integration, high throughput, scalability, and high availability while addressing format diversity, team coordination, and performance-flexibility trade-offs.

Big DataETLGroovy
0 likes · 5 min read
How Yidun Achieves Real-Time, High-Performance Public-Opinion Data Cleaning with Groovy and JVM
Java Interview Crash Guide
Java Interview Crash Guide
Jan 14, 2021 · Backend Development

Mastering JVM: Memory Areas, GC, and Class Loading Explained

This comprehensive guide walks through the Java Virtual Machine's runtime data areas, memory model, heap layout, garbage‑collection mechanisms, HotSpot internals, performance tuning flags, and class‑loading process, providing developers with the essential knowledge to optimize Java applications.

Garbage CollectionJVMJava Memory Model
0 likes · 29 min read
Mastering JVM: Memory Areas, GC, and Class Loading Explained
ITPUB
ITPUB
Jan 13, 2021 · Operations

How to Diagnose and Optimize Business System Performance Issues

This article outlines a step‑by‑step approach for identifying root causes of performance bottlenecks in production business systems, covering common scenarios such as high concurrency, data growth, hardware limits, database and middleware tuning, code inefficiencies, and the role of monitoring and APM tools.

APMDatabase TuningJVM
0 likes · 15 min read
How to Diagnose and Optimize Business System Performance Issues
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Jan 10, 2021 · Fundamentals

Understanding the JVM Memory Model, Garbage Collection Algorithms, and Performance Optimizations

This comprehensive guide explains the JVM memory layout, object allocation, garbage collection mechanisms such as mark‑sweep, copying, and mark‑compact, details GC roots, reference types, collector types, tuning parameters, and related Java performance tools, providing practical code examples and diagrams.

Garbage CollectionJVMMemory Management
0 likes · 42 min read
Understanding the JVM Memory Model, Garbage Collection Algorithms, and Performance Optimizations
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Jan 9, 2021 · Big Data

Performance Optimization of Elasticsearch in an ELK Log Architecture

This article summarizes a year‑long performance tuning of an ELK logging system, analyzing bottlenecks such as write thread pool saturation, JVM heap and GC settings, refresh intervals, translog durability, merge threads, shard and replica counts, and provides concrete configuration changes that reduced latency, eliminated data loss, and stabilized node resource usage.

ELKElasticsearchJVM
0 likes · 20 min read
Performance Optimization of Elasticsearch in an ELK Log Architecture
Big Data Technology & Architecture
Big Data Technology & Architecture
Jan 7, 2021 · Databases

Comprehensive HBase Optimization Guide: Table Design, RowKey, JVM Tuning, Cache Settings, and Read/Write Performance

This article provides a detailed, practical guide to optimizing HBase in production, covering table pre‑splitting, RowKey design, JVM memory and GC settings, MSLAB and BucketCache configuration, read‑side client and server tuning, write‑side strategies, and additional tips such as compression and scan caching.

CacheDatabase TuningHBase
0 likes · 29 min read
Comprehensive HBase Optimization Guide: Table Design, RowKey, JVM Tuning, Cache Settings, and Read/Write Performance
Senior Brother's Insights
Senior Brother's Insights
Jan 6, 2021 · Backend Development

Master Java Microbenchmarking with JMH: A Hands‑On Guide

This article introduces JMH, the Java Microbenchmark Harness, explains why traditional main‑method benchmarks are unreliable, and provides step‑by‑step instructions, code examples, and best‑practice annotations for accurately measuring method‑level performance in Java applications.

BenchmarkingJITJMH
0 likes · 20 min read
Master Java Microbenchmarking with JMH: A Hands‑On Guide
Java Backend Technology
Java Backend Technology
Jan 5, 2021 · Backend Development

How Tweaking IntelliJ IDEA Memory Settings Supercharges Java IDE Performance

This article details a systematic experiment that compares default, modest, balanced, and aggressive JVM memory configurations for IntelliJ IDEA, measuring startup time, project load speed, and garbage‑collection behavior on a large monolith and micro‑service projects, and concludes with practical tuning recommendations.

IDE optimizationIntelliJ IDEAJVM
0 likes · 10 min read
How Tweaking IntelliJ IDEA Memory Settings Supercharges Java IDE Performance
Architect's Tech Stack
Architect's Tech Stack
Jan 4, 2021 · Fundamentals

Evaluating the Impact of IntelliJ IDEA Memory Settings on IDE Performance

This article investigates how different IntelliJ IDEA memory configurations affect IDE speed and responsiveness by testing default, large, balanced, and sophisticated settings on a MacBook Pro with a monolithic Java project and microservices, measuring startup times, project loading, and JVM garbage collection using jstat.

IntelliJ IDEAJVMMemory Tuning
0 likes · 9 min read
Evaluating the Impact of IntelliJ IDEA Memory Settings on IDE Performance
Big Data Technology & Architecture
Big Data Technology & Architecture
Jan 2, 2021 · Fundamentals

Understanding G1 Garbage Collector: Architecture, Algorithms, and Tuning

This article explains the different types of Java garbage collectors, focuses on the G1 (Garbage‑First) collector’s region‑based architecture, key data structures and algorithms such as TLAB, PLAB, CSet, Card Table, RSet, and SATB, and provides detailed log analysis and tuning recommendations to improve pause times and throughput.

Garbage CollectionJVMMemory Management
0 likes · 37 min read
Understanding G1 Garbage Collector: Architecture, Algorithms, and Tuning
Zhuanzhuan Tech
Zhuanzhuan Tech
Dec 31, 2020 · Operations

How to Implement Graceful Restart of the JVM

This article explains the three JVM shutdown methods, how to use ShutdownHook and custom SignalHandler for cleanup, and outlines a step‑by‑step graceful restart process using kill -12, kill -15, and kill -9 signals, with sample scripts and references.

Graceful ShutdownJVMLinux signals
0 likes · 5 min read
How to Implement Graceful Restart of the JVM
Alibaba Cloud Developer
Alibaba Cloud Developer
Dec 29, 2020 · Backend Development

How to Implement Class Isolation in Java with Custom ClassLoaders

This article explains why jar version conflicts cause runtime errors in Java, introduces class isolation as a solution, and provides step‑by‑step implementations of custom ClassLoaders using both findClass and loadClass overrides, complete with code examples and execution results.

Class IsolationCustom ClassLoaderDependency Conflict
0 likes · 13 min read
How to Implement Class Isolation in Java with Custom ClassLoaders
Senior Brother's Insights
Senior Brother's Insights
Dec 28, 2020 · Fundamentals

Why Java’s JIT Compiler Matters: How HotSpot Optimizes Your Code

This article explains the role of Java's Just‑In‑Time compiler, how HotSpot combines interpretation and compilation, the mechanisms for hotspot detection, the differences between C1 and C2 compilers, performance testing across modes, and the key optimization techniques that make JIT‑generated code faster.

HotSpotJITJVM
0 likes · 16 min read
Why Java’s JIT Compiler Matters: How HotSpot Optimizes Your Code
Code Ape Tech Column
Code Ape Tech Column
Dec 25, 2020 · Fundamentals

Inside the JVM: Unraveling Memory Areas, GC, and Class Loading

This article provides a comprehensive overview of the Java Virtual Machine, covering its runtime data areas, the Java Memory Model, heap organization, garbage‑collection algorithms, HotSpot implementation details, JVM tuning parameters, and the class‑loading mechanism.

Garbage CollectionJMMJVM
0 likes · 29 min read
Inside the JVM: Unraveling Memory Areas, GC, and Class Loading
Xianyu Technology
Xianyu Technology
Dec 24, 2020 · Backend Development

Root Cause Analysis of Metaspace OOM Triggered by Arthas Trace

Tracing a large method with Arthas caused a Metaspace OOM because constant‑pool rewrites inflated the Non‑Class space, each rewrite copying a massive StackMapTable, but preserving the original constant‑pool layout in Arthas stops the growth, and exposing off‑heap metrics aids production monitoring.

ArthasJVMMetaspace
0 likes · 20 min read
Root Cause Analysis of Metaspace OOM Triggered by Arthas Trace
Qunar Tech Salon
Qunar Tech Salon
Dec 23, 2020 · Fundamentals

Exploring Java Serviceability Agent (SA): JVM Memory Model, JIT, and Low‑Level Debugging Tools

This article provides a comprehensive, English‑language walkthrough of Java Serviceability Agent (SA), covering how to obtain and analyze JVM internal structures, the memory model and Linux process layout, the oop/klass split, JIT compilation mechanics, and the implementation of tools such as jmap and jstack, all illustrated with code snippets and diagrams.

JITJVMLow‑Level Tools
0 likes · 35 min read
Exploring Java Serviceability Agent (SA): JVM Memory Model, JIT, and Low‑Level Debugging Tools
ITPUB
ITPUB
Dec 8, 2020 · Fundamentals

Why Does Java’s String Have a 65,534‑Character Limit? Deep Dive into JVM Specs

Java’s String length is bounded by both the int‑based array limit (≈2 billion characters) and a JVM compile‑time restriction of 65,534 characters due to the constant‑pool’s u2 index, a nuance explained through source code examples, JVM spec excerpts, and a practical experiment.

Constant PoolJVMLength Limit
0 likes · 8 min read
Why Does Java’s String Have a 65,534‑Character Limit? Deep Dive into JVM Specs