Tagged articles
205 articles
Page 1 of 3
Java Architect Essentials
Java Architect Essentials
Apr 11, 2026 · Backend Development

Why Java Reflection Slows You Down and How Dynamic Proxies Can Speed It Up 8×

This article analyzes why Java reflection incurs high latency due to repeated method lookups and security checks, presents benchmark data showing up to 500‑fold slowdown, and demonstrates how caching Method objects with JDK dynamic proxies can reduce overhead by up to eight times while offering practical code examples and usage tips.

BackendDynamic ProxyJDK
0 likes · 6 min read
Why Java Reflection Slows You Down and How Dynamic Proxies Can Speed It Up 8×
Architecture Digest
Architecture Digest
Apr 6, 2026 · Backend Development

Why UUIDv7 Is the Ideal Distributed ID Solution for Java 26 and How to Use It Safely

The article explains how Java 26’s native support for RFC 9562 UUIDv7 provides an ordered, unique, and standards‑compliant distributed identifier, compares it with traditional UUIDs and Snowflake, shows the new API usage, highlights hidden pitfalls, and offers practical best‑practice guidelines for production deployment.

JDKTime‑based UUIDUUIDv7
0 likes · 6 min read
Why UUIDv7 Is the Ideal Distributed ID Solution for Java 26 and How to Use It Safely
Lisa Notes
Lisa Notes
Mar 14, 2026 · Fundamentals

How to Build Your First Java Application from Scratch

This tutorial walks you through installing the JDK, creating a HelloJava.java source file with Notepad, compiling it using javac, running it with the java interpreter, and explains the basic structure, comments, class definition, and main method of a Java program.

CommandLineCompilationHelloWorld
0 likes · 12 min read
How to Build Your First Java Application from Scratch
Lisa Notes
Lisa Notes
Mar 13, 2026 · Fundamentals

How to Set Up a Java Development Environment from Scratch

This guide walks through installing the JDK, configuring JAVA_HOME, PATH and CLASSPATH on Windows, and verifying the setup, showing that only the JDK and a basic text editor are needed to write and run your first Java program.

Environment VariablesJDKJava
0 likes · 9 min read
How to Set Up a Java Development Environment from Scratch
SpringMeng
SpringMeng
Feb 8, 2026 · Backend Development

Why Companies Still Stick with JDK 8 Even Though JDK 25 Is Released

The article analyzes why many enterprises continue using JDK 8 despite newer releases like JDK 25, examining compatibility issues, stability, learning costs, third‑party library support, performance trade‑offs, commercial licensing, and toolchain considerations while offering migration guidance.

CompatibilityJDKJava
0 likes · 22 min read
Why Companies Still Stick with JDK 8 Even Though JDK 25 Is Released
21CTO
21CTO
Jan 18, 2026 · Fundamentals

What Java Features Are Coming in 2026? A Look at Loom, Valhalla, Panama and More

Oracle’s 2026 Java roadmap highlights preview releases for value types, code reflection, AOT compilation, and structured concurrency, detailing progress on Project Loom, Valhalla, Panama, Amber, and Babylon, while noting timelines, goals, and the uncertainty of exact release dates.

AOT compilationJDKJava
0 likes · 6 min read
What Java Features Are Coming in 2026? A Look at Loom, Valhalla, Panama and More
IT Services Circle
IT Services Circle
Dec 14, 2025 · Backend Development

Why Do Companies Still Stick to JDK 8 When JDK 25 Is Available?

Despite the release of JDK 25, many enterprises continue using JDK 8 due to compatibility challenges, mature ecosystem, stability, team familiarity, third‑party library support, performance trade‑offs, and cost considerations, making the upgrade decision a complex balance of technical and business factors.

Enterprise DevelopmentJDKJava
0 likes · 17 min read
Why Do Companies Still Stick to JDK 8 When JDK 25 Is Available?
Architecture Digest
Architecture Digest
Oct 29, 2025 · Fundamentals

What’s New in Java 25? 15 Game‑Changing Features You Must Know

Java 25, the latest long‑term support release, introduces a suite of enhancements—including pattern‑matching for primitive types, module import declarations, a compact main method, improved record classes, structured concurrency, scoped and stable values, vector API, compact object headers, Shenandoah GC, AOT optimizations, JFR upgrades, security updates, and the removal of 32‑bit x86—aimed at making Java more concise, safer, faster, and easier to observe.

JDKJavaJava 25
0 likes · 9 min read
What’s New in Java 25? 15 Game‑Changing Features You Must Know
JD Retail Technology
JD Retail Technology
Sep 4, 2025 · Operations

Mastering High Availability: Real-World Pitfalls and Solutions from JD's Production Systems

This article walks through the challenges of building high‑availability systems—covering applications, databases, caches, message queues, containers, GC, and more—using JD’s production experiences to highlight common pitfalls, root‑cause analyses, and practical mitigation strategies for engineers seeking resilient architecture.

CacheDistributed SystemsJDK
0 likes · 37 min read
Mastering High Availability: Real-World Pitfalls and Solutions from JD's Production Systems
macrozheng
macrozheng
Aug 27, 2025 · Backend Development

Oracle JDK vs OpenJDK: Which JDK Should Power Your Production Java Apps?

An in‑depth comparison of Oracle JDK and OpenJDK covers their origins, licensing, feature sets, release cycles, performance benchmarks, security updates, and practical migration guides, helping developers choose the right JDK for production environments and avoid costly legal or stability pitfalls.

JDKJavaLicensing
0 likes · 12 min read
Oracle JDK vs OpenJDK: Which JDK Should Power Your Production Java Apps?
Architect's Guide
Architect's Guide
Jul 13, 2025 · Backend Development

Static vs Dynamic Proxy in Java: When and How to Use Each

This article explains the differences between static and dynamic proxies in Java, demonstrates how to implement static proxies, JDK dynamic proxies, and CGLib proxies with complete code examples, and compares their advantages, limitations, and typical use cases in backend development.

Backend DevelopmentDynamic ProxyJDK
0 likes · 9 min read
Static vs Dynamic Proxy in Java: When and How to Use Each
Cognitive Technology Team
Cognitive Technology Team
Jul 12, 2025 · Backend Development

Java 25 Unveiled: Key Language, API, and Performance Enhancements

Java 25, the upcoming LTS release slated for September 2025, introduces a suite of language and compiler upgrades such as pattern matching for primitive types, module import declarations, flexible constructor bodies, compact source files, plus new APIs like ScopedValue, Structured Concurrency, Vector, PEM handling, and numerous performance and platform improvements, all illustrated with practical code examples.

API EnhancementsJDKJava
0 likes · 19 min read
Java 25 Unveiled: Key Language, API, and Performance Enhancements
Cognitive Technology Team
Cognitive Technology Team
May 16, 2025 · Fundamentals

Why Java Switched HashMap Insertion to Tail and How It Affects Concurrency

This article examines the evolution of Java's HashMap from head‑insertion in JDK 1.7 to tail‑insertion in JDK 1.8, explains how the change eliminates circular‑list deadlocks during concurrent resizing, discusses remaining concurrency pitfalls such as red‑black tree conversion, and offers best‑practice solutions like using ConcurrentHashMap and proper initial capacity settings.

Data StructuresHashMapJDK
0 likes · 10 min read
Why Java Switched HashMap Insertion to Tail and How It Affects Concurrency
macrozheng
macrozheng
Mar 26, 2025 · Fundamentals

What’s New in Java 24? 24 Game‑Changing Features Explained

Java 24, the latest non‑LTS release, brings 24 new features across security, performance, and language enhancements—including KDF APIs, ahead‑of‑time class loading, a new class‑file API, stream gatherers, scoped values, and quantum‑resistant signatures—while previewing Java 25 for September.

JDKJEPJava24
0 likes · 15 min read
What’s New in Java 24? 24 Game‑Changing Features Explained
21CTO
21CTO
Feb 4, 2025 · Fundamentals

Explore Java 24: New Experimental, Incubator, Preview & Permanent JEPs

Java 24, a short‑term JDK release slated for March 2025, introduces 24 new features—including two experimental JEPs, one incubator JEP, seven preview JEPs, and fourteen permanent JEPs—while outlining Oracle’s roadmap toward the subsequent long‑term Java 25 version.

JDKJEPJava
0 likes · 10 min read
Explore Java 24: New Experimental, Incubator, Preview & Permanent JEPs
IT Services Circle
IT Services Circle
Dec 26, 2024 · Fundamentals

Understanding the JDK Bug in Arrays.asList().toArray() and Its Fix in JDK 9

This article explains a long‑standing JDK bug where Arrays.asList().toArray() returns an Object[] that causes ArrayStoreException when modified, analyzes the underlying implementation differences between java.util.ArrayList and Arrays$ArrayList, and describes how the issue was finally fixed in JDK 9.

ArrayStoreExceptionArrays.asListJDK
0 likes · 9 min read
Understanding the JDK Bug in Arrays.asList().toArray() and Its Fix in JDK 9
dbaplus Community
dbaplus Community
Nov 10, 2024 · Cloud Native

Which JDK Performs Best on Kubernetes? A Detailed Comparison

This article benchmarks several popular JDK distributions on Kubernetes using a Spring Boot 3 application, measuring image size, startup time, memory consumption, and throughput with k6, and concludes that performance differences are minimal after repeated testing.

DockerJDKJava
0 likes · 11 min read
Which JDK Performs Best on Kubernetes? A Detailed Comparison
Su San Talks Tech
Su San Talks Tech
Sep 23, 2024 · Backend Development

Boost Java Performance: 5 Proven HashMap & Enum Optimizations

This article presents five practical Java performance tweaks—pre‑allocating HashMap capacity, using object keys, caching Enum values, replacing String constants with Enums, and upgrading the JDK—backed by JMH benchmarks that show up to 9.5× speed gains.

BenchmarkHashMapJDK
0 likes · 17 min read
Boost Java Performance: 5 Proven HashMap & Enum Optimizations
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Sep 20, 2024 · Cloud Computing

Step-by-Step Guide to Setting Up a Cloud Server with JDK, Redis, and MySQL on Alibaba Cloud ECS

This article provides a detailed, beginner‑friendly tutorial on purchasing an Alibaba Cloud ECS instance, configuring the operating system, and installing JDK 8, Redis, and MySQL 8.0—including necessary firewall and security‑group settings—to launch a functional web‑site environment.

Alibaba CloudJDKServer Setup
0 likes · 12 min read
Step-by-Step Guide to Setting Up a Cloud Server with JDK, Redis, and MySQL on Alibaba Cloud ECS
Alibaba Cloud Developer
Alibaba Cloud Developer
Aug 29, 2024 · Fundamentals

How Java’s String Concatenation Evolved: From '+' to Hidden Classes

This article traces the evolution of Java string concatenation from the simple '+' operator through JDK 8’s StringBuilder implementation, the JDK 9+ StringConcatFactory with invokedynamic, and Alibaba’s PR 20273 that introduces hidden‑class bytecode generation, highlighting performance gains and startup‑time improvements.

JDKMethodHandlesOpenJDK
0 likes · 17 min read
How Java’s String Concatenation Evolved: From '+' to Hidden Classes
DaTaobao Tech
DaTaobao Tech
Jul 5, 2024 · Backend Development

Introduction to the Java Module System (Project Jigsaw)

The Java Module System (Project Jigsaw) introduced in Java 9 defines uniquely named modules with descriptors that declare dependencies, exported and opened packages, and services, enabling clear dependency management, smaller custom runtimes, stronger encapsulation, improved performance, security, and easier maintenance, while supporting migration strategies and best‑practice guidelines.

JDKJavajigsaw
0 likes · 21 min read
Introduction to the Java Module System (Project Jigsaw)
Open Source Linux
Open Source Linux
May 21, 2024 · Operations

Set Up CentOS 7 VM, Configure IP, Install JDK, MySQL, Tomcat & Auto-Start

This guide walks through importing a CentOS 7 virtual machine in VMware, configuring network settings (dynamic or static IP), resolving common issues, then installing and configuring JDK 1.8, MySQL 5.7, and Tomcat 8.5, and finally creating systemd services for automatic startup of Java applications.

CentOSJDKNetwork Configuration
0 likes · 14 min read
Set Up CentOS 7 VM, Configure IP, Install JDK, MySQL, Tomcat & Auto-Start
Java Tech Enthusiast
Java Tech Enthusiast
Mar 31, 2024 · Fundamentals

Command-Line Java Execution: From JDK 8 to JDK 22

The article guides beginners through command‑line Java execution, showing how JDK 8 requires explicit compilation and class‑path, JDK 11 introduces single‑source file launching without compilation, and JDK 22 extends this to multi‑file programs, allowing direct execution of several source files with a simple java command.

CompilationJDKJava
0 likes · 5 min read
Command-Line Java Execution: From JDK 8 to JDK 22
Java Captain
Java Captain
Mar 14, 2024 · Fundamentals

Why and How to Upgrade from JDK 8 to JDK 19: Benefits, Considerations, and New Features

Upgrading from JDK 8 to JDK 19 brings significant performance, security, and modularity improvements, but requires careful compatibility testing, performance evaluation, and security checks, while offering new features such as Text Blocks, Virtual Threads, Record Patterns, and enhanced APIs, positioning Java for future cloud, big data, and AI workloads.

JDKJavaNewFeatures
0 likes · 6 min read
Why and How to Upgrade from JDK 8 to JDK 19: Benefits, Considerations, and New Features
Java Architect Essentials
Java Architect Essentials
Mar 3, 2024 · Fundamentals

Most Popular Java Features Added Since Java 8 (Java 8‑20)

This article reviews the most widely adopted Java language enhancements introduced from Java 8 through Java 20, including local‑variable type inference, switch expressions, text blocks, records, pattern‑matching instanceof, sealed classes, and improved NullPointerException messages, providing examples and reference links for each feature.

JDKJavaLanguage Enhancements
0 likes · 6 min read
Most Popular Java Features Added Since Java 8 (Java 8‑20)
Top Architect
Top Architect
Feb 6, 2024 · Backend Development

2023 State of the Java Ecosystem Report Highlights: Java 17 Adoption, JDK Vendor Shifts, and Containerization Trends

New Relic’s 2023 State of the Java Ecosystem report reveals a 430% surge in Java 17 adoption, declining use of older LTS releases, Amazon Corretto overtaking Oracle as the leading JDK provider, and a dominant shift toward containerized Java workloads, while the article also promotes a ChatGPT community and related services.

EcosystemJDKJava
0 likes · 7 min read
2023 State of the Java Ecosystem Report Highlights: Java 17 Adoption, JDK Vendor Shifts, and Containerization Trends
Architecture Digest
Architecture Digest
Jan 29, 2024 · Backend Development

Key Findings from New Relic's 2023 State of the Java Ecosystem Report

The article summarizes New Relic's 2023 Java ecosystem report, highlighting rapid adoption of Java 17, the decline of older LTS versions, the rise of Amazon Corretto as the leading JDK vendor, widespread containerization, and shifting preferences toward LTS releases and specific garbage collectors.

ContainersEcosystemGarbage Collector
0 likes · 5 min read
Key Findings from New Relic's 2023 State of the Java Ecosystem Report
政采云技术
政采云技术
Jan 25, 2024 · Fundamentals

Java JDK 12‑17 New Features and Enhancements Overview

This article provides a comprehensive overview of the major language and runtime enhancements introduced in JDK 12 through JDK 17, covering switch expressions, micro‑benchmarking with JMH, class‑data sharing, garbage‑collector improvements, new String methods, hidden and sealed classes, records, and unified asynchronous logging, all illustrated with code examples.

Garbage CollectionJDKJMH
0 likes · 23 min read
Java JDK 12‑17 New Features and Enhancements Overview
JD Retail Technology
JD Retail Technology
Jan 19, 2024 · Backend Development

Comprehensive Guide to Upgrading from JDK8/11 to JDK17: Performance Gains, New Language Features, and Migration Steps

This article explains why upgrading from JDK8 or JDK11 to the long‑term support JDK17 brings significant garbage‑collector performance improvements, new language features, and better framework compatibility, and provides detailed migration steps, Maven and SpringBoot configuration changes, and troubleshooting tips.

GarbageCollectionJDKJava
0 likes · 16 min read
Comprehensive Guide to Upgrading from JDK8/11 to JDK17: Performance Gains, New Language Features, and Migration Steps
Java Backend Technology
Java Backend Technology
Jan 10, 2024 · Fundamentals

What Are the Most Popular Java Features Since Java 8? A Quick Guide

This article walks Java developers from Java 8 to Java 17 through the most widely‑adopted language enhancements—including var, switch expressions, text blocks, records, pattern‑matching, sealed classes, and helpful NullPointerExceptions—explaining each feature with concise descriptions and code snippets.

JDKJavaLanguage Enhancements
0 likes · 5 min read
What Are the Most Popular Java Features Since Java 8? A Quick Guide
Huolala Tech
Huolala Tech
Jan 4, 2024 · Big Data

How HuoLala Cut Costs by Switching Big Data Workloads to ARM CPUs

This article details HuoLala's exploration of replacing x86 compute nodes with ARM servers in its big‑data platform, covering performance benchmarks, component adaptations for YARN, Tez/MR, security tools, a critical JDK de‑optimization issue, and the resulting production outcomes and future roadmap.

ARMBig DataJDK
0 likes · 14 min read
How HuoLala Cut Costs by Switching Big Data Workloads to ARM CPUs
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.

JDKJVMJava
0 likes · 8 min read
Master JDK Command-Line Tools for JVM Performance Tuning: A Practical Guide
FunTester
FunTester
Dec 27, 2023 · Backend Development

Resolving java.lang.UnsupportedOperationException: PermittedSubclasses Requires by Updating ASM and Related Dependencies

This guide explains how to troubleshoot and fix the UnsupportedOperationException caused by missing or outdated ASM libraries when upgrading the JDK, covering removal of old Maven dependencies, adding the correct ASM version, updating Groovy and related plugins, and disabling the Log4j shutdown hook warning.

ASMJDKdependency-management
0 likes · 5 min read
Resolving java.lang.UnsupportedOperationException: PermittedSubclasses Requires by Updating ASM and Related Dependencies
Bitu Technology
Bitu Technology
Dec 8, 2023 · Backend Development

JDK Virtual Threads: The Ultimate Solution for Java Concurrency – Insights from the Scala & Java Meetup

The article recaps a Scala & Java meetup where experts discussed the challenges of traditional Java threading, introduced JDK virtual threads as a low‑overhead concurrency solution, examined their benefits and limitations, and explored the impact of virtual threads on Scala and reactive programming.

JDKVirtual Threadsreactive-programming
0 likes · 9 min read
JDK Virtual Threads: The Ultimate Solution for Java Concurrency – Insights from the Scala & Java Meetup
JD Tech
JD Tech
Dec 5, 2023 · Backend Development

Comprehensive Guide to Upgrading from JDK8/11 to JDK17: Performance Benefits, New Language Features, and Migration Steps

This article explains why upgrading to JDK 17 is essential, outlines the long‑term support, performance gains from modern garbage collectors like ZGC, new language features such as switch expressions and records, and provides detailed migration steps, Maven and Spring Boot configuration, and troubleshooting tips for a smooth transition.

JDKSpringBootmaven
0 likes · 18 min read
Comprehensive Guide to Upgrading from JDK8/11 to JDK17: Performance Benefits, New Language Features, and Migration Steps
Bitu Technology
Bitu Technology
Nov 30, 2023 · Backend Development

Virtual Threads: The Ultimate JDK Concurrency Solution – Highlights from the Scala & Java Meetup

The article recaps a Scala & Java meetup where experts discussed Java virtual threads as a breakthrough for JDK concurrency, examined their advantages over traditional threads, addressed limitations, explored their impact on Scala and other JVM languages, and included audience Q&A and community announcements.

Backend DevelopmentJDKVirtual Threads
0 likes · 9 min read
Virtual Threads: The Ultimate JDK Concurrency Solution – Highlights from the Scala & Java Meetup
Architect's Tech Stack
Architect's Tech Stack
Nov 23, 2023 · Backend Development

Java 21 Deprecates Windows 32‑bit x86 Port and Dynamic Agent Loading

The article explains why Java 21 deprecates the Windows 32‑bit x86 port and dynamic agent loading, describes the technical reasons, shows the new configuration options and related warnings, and discusses the impact on virtual threads and best practices for avoiding deprecated APIs.

Backend DevelopmentDynamic AgentsJDK
0 likes · 11 min read
Java 21 Deprecates Windows 32‑bit x86 Port and Dynamic Agent Loading
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Nov 17, 2023 · Fundamentals

Explore Java’s Evolution: Key New Features from JDK 10 to JDK 21

This article reviews the most important new features introduced in Java JDK 10 through JDK 21—including local‑variable type inference, the standardized HTTP client, experimental garbage collectors, pattern‑matching enhancements, records, sealed classes, and virtual threads—providing code examples and migration guidance for developers.

Code ExamplesJDKJava
0 likes · 16 min read
Explore Java’s Evolution: Key New Features from JDK 10 to JDK 21
Alibaba Cloud Developer
Alibaba Cloud Developer
Nov 13, 2023 · Backend Development

What’s New in Java? Key JDK Changes from String to Private Interface Methods

This article reviews the major updates introduced in recent JDK releases, covering the shift from char[] to byte[] in String, expanded pattern‑matching in switch, removal of biased locking, G1 garbage‑collector evolution, JDK/JRE consolidation, generics specialization, and the addition of private methods in interfaces.

Backend DevelopmentGarbage CollectionGenerics
0 likes · 9 min read
What’s New in Java? Key JDK Changes from String to Private Interface Methods
FunTester
FunTester
Nov 5, 2023 · Backend Development

Why java.util.UUID.randomUUID Can Block Threads and How to Fix It

The article explains how java.util.UUID.randomUUID relies on OS entropy, can block threads when entropy is low, shows a real‑world thread‑dump example, and provides three remedies: upgrading the JDK, installing haveged, or switching to /dev/urandom.

BlockingJDKJava
0 likes · 5 min read
Why java.util.UUID.randomUUID Can Block Threads and How to Fix It
JD Retail Technology
JD Retail Technology
Sep 11, 2023 · Backend Development

Diagnosing and Resolving a Java Application Memory Leak During Load Testing

During a load test of a Java 1.6 application on a CentOS server, memory usage climbed from 20% to 100% after an hour of 300‑concurrent requests, prompting a detailed investigation that identified off‑heap leaks caused by GZIP compression in a JimDB client and led to fixes such as upgrading the JDK and avoiding unnecessary compression.

BackendGoogle PerftoolsJDK
0 likes · 7 min read
Diagnosing and Resolving a Java Application Memory Leak During Load Testing
政采云技术
政采云技术
Sep 6, 2023 · Fundamentals

Understanding Threads, Multithreading, and Virtual Threads in Java

This article explains the concept of threads in computer science, demonstrates how Java encapsulates threads with the Thread class, shows basic and multithreaded examples, introduces thread pools and their management, and details the new virtual thread model introduced by Project Loom for high‑throughput, low‑overhead concurrency.

JDKJavaThreads
0 likes · 15 min read
Understanding Threads, Multithreading, and Virtual Threads in Java
JD Tech
JD Tech
Sep 1, 2023 · Backend Development

JDK Upgrade Journey: From JDK 8 to JDK 17 with Performance Gains and GC Tuning

This article documents a comprehensive upgrade from JDK 8 to JDK 17, detailing new language and JVM features, evaluation criteria for selecting services, step‑by‑step migration of Maven settings, dependencies, SpringBoot and middleware, performance testing results, and ZGC‑focused garbage‑collector tuning.

JDKSpringBootgc
0 likes · 21 min read
JDK Upgrade Journey: From JDK 8 to JDK 17 with Performance Gains and GC Tuning
JD Retail Technology
JD Retail Technology
Aug 22, 2023 · Operations

Mastering JDK8 GC: Practical Tuning Guide for High‑Performance Applications

This guide summarizes JD.com’s extensive JDK8 garbage‑collector optimization experience, covering version requirements, how to select the right GC, core and collector‑specific parameter settings, logging configuration, and concrete methods to assess GC health for latency‑sensitive and throughput‑oriented workloads.

BackendGC tuningGarbage Collection
0 likes · 5 min read
Mastering JDK8 GC: Practical Tuning Guide for High‑Performance Applications
Sanyou's Java Diary
Sanyou's Java Diary
Aug 10, 2023 · Fundamentals

Why Does JDK Dynamic Proxy Require an Interface? A Deep Dive into Proxy Mechanics

This article explains the inner workings of JDK dynamic proxies, demonstrates a complete example with interface and handler implementations, dissects the Proxy class source code, clarifies why interfaces are mandatory, and shows alternative proxy creation techniques, providing a thorough understanding for Java developers.

Dynamic ProxyInvocationHandlerJDK
0 likes · 12 min read
Why Does JDK Dynamic Proxy Require an Interface? A Deep Dive into Proxy Mechanics
Open Source Linux
Open Source Linux
Jun 25, 2023 · Cloud Native

Choosing Java Base Images, JDK vs JRE, and Enabling Graceful Shutdown in Docker

This article explains how to select a suitable Java base image (Alpine or Debian), decide between JDK and JRE, choose Oracle or OpenJDK, pick an appropriate JVM, configure signal handling for graceful shutdown, manage container memory limits, control DNS caching, and optionally compile native binaries with GraalVM.

DockerGraceful ShutdownJDK
0 likes · 23 min read
Choosing Java Base Images, JDK vs JRE, and Enabling Graceful Shutdown in Docker
ITPUB
ITPUB
May 29, 2023 · Fundamentals

Is Java Really Obsolete? Exploring Its Evolution, Challenges, and Future

The article examines Java's 27‑year history, comparing its performance, startup time, and memory usage against modern languages and cloud‑native demands, while detailing JDK feature releases, module system, garbage collectors, AOT compilation, virtual threads, value types, GraalVM, and emerging frameworks to assess Java's relevance today and tomorrow.

AoTGarbage CollectionJDK
0 likes · 42 min read
Is Java Really Obsolete? Exploring Its Evolution, Challenges, and Future
Java Architect Essentials
Java Architect Essentials
May 14, 2023 · Backend Development

2023 State of the Java Ecosystem: Adoption Trends and JDK Vendor Share

The New Relic 2023 Java Ecosystem Report analyzes production usage data to reveal rapid adoption of Java 17, declining popularity of older LTS releases, the rise of containerized applications, and Amazon Corretto becoming the leading JDK vendor, while highlighting preferred garbage collectors and non‑LTS usage patterns.

BackendContainersJDK
0 likes · 6 min read
2023 State of the Java Ecosystem: Adoption Trends and JDK Vendor Share
JD Tech
JD Tech
May 11, 2023 · Fundamentals

Evolution of Java Multithreading: From Manual Gear to Virtual Threads

This article systematically traces the evolution of Java multithreading from the early native Thread model through the introduction of java.util.concurrent and synchronized optimizations to the modern virtual thread era, highlighting key concepts, milestones, and performance impacts.

JDKJava 19Virtual Threads
0 likes · 19 min read
Evolution of Java Multithreading: From Manual Gear to Virtual Threads
Programmer DD
Programmer DD
Apr 30, 2023 · Backend Development

Why Java 17 Adoption Soared 430% in One Year – 2023 Ecosystem Insights

The 2023 New Relic Java ecosystem report reveals that Java 17 usage jumped over 430% in a single year, Java 11 remains dominant, Amazon Corretto now leads JDK market share, containerized deployments hit 70%, and the G1 garbage collector stays the top choice among Java 11+ users.

2023 ReportContainersGarbage Collection
0 likes · 6 min read
Why Java 17 Adoption Soared 430% in One Year – 2023 Ecosystem Insights
JD Cloud Developers
JD Cloud Developers
Mar 1, 2023 · Fundamentals

From Manual to Autonomous: Java Multithreading Evolution & Virtual Threads

This article chronicles the evolution of Java multithreading from early native threads through the introduction of the concurrency utilities, lock optimizations, the Fork/Join framework, CompletableFuture, reactive streams, and finally virtual threads in JDK 19, explaining each milestone, its motivations, and its impact on modern Java development.

JDKJavaJava 19
0 likes · 26 min read
From Manual to Autonomous: Java Multithreading Evolution & Virtual Threads
Programmer DD
Programmer DD
Feb 15, 2023 · Backend Development

What’s New in Java? JDK 20/21 Updates, JEP Drafts, and Framework Releases

This roundup covers the latest Java ecosystem news, including new JEP drafts for pattern matching and constructors, the Rampdown Phase Two of JDK 20 with its final six features, early‑access builds of JDK 21, and recent releases of GraalVM, Spring, Quarkus, Micronaut, JobRunr, Hibernate, Apache projects, and more.

Backend DevelopmentJDKJava
0 likes · 12 min read
What’s New in Java? JDK 20/21 Updates, JEP Drafts, and Framework Releases
Alibaba Cloud Native
Alibaba Cloud Native
Jan 19, 2023 · Cloud Native

How Java Evolved for Cloud‑Native Operations: Key Features from JDK 9‑19

Since JDK 9, Java has accelerated its release cadence and added a suite of cloud‑native capabilities—such as container‑aware metrics, single‑file execution, refined JVM options, fast‑fail memory controls, class‑data sharing, compact strings, active‑processor detection, and Unix‑domain sockets—to better serve modern containerized workloads.

Cloud NativeContainerJDK
0 likes · 17 min read
How Java Evolved for Cloud‑Native Operations: Key Features from JDK 9‑19
Alibaba Cloud Native
Alibaba Cloud Native
Jan 15, 2023 · Cloud Native

What Real‑World Cloud‑Native Metrics Reveal About JDK, Frameworks, and Resource Usage

Analyzing a year‑long EDAS report of tens of thousands of cloud‑native applications, this article uncovers trends in JDK version adoption, microservice framework choices, resource shape shifts, instance specifications, JVM heap settings, startup latency, elastic policy usage, and health indicators, offering actionable insights for architects.

JDKKubernetesMicroservices
0 likes · 13 min read
What Real‑World Cloud‑Native Metrics Reveal About JDK, Frameworks, and Resource Usage
Alibaba Cloud Developer
Alibaba Cloud Developer
Dec 6, 2022 · Backend Development

How Fury Achieves 20‑200× Faster Java Serialization Than JDK, Hessian, and Kryo

Fury is a JIT‑compiled, multi‑language native serialization framework that fully implements JDK custom serialization, delivering 20‑200× speed improvements over JDK, Hessian, and Kryo, while preserving compatibility across Java, Python, Go, C++, and JavaScript, as demonstrated by detailed protocol analysis and performance benchmarks.

FuryHessianJDK
0 likes · 21 min read
How Fury Achieves 20‑200× Faster Java Serialization Than JDK, Hessian, and Kryo
Programmer DD
Programmer DD
Oct 9, 2022 · Backend Development

Mastering Java Dynamic Proxies: JDK vs CGLIB Implementation and Pitfalls

This article explains the concepts, advantages, and limitations of Java's JDK dynamic proxy and CGLIB proxy, provides step‑by‑step code examples for user registration validation, compares their mechanisms, and summarizes when to choose each approach in real‑world applications.

Dynamic ProxyJDKJava
0 likes · 11 min read
Mastering Java Dynamic Proxies: JDK vs CGLIB Implementation and Pitfalls
Sanyou's Java Diary
Sanyou's Java Diary
Sep 29, 2022 · Backend Development

Java Dynamic Proxies Explained: From Static to ByteBuddy with Performance Tips

This article explores Java's proxy patterns, detailing static proxy implementation, various dynamic proxy techniques—including JDK, Cglib, Javassist, and ByteBuddy—providing code examples, performance comparisons, and practical guidance for integrating these proxies into backend development for cleaner, more flexible code.

ByteBuddyDynamic ProxyJDK
0 likes · 18 min read
Java Dynamic Proxies Explained: From Static to ByteBuddy with Performance Tips
Top Architect
Top Architect
Sep 24, 2022 · Backend Development

Understanding JDK and CGLIB Dynamic Proxies in Java

This article explains the principles, advantages, and implementation details of Java's JDK dynamic proxy and CGLIB proxy mechanisms, providing step‑by‑step code examples that demonstrate how to enhance method calls such as user registration with validation logic.

Backend DevelopmentDynamic ProxyJDK
0 likes · 11 min read
Understanding JDK and CGLIB Dynamic Proxies in Java
Programmer DD
Programmer DD
Jul 26, 2022 · Fundamentals

Java GC Evolution: From JDK 8 to JDK 18 and Performance Gains

Since JDK 8, HotSpot’s garbage collectors have undergone extensive refinements—introducing G1 as default, adding ZGC and Shenandoah, and optimizing Parallel GC—resulting in notable gains in throughput, reduced pause latency, and lower auxiliary memory usage, as demonstrated by SPECjbb2015 benchmarks across JDK 8 to JDK 18.

Garbage CollectionHotSpotJDK
0 likes · 21 min read
Java GC Evolution: From JDK 8 to JDK 18 and Performance Gains
21CTO
21CTO
Jul 25, 2022 · Backend Development

What Happens When Java JDK 6 & 7 Lose Support? Migration Options Explained

Oracle is ending support for Java JDK 6 and 7, leaving millions of developers without security patches and prompting a shift to newer LTS releases like Java 8, 11, or alternative providers such as Azul, while navigating licensing and audit concerns.

JDKLTSSecurity
0 likes · 4 min read
What Happens When Java JDK 6 & 7 Lose Support? Migration Options Explained
Programmer DD
Programmer DD
Jun 28, 2022 · Backend Development

Why Java Is Introducing a New Classfile API to Replace ASM

The Java community proposes a new Classfile API to parse, generate, and transform class files, aiming to replace ASM within the JDK and eventually become a public, high‑performance, immutable‑object‑based solution that keeps pace with rapid JVM and language evolution.

ASMClassfile APIJDK
0 likes · 5 min read
Why Java Is Introducing a New Classfile API to Replace ASM
Top Architect
Top Architect
May 11, 2022 · Fundamentals

Why Java’s for(;;) Loop Exists and Its Bytecode Equivalence to while(true)

The article explains the origin of Java’s for(;;) infinite loop syntax, compares it with while(true) through source‑code searches and bytecode analysis, and concludes that both constructs compile to identical bytecode, making performance differences negligible while also providing related promotional links.

JDKJavafor loop
0 likes · 5 min read
Why Java’s for(;;) Loop Exists and Its Bytecode Equivalence to while(true)
Programmer DD
Programmer DD
Apr 28, 2022 · Backend Development

Why Java 11 Overtook Java 8 and What It Means for Your Projects

The 2022 Java ecosystem report reveals Java 11 surpassing Java 8 as the dominant runtime, highlights the modest adoption of non‑LTS releases like Java 14, shows Oracle’s market share shrinking while Amazon rises, and examines how container‑based deployments affect CPU, memory, and garbage‑collector choices.

BackendGarbage CollectionJDK
0 likes · 7 min read
Why Java 11 Overtook Java 8 and What It Means for Your Projects
Programmer DD
Programmer DD
Apr 20, 2022 · Backend Development

Why IntelliJ IDEA Feels Slow on M1 Macs and How to Fix It

After switching to an M1‑based MacBook Pro, many developers experience sluggish IntelliJ IDEA performance, but selecting the proper Apple‑silicon IDEA build and an ARM‑compatible JDK resolves the issue.

Apple SiliconIDE performanceIntelliJ IDEA
0 likes · 2 min read
Why IntelliJ IDEA Feels Slow on M1 Macs and How to Fix It
Programmer DD
Programmer DD
Apr 14, 2022 · Backend Development

What Really Differentiates Oracle JDK from OpenJDK? A Deep Dive

This article explains that Oracle JDK and OpenJDK share the same HotSpot VM codebase, with only a few private Oracle components such as Java Flight Recorder and specific platform ports, and highlights differences in packaging, historical version sync, and minor feature gaps.

HotSpotJDKJava
0 likes · 6 min read
What Really Differentiates Oracle JDK from OpenJDK? A Deep Dive
Programmer DD
Programmer DD
Apr 8, 2022 · Backend Development

How to Fix IntelliJ IDEA High CPU Usage: Config Tweaks and JDK Tips

This article shares a step‑by‑step troubleshooting guide for IntelliJ IDEA performance issues, covering vmoptions adjustments, disabling inspections, removing unused plugins, selecting the proper JDK version, and fixing a problematic infinite loop in Java code to reduce CPU consumption.

IDE configurationIntelliJ IDEAJDK
0 likes · 5 min read
How to Fix IntelliJ IDEA High CPU Usage: Config Tweaks and JDK Tips
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Mar 20, 2022 · Backend Development

Java News: JDK 18/19 Updates, Spring Framework Releases, New Value Objects JEP

This roundup covers recent Java ecosystem developments, including the promotion of the Value Objects (Preview) JEP to candidate status, release notes for JDK 18 and early‑access JDK 19 builds, multiple Spring project updates such as Spring Boot 2.7.0‑M1, Spring Data 3.0‑M2 with ListCrudRepository, Spring Security enhancements, as well as Quarkus 2.7.2.Final and a new early‑access version of JReleaser adding Windows resources to jpackage.

BackendJDKJava
0 likes · 7 min read
Java News: JDK 18/19 Updates, Spring Framework Releases, New Value Objects JEP
Sohu Tech Products
Sohu Tech Products
Mar 16, 2022 · Backend Development

Enabling Spring @Async to Support Placeholders and SpEL Expressions

This article explains how to modify Spring's @Async annotation so that its value attribute can resolve placeholders or SpEL expressions, demonstrates a working demo, shows the required code changes using EmbeddedValueResolver, and shares debugging tricks and related Java language features.

AsyncDebuggingJDK
0 likes · 14 min read
Enabling Spring @Async to Support Placeholders and SpEL Expressions
Java Captain
Java Captain
Mar 13, 2022 · Fundamentals

Understanding the Underlying Data Structure and Mechanics of Java HashMap

This article explains Java HashMap's internal structure, including the array‑linked list and red‑black tree design, load factor, collision resolution methods, resizing process, key selection, thread‑safety concerns, and the hash calculation algorithm, providing detailed insights for developers.

Data StructureHashMapJDK
0 likes · 17 min read
Understanding the Underlying Data Structure and Mechanics of Java HashMap
Code Ape Tech Column
Code Ape Tech Column
Mar 7, 2022 · Operations

Using JDK Built‑in Tools to Monitor and Diagnose the JVM

This article demonstrates how to use the JDK’s native command‑line and graphical utilities—such as jps, jinfo, jvisualvm, jconsole, jstat, jstack and jcmd—to observe JVM metrics, troubleshoot memory and thread issues, and verify JVM parameters in Java applications.

JDKJVMJava
0 likes · 15 min read
Using JDK Built‑in Tools to Monitor and Diagnose the JVM
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Feb 25, 2022 · Backend Development

Latest Java & Framework Releases: JDK 18/19, Spring, Quarkus, Micronaut

Recent Java news highlights early‑access builds of JDK 18 and JDK 19, the 2022 Java roadmap, Spring Framework 5.3.15 and 6.0.0‑M2 releases, Spring Data milestones, Quarkus 2.6.2.Final, Micronaut 3.2.5/3.2.6, Piranha 22.1.0, JobRunr 4.0.6, Eclipse Jifa, Micrometer 2.0.0‑M1 and Tracing 1.0.0‑M1, plus the Foojay mid‑year status report.

Framework ReleasesJDKJava
0 likes · 9 min read
Latest Java & Framework Releases: JDK 18/19, Spring, Quarkus, Micronaut
JavaEdge
JavaEdge
Jan 11, 2022 · Fundamentals

Master Java Annotations: From Basics to Advanced Usage

This article explains what Java annotations are, how to define custom annotations, the built‑in meta‑annotations, annotation attributes, common built‑in annotations, and practical usage scenarios, providing code examples and runtime reflection details for developers.

JDKJavaMeta-Programming
0 likes · 13 min read
Master Java Annotations: From Basics to Advanced Usage
Top Architect
Top Architect
Jan 1, 2022 · Backend Development

Understanding ThreadLocalRandom and Unsafe in Java: Performance, Implementation, and Pitfalls

This article examines Java's Random performance limitations, explains how ThreadLocalRandom leverages the Unsafe class for per‑thread seed management, analyzes the underlying native methods, discusses safety concerns and memory layout, and shares practical code examples and insights for high‑concurrency applications.

JDKThreadLocalRandomconcurrency
0 likes · 10 min read
Understanding ThreadLocalRandom and Unsafe in Java: Performance, Implementation, and Pitfalls
DeWu Technology
DeWu Technology
Dec 26, 2021 · Backend Development

Behind the Scenes of Arrays.sort: What Does JDK Do?

The article demystifies Java’s Arrays.sort by tracing its call to TimSort.sort, explaining how the hybrid Timsort algorithm blends merge and insertion sorts, determines minimum run lengths, partitions and merges runs, addresses implementation bugs such as stack allocation and comparator misuse, and celebrates its elegant, efficient design.

Arrays.sortBackend DevelopmentJDK
0 likes · 15 min read
Behind the Scenes of Arrays.sort: What Does JDK Do?