Tagged articles

JVM

1071 articles · Page 8 of 11
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.

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

ImmutabilityJVMfinal
0 likes · 10 min read
Why Is Java’s String Immutable? Uncover the JVM’s Secret
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.

BytecodeJVMLength Limit
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.

JVMMetaspaceOutOfMemoryError
0 likes · 17 min read
Understanding Java Heap, Stack, Metaspace, and Direct Memory OutOfMemoryError with Examples
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.

JVMdynamic allocationmemory leak
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.

JVMcode robustnesshigh concurrency
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.

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

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

Cache AvalancheDatabase DeadlockFull GC
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.

Class LoadingClassLoaderCustom ClassLoader
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.

Class LoadingGarbage CollectionJVM
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.

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

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

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

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

JVMLinux signalsShutdownHook
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 IsolationClassLoaderCustom ClassLoader
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.

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

Class LoadingGarbage CollectionJVM
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.

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

JVMLow‑Level ToolsMemory Model
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
Selected Java Interview Questions
Selected Java Interview Questions
Dec 8, 2020 · Backend Development

High‑Concurrency Performance Tuning of a Java SSM E‑commerce Project: Diagnosis, Optimization, and Results

This article details a complete end‑to‑end high‑concurrency tuning process for a Java SSM monolithic e‑commerce system, covering problem identification, root‑cause analysis, a series of JVM, Tomcat, Redis and JDBC optimizations, horizontal scaling, code refactoring, and the resulting stability improvements.

JVMRedisSSM
0 likes · 9 min read
High‑Concurrency Performance Tuning of a Java SSM E‑commerce Project: Diagnosis, Optimization, and Results
IT Architects Alliance
IT Architects Alliance
Dec 2, 2020 · Operations

How to Diagnose and Optimize Business System Performance Issues

This article outlines a comprehensive process for identifying root causes of performance bottlenecks in production business systems, covering hardware, database, middleware, JVM settings, code inefficiencies, and monitoring tools, and provides practical optimization techniques for each layer.

DatabaseJVMMiddleware
0 likes · 16 min read
How to Diagnose and Optimize Business System Performance Issues
Programmer DD
Programmer DD
Nov 29, 2020 · Backend Development

Why Does Java Limit String Literals to 65,534 Characters?

This article explains how Java stores strings using a char array, the theoretical maximum length of 2^31‑1 characters, and why the JVM limits string literals to 65,534 characters due to constant‑pool u2 indexing, illustrated with code examples and a practical experiment.

Constant PoolJVMLength Limit
0 likes · 9 min read
Why Does Java Limit String Literals to 65,534 Characters?
Top Architect
Top Architect
Nov 26, 2020 · Fundamentals

Understanding Java String Length Limits: JVM Specification, Constant‑Pool Constraints, and Practical Experiments

This article explains why Java strings have length limits, detailing the char[] storage, the int‑based array size ceiling, the JVM constant‑pool u2 restriction of 65535 bytes, and demonstrates a compile‑time experiment building a 65,534‑character literal to illustrate the practical impact.

Constant PoolJVMLength Limit
0 likes · 8 min read
Understanding Java String Length Limits: JVM Specification, Constant‑Pool Constraints, and Practical Experiments
Programmer DD
Programmer DD
Nov 13, 2020 · Backend Development

10 Tricky Java Interview Questions and Their Answers Explained

This article presents ten challenging Java interview questions covering method overloading, object comparison, garbage collection, parameter passing, string creation, floating‑point precision, static method behavior, double comparison, try‑catch‑finally execution, and main method overloading, each followed by a concise explanation of the correct answer.

InterviewJVMOOP
0 likes · 7 min read
10 Tricky Java Interview Questions and Their Answers Explained
Qunar Tech Salon
Qunar Tech Salon
Nov 13, 2020 · Fundamentals

Understanding JVM Garbage Collectors: Memory Models, Generational and Region-Based Designs, and Low‑Latency Collectors

This article examines the evolution and classification of HotSpot JVM garbage collectors, explaining the performance triangle of heap usage, throughput and pause time, and detailing generational, region‑based, and low‑latency collectors such as G1, Shenandoah, and ZGC with their design principles and benchmark results.

G1Garbage CollectionJVM
0 likes · 19 min read
Understanding JVM Garbage Collectors: Memory Models, Generational and Region-Based Designs, and Low‑Latency Collectors
Meituan Technology Team
Meituan Technology Team
Nov 12, 2020 · Backend Development

Comprehensive Guide to Java CMS Garbage Collection Issues and Optimization

This guide explains Java HotSpot CMS garbage collection fundamentals, common problem scenarios like space shock and premature promotion, systematic root‑cause analysis using logs and tools, and practical optimization tactics such as stabilizing heap size, tuning CMS flags, monitoring off‑heap memory, and migrating to newer collectors.

CMSGarbage CollectionJVM
0 likes · 69 min read
Comprehensive Guide to Java CMS Garbage Collection Issues and Optimization
High Availability Architecture
High Availability Architecture
Nov 5, 2020 · Backend Development

Why We Chose Java for Our High‑Frequency Trading Application

The article explains how a high‑frequency trading firm evaluated Java versus C++ for ultra‑low‑latency trading, discusses the challenges of JVM JIT compilation and garbage‑collection pauses, and shows how Azul Zing’s C4 collector delivers near‑C++ latency while preserving Java’s development productivity.

Azul ZingGarbage CollectionJVM
0 likes · 11 min read
Why We Chose Java for Our High‑Frequency Trading Application
Alibaba Cloud Developer
Alibaba Cloud Developer
Nov 5, 2020 · Fundamentals

Why Understanding JVM Garbage Collection Algorithms Is Essential for Advanced Java Developers

This article explores the underlying principles of Java Virtual Machine garbage collection, detailing core concepts, classic algorithms, generational and incremental improvements, and the role of read/write barriers, helping developers grasp why mastering GC is a fundamental skill for high‑performance Java programming.

GC AlgorithmsGarbage CollectionJVM
0 likes · 26 min read
Why Understanding JVM Garbage Collection Algorithms Is Essential for Advanced Java Developers
Tencent Cloud Middleware
Tencent Cloud Middleware
Oct 30, 2020 · Cloud Computing

How KonaJDK Powers Tencent Cloud Java, Big Data, and Secure Computing

This article explains how Tencent's self‑developed KonaJDK underpins cloud Java services, enhances micro‑service monitoring, adds national cryptography support, optimizes large‑heap tools like jmap, and delivers performance gains for big‑data workloads, while contributing key features back to the OpenJDK community.

Big DataCloud ComputingJVM
0 likes · 11 min read
How KonaJDK Powers Tencent Cloud Java, Big Data, and Secure Computing
Java Backend Technology
Java Backend Technology
Oct 27, 2020 · Backend Development

Master JVM Performance: Essential Tools and Real-World Usage Guide

This article explains common JVM problems such as OutOfMemoryError, memory leaks, and thread deadlocks, then introduces core monitoring tools—jps, jstack, jmap/jhat, jstat, and hprof—detailing their syntax, options, and practical examples to help Java developers diagnose and tune production applications.

HprofJVMMonitoring
0 likes · 15 min read
Master JVM Performance: Essential Tools and Real-World Usage Guide
Big Data Technology & Architecture
Big Data Technology & Architecture
Oct 25, 2020 · Fundamentals

Analyzing a JVM Crash Caused by Compressed Oops and MemberName vmtarget Mis‑handling

This article walks through a JVM crash that occurs during garbage collection, explains how to use the SA tool CLHSDB to locate the offending object, discusses the role of compressed oops and MemberName vmtarget, and provides concrete fixes such as adjusting field writes or disabling pointer compression.

CLHSDBCompressedOopsCrashAnalysis
0 likes · 9 min read
Analyzing a JVM Crash Caused by Compressed Oops and MemberName vmtarget Mis‑handling
Big Data Technology & Architecture
Big Data Technology & Architecture
Oct 25, 2020 · Backend Development

Understanding Value Numbering and Global Value Numbering in JVM C1 Compiler Optimization

This article explains how the JVM C1 compiler uses value numbering and global value numbering to merge identical computations, detailing hash calculation, ValueMapArray structures, control‑flow analysis, kill scenarios, and code transformation techniques for effective optimization.

Data Flow AnalysisGlobal Value NumberingJVM
0 likes · 12 min read
Understanding Value Numbering and Global Value Numbering in JVM C1 Compiler Optimization
Meituan Technology Team
Meituan Technology Team
Oct 22, 2020 · Fundamentals

Java JIT Compilation: Principles, Optimizations, and Practical Tips

Java’s JIT compilation transforms bytecode into optimized native code at runtime using tiered C1 and C2 compilers—or Graal—to apply SSA, inlining, escape analysis, loop unrolling, and other optimizations, while profiling‑driven thresholds and tuning flags let developers balance startup speed, peak throughput, and latency.

JVMOptimizationjava
0 likes · 36 min read
Java JIT Compilation: Principles, Optimizations, and Practical Tips
Top Architect
Top Architect
Oct 14, 2020 · Fundamentals

Deep Dive into Java synchronized: Object Header, Lock Types, and JVM Implementation

This article provides a comprehensive analysis of the HotSpot JVM implementation of the synchronized keyword, covering object header layout, the three lock states (biased, lightweight, heavyweight), their acquisition and release processes, bytecode differences, and practical code examples to help readers understand Java concurrency internals.

JVMObject headerconcurrency
0 likes · 16 min read
Deep Dive into Java synchronized: Object Header, Lock Types, and JVM Implementation
Java Backend Technology
Java Backend Technology
Sep 22, 2020 · Fundamentals

Why Is Java’s main Method Public, Static, and Void? Explained

This article explores why Java’s entry‑point main method must be declared public, static, and void, covering JVM requirements, the role of static loading, accessibility, and the rationale for its void return type, while also noting related modifiers and common misconceptions.

JVMProgramming Fundamentalsjava
0 likes · 6 min read
Why Is Java’s main Method Public, Static, and Void? Explained
Senior Brother's Insights
Senior Brother's Insights
Sep 15, 2020 · Fundamentals

Why Is StringBuilder Not Thread‑Safe? Deep Dive into Java’s Internals

Although StringBuilder and StringBuffer share similar APIs, StringBuilder lacks thread safety because its append method updates shared fields without synchronization, leading to race conditions that can corrupt the internal char array and cause ArrayIndexOutOfBoundsException, as demonstrated by a multithreaded test example.

JVMStringBuilderThread Safety
0 likes · 7 min read
Why Is StringBuilder Not Thread‑Safe? Deep Dive into Java’s Internals
Wukong Talks Architecture
Wukong Talks Architecture
Sep 15, 2020 · Fundamentals

JVM Parameter Types and Hands‑On Experiments

This tutorial explains the three main categories of JVM parameters—standard, X, and XX—demonstrates how to view, modify, and verify them using command‑line tools such as java, jps, and jinfo, and provides step‑by‑step hands‑on labs for each type.

Command LineJInfoJVM
0 likes · 9 min read
JVM Parameter Types and Hands‑On Experiments
JD Cloud Developers
JD Cloud Developers
Sep 9, 2020 · Fundamentals

Unlocking JVM Secrets: A Visual Guide to Java Memory and Execution

This article demystifies the JVM’s memory architecture and execution engine, walking through class loading, the runtime data areas, JIT versus interpreter, and native interactions, complemented by clear diagrams to help developers understand how Java manages memory and executes code.

ClassLoadingJVMMemory
0 likes · 7 min read
Unlocking JVM Secrets: A Visual Guide to Java Memory and Execution
Java Captain
Java Captain
Sep 7, 2020 · Fundamentals

Understanding the Java JVM Memory Model and Its Partitions

This article provides a comprehensive overview of the Java Virtual Machine runtime data area, detailing each memory partition—including the JVM stack, native method stack, heap, method area, and program counter—and explains the concept and usage of direct memory.

JVMMemory ModelRuntime
0 likes · 4 min read
Understanding the Java JVM Memory Model and Its Partitions
Programmer DD
Programmer DD
Sep 6, 2020 · Fundamentals

Understanding Java JVM Memory Model: All Runtime Data Areas Explained

This article provides a comprehensive overview of the Java Virtual Machine memory model, detailing each runtime data area—including the heap, stacks, method area, program counter, and direct memory—and explains their purposes and interactions within Java applications.

JVMMemory ModelRuntime Data Area
0 likes · 4 min read
Understanding Java JVM Memory Model: All Runtime Data Areas Explained
Java Architecture Diary
Java Architecture Diary
Sep 4, 2020 · Cloud Computing

Boost Java Cloud Run Performance: Proven JVM and Container Optimizations

Learn how to accelerate Java applications on Google Cloud Run by minimizing container image size, leveraging container-aware JVM settings, reducing thread usage, and applying Spring Boot-specific tweaks such as layered JARs, lazy initialization, and avoiding background tasks to cut startup latency and memory consumption.

Cloud RunDockerJVM
0 likes · 17 min read
Boost Java Cloud Run Performance: Proven JVM and Container Optimizations
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Sep 3, 2020 · Fundamentals

Understanding Pass‑by‑Value and the Illusion of Pass‑by‑Reference in Java

This article explains that Java fundamentally uses pass‑by‑value for method parameters, distinguishing between primitive value types stored on the stack and reference types whose references are passed, and demonstrates the behavior with code examples that clarify why apparent reference passing is actually passing a copy of the reference.

JVMProgramming FundamentalsReference Types
0 likes · 7 min read
Understanding Pass‑by‑Value and the Illusion of Pass‑by‑Reference in Java
Top Architect
Top Architect
Aug 28, 2020 · Backend Development

Comprehensive Performance Tuning of a High‑Concurrency SSM E‑Commerce Application

This article details a step‑by‑step performance tuning process for an SSM‑based e‑commerce system experiencing severe CPU, memory, Redis, and JDBC issues during flash‑sale spikes, covering root‑cause analysis, JVM and Tomcat optimizations, connection‑pool adjustments, code refactoring, and the resulting stability improvements.

JVMSSMTomcat
0 likes · 7 min read
Comprehensive Performance Tuning of a High‑Concurrency SSM E‑Commerce Application
Programmer DD
Programmer DD
Aug 25, 2020 · Fundamentals

What Does Java’s RUNNABLE State Really Mean? A Deep Dive into Thread States

This article explains the distinction between Java's RUNNABLE thread state and the operating‑system concepts of ready, running, and waiting, covering JVM‑level definitions, I/O blocking behavior, time‑slice scheduling, and includes concrete code examples to illustrate how blocked I/O still appears as RUNNABLE.

I/OJVMRunnable
0 likes · 12 min read
What Does Java’s RUNNABLE State Really Mean? A Deep Dive into Thread States
Senior Brother's Insights
Senior Brother's Insights
Aug 24, 2020 · Backend Development

Why == Fails but equals Works: Java String Comparison Explained

This article explains how Java’s == operator compares object references while the String class’s equals method compares actual character values, covering JVM memory layout, literal pooling, code implementation, and practical examples that clarify common interview questions.

InterviewJVMequals
0 likes · 8 min read
Why == Fails but equals Works: Java String Comparison Explained
Programmer DD
Programmer DD
Aug 17, 2020 · Fundamentals

JVM Object Creation: Memory Allocation, Layout, and Access Explained

This article explains the JVM's process for creating a Java object, covering class loading checks, memory allocation strategies such as bump-pointer and free list, thread-safe allocation mechanisms, object header composition, instance data layout, padding, and the ways references locate objects via handles or direct pointers.

JVMObject CreationObject Layout
0 likes · 7 min read
JVM Object Creation: Memory Allocation, Layout, and Access Explained
dbaplus Community
dbaplus Community
Aug 11, 2020 · Operations

7 Real-World Production Failures and Fast Diagnosis Techniques

The article shares seven authentic production incident cases—from JVM Full GC spikes and memory leaks to cache avalanches, disk I/O blocks, database deadlocks, DNS hijacking, and bandwidth exhaustion—detailing root causes, step‑by‑step troubleshooting methods, code snippets, and practical mitigation strategies for engineers.

Cache AvalancheDNS hijackingDatabase Deadlock
0 likes · 17 min read
7 Real-World Production Failures and Fast Diagnosis Techniques
High Availability Architecture
High Availability Architecture
Aug 11, 2020 · Operations

Understanding and Optimizing ZGC (Z Garbage Collector) for Low‑Latency Java Services

This article examines the Z Garbage Collector (ZGC) introduced in JDK 11, detailing its low‑pause design goals, underlying concurrent marking‑copy algorithm, colored pointer and read‑barrier techniques, practical tuning parameters, real‑world case studies, and the performance impact of upgrading from CMS/G1 to ZGC in high‑throughput, low‑latency services.

Garbage CollectionJVMZGC
0 likes · 28 min read
Understanding and Optimizing ZGC (Z Garbage Collector) for Low‑Latency Java Services
Wukong Talks Architecture
Wukong Talks Architecture
Aug 7, 2020 · Fundamentals

JVM Interview Questions and Java Mind Map Resources

This article presents a comprehensive collection of JVM interview questions covering memory areas, garbage collection, class loading, and performance tuning, along with eleven detailed Java mind‑map images that visually summarize core concepts such as the JVM architecture, GC algorithms, and thread management.

Class LoadingGarbage CollectionInterview
0 likes · 8 min read
JVM Interview Questions and Java Mind Map Resources
Programmer DD
Programmer DD
Aug 6, 2020 · Fundamentals

Why Overriding equals Without hashCode Can Cause Memory Leaks in Java

This article explores the distinction between OutOfMemory errors and memory leaks in Java, explains how improper use of static fields, unclosed streams, incorrect equals/hashCode implementations, and ThreadLocal can lead to leaks, and provides practical solutions and tools such as JVisualVM to detect and prevent them.

JVMOutOfMemoryThreadLocal
0 likes · 14 min read
Why Overriding equals Without hashCode Can Cause Memory Leaks in Java
Top Architect
Top Architect
Jul 29, 2020 · Backend Development

Investigation of Excessive Off‑Heap Memory Usage After Migrating a Spring Boot Project to the MDP Framework

The article details a step‑by‑step forensic analysis of why a Spring Boot application migrated to the MDP framework consumed far more physical memory than its configured 4 GB heap, uncovering off‑heap allocations caused by native code, package‑scanning, and glibc memory‑pool behavior, and explains how limiting scan paths or upgrading Spring Boot resolves the issue.

JVMNative MemoryOff-heap memory
0 likes · 12 min read
Investigation of Excessive Off‑Heap Memory Usage After Migrating a Spring Boot Project to the MDP Framework
Programmer DD
Programmer DD
Jul 26, 2020 · Backend Development

When Does Java Use StringBuilder for String Concatenation? A Deep Dive

This article examines why identical-looking string concatenations in Java sometimes use StringBuilder and other times are optimized away, showing bytecode differences, explaining compiler behavior, and summarizing the conditions that affect reference equality.

JVMStringBuildercompiler optimization
0 likes · 4 min read
When Does Java Use StringBuilder for String Concatenation? A Deep Dive
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Jul 10, 2020 · Fundamentals

Common Java OutOfMemoryError Types and Their Solutions

This article explains the various OutOfMemoryError variants in the Java Virtual Machine, illustrates each with reproducible code examples, analyzes root causes, and provides practical mitigation strategies such as JVM flags, code refactoring, and system‑level adjustments.

JVMMemory ManagementOutOfMemoryError
0 likes · 20 min read
Common Java OutOfMemoryError Types and Their Solutions
Java Backend Technology
Java Backend Technology
Jul 7, 2020 · Backend Development

Why My Spring Boot App Swallowed 7 GB RAM: Uncovering Native Memory Leaks

After migrating a project to the MDP framework based on Spring Boot, the author observed excessive swap usage and physical memory consumption of 7 GB despite a 4 GB heap limit, and through a series of JVM, system, and native‑code diagnostics identified Spring Boot’s ZipInflaterInputStream native‑memory leak caused by unchecked package scanning.

JVMNative MemorySpring Boot
0 likes · 12 min read
Why My Spring Boot App Swallowed 7 GB RAM: Uncovering Native Memory Leaks