Tagged articles
25 articles
Page 1 of 1
Tech Freedom Circle
Tech Freedom Circle
Oct 11, 2025 · Fundamentals

JIT, Class Lifecycle Stages, and Bytecode Enhancement – Core Concepts for Java Interviews

This article provides a comprehensive technical guide covering Java bytecode structure, the seven-stage class lifecycle, JIT compilation, memory layout, garbage‑collection algorithms, execution engine details, and both static and dynamic bytecode enhancement techniques such as ASM, Javassist, and Java agents.

ASMGarbage CollectionInstrumentation
0 likes · 74 min read
JIT, Class Lifecycle Stages, and Bytecode Enhancement – Core Concepts for Java Interviews
Architect
Architect
Dec 2, 2024 · Backend Development

Mastering Java Agents: Premain vs Attach for Bytecode Manipulation

This article explains how Java agents work, compares premain and attach agents, shows how to implement entry points, use Instrumentation and Javassist to transform bytecode, provides complete code samples, packaging instructions, and demonstrates the runtime output with diagrams.

AttachInstrumentationJavassist
0 likes · 17 min read
Mastering Java Agents: Premain vs Attach for Bytecode Manipulation
Code Ape Tech Column
Code Ape Tech Column
Oct 14, 2024 · Backend Development

Understanding Java Agent: Premain and Agentmain Modes with Instrumentation

This article explains the concept of Java Agent, compares it with AOP, and provides step‑by‑step implementations of both premain and agentmain modes, including Maven packaging, VM attachment, class transformation, redefinition, retransformation, and a Javassist example for method timing.

AgentmainBytecode ManipulationInstrumentation
0 likes · 17 min read
Understanding Java Agent: Premain and Agentmain Modes with Instrumentation
Cognitive Technology Team
Cognitive Technology Team
May 23, 2024 · Backend Development

Modifying Bytecode Before Class Loading in Spring Cloud Using Javassist

This article demonstrates how to use Spring's ApplicationContextInitializer together with Javassist to intercept class loading in a Spring Cloud environment, modify the bytecode of org.apache.commons.lang3.RandomStringUtils, and record method calls, handling parent‑child container initialization nuances.

ApplicationContextInitializerBytecode ManipulationJavassist
0 likes · 5 min read
Modifying Bytecode Before Class Loading in Spring Cloud Using Javassist
Top Architect
Top Architect
May 15, 2024 · Backend Development

Implementing a Simple Java RPC Framework: Architecture, Service Registration, Serialization, and Proxy Generation

This article explains the principles and implementation of a Java RPC framework, covering service registration with Zookeeper, serialization, compression, network communication via Netty, dynamic proxy generation using reflection and Javassist, and performance considerations, providing extensive code examples for each component.

Distributed SystemsJavassistNetty
0 likes · 25 min read
Implementing a Simple Java RPC Framework: Architecture, Service Registration, Serialization, and Proxy Generation
Top Architect
Top Architect
Aug 29, 2023 · Backend Development

Implementing a Simple Java RPC Framework: Architecture, Service Registration, and Proxy Generation

This article walks through building a simple Java RPC framework, covering core concepts such as service registration with Zookeeper, client-side dynamic proxies, network communication via Netty, serialization, compression, and both reflection and Javassist-based proxy generation, complete with code examples and performance comparisons.

JavassistNettyRPC
0 likes · 26 min read
Implementing a Simple Java RPC Framework: Architecture, Service Registration, and Proxy Generation
Top Architect
Top Architect
May 3, 2023 · Backend Development

Understanding RPC: Principles, Implementation Details, and Code Walkthrough

This article explains the fundamentals of Remote Procedure Call (RPC), covering its definition, core challenges, service registration and discovery with Zookeeper, client proxy generation, network transmission using Netty, serialization and compression, server-side request handling via reflection or Javassist, and performance comparisons between proxy strategies.

Distributed SystemsJavassistNetty
0 likes · 24 min read
Understanding RPC: Principles, Implementation Details, and Code Walkthrough
Code Ape Tech Column
Code Ape Tech Column
Apr 4, 2023 · Backend Development

Understanding and Implementing Java Agent (Premain and Agentmain) for Bytecode Manipulation

This article introduces Java Agent technology, explains the differences between premain and agentmain modes, demonstrates how to build, package, and attach agents using Maven and the Attach API, and shows practical bytecode manipulation techniques with Instrumentation and Javassist, complete with code examples.

BackendInstrumentationJavassist
0 likes · 20 min read
Understanding and Implementing Java Agent (Premain and Agentmain) for Bytecode Manipulation
JavaEdge
JavaEdge
Feb 27, 2023 · Backend Development

How Dynamic Proxies Power RPC Calls in Java

This article explains the core principle of RPC using dynamic proxies, showing how interfaces are proxied at runtime, the code generation process, and compares JDK, Javassist, and Byte Buddy proxy implementations with practical examples.

BackendByte BuddyDynamic Proxy
0 likes · 9 min read
How Dynamic Proxies Power RPC Calls in Java
Architect's Guide
Architect's Guide
Jan 28, 2023 · Backend Development

Implementing a Simple Java RPC Framework with Zookeeper, Netty, and Javassist

This article walks through the design and implementation of a lightweight Java RPC framework, covering core concepts such as service registration and discovery with Zookeeper, network communication via Netty, serialization, compression, dynamic proxy generation using Javassist, and performance comparisons between reflection and bytecode‑generated proxies.

Distributed SystemsJavassistNetty
0 likes · 23 min read
Implementing a Simple Java RPC Framework with Zookeeper, Netty, and Javassist
Top Architect
Top Architect
Jan 19, 2023 · Backend Development

Implementing a Simple Java RPC Framework: Architecture, Service Registration, Proxy Generation, and Network Transport

This article explains the principles and implementation of a lightweight Java RPC framework, covering service registration with Zookeeper, client-side dynamic proxies, serialization, compression, Netty-based network transport, and both reflection and Javassist proxy generation, with extensive code examples and performance comparison.

Distributed SystemsJavassistNetty
0 likes · 25 min read
Implementing a Simple Java RPC Framework: Architecture, Service Registration, Proxy Generation, and Network Transport
JD Tech
JD Tech
Jul 27, 2022 · Backend Development

Understanding Java ClassLoader, Custom ClassLoader, Hot Swapping, SPI, and Java Agent for Plugin Development

This article explains the Java parent‑delegation model, shows how to implement a custom ClassLoader for class hot‑swap and jar hot‑deployment, demonstrates Java SPI for dynamic service loading, and details building a plugin framework using Java Agent and Javassist for runtime bytecode enhancement.

HotSwapJavaAgentJavassist
0 likes · 30 min read
Understanding Java ClassLoader, Custom ClassLoader, Hot Swapping, SPI, and Java Agent for Plugin Development
Top Architect
Top Architect
Jul 7, 2022 · Backend Development

Building a Simple Java RPC Framework: Service Registration, Discovery, and Proxy Generation

This article explains the core concepts and implementation steps of a lightweight Java RPC framework, covering RPC definition, service registration and discovery with Zookeeper, client-side dynamic proxies, network transmission using Netty, serialization, compression, and two server‑side proxy generation strategies (reflection and Javassist).

JavassistNettyRPC
0 likes · 25 min read
Building a Simple Java RPC Framework: Service Registration, Discovery, and Proxy Generation
Full-Stack Internet Architecture
Full-Stack Internet Architecture
May 11, 2021 · Backend Development

Understanding Java Dynamic Proxy: Static vs Dynamic Proxy and Implementations with JDK, CGLIB, Javassist, and ASM

This article explains Java's proxy pattern, compares static and dynamic proxies, and provides detailed examples of JDK dynamic proxy, CGLIB, Javassist, and ASM implementations, highlighting their mechanisms, code samples, and practical considerations for backend development.

ASMBackendDesign Patterns
0 likes · 21 min read
Understanding Java Dynamic Proxy: Static vs Dynamic Proxy and Implementations with JDK, CGLIB, Javassist, and ASM
vivo Internet Technology
vivo Internet Technology
Sep 23, 2020 · Backend Development

Bytecode Enhancement with JavaAgent: Principles, Tools, and Implementation

The article explains how to enhance Java bytecode using a javaagent, covering bytecode fundamentals, agent loading during JVM startup, implementation steps, transformation via ClassFileTransformer, and popular tools such as ASM, Javassist, and ByteBuddy for non‑intrusive runtime instrumentation and monitoring.

ASMByteBuddyInstrumentation
0 likes · 13 min read
Bytecode Enhancement with JavaAgent: Principles, Tools, and Implementation
Meituan Technology Team
Meituan Technology Team
Sep 5, 2019 · Backend Development

Unlocking Java Bytecode: From Structure to Runtime Enhancement

This article explains Java bytecode fundamentals, its class‑file layout, constant‑pool details, and then walks through practical bytecode‑enhancement techniques using ASM, Javassist, and the Instrument API to modify and reload classes at runtime for AOP, hot‑deployment and monitoring purposes.

ASMInstrumentationJavassist
0 likes · 28 min read
Unlocking Java Bytecode: From Structure to Runtime Enhancement
Amap Tech
Amap Tech
Jul 9, 2019 · Mobile Development

Using Java Bytecode for Android Module Dependency Analysis

The article explains how analyzing Java bytecode with tools such as Javassist during the Android Gradle transform phase yields precise, method‑level module dependency data—overcoming the limitations of Gradle trees, import scans, and IDE analysis—and provides a reliable way to map and enforce clean dependency structures in large Android codebases.

AndroidJavassistbytecode
0 likes · 10 min read
Using Java Bytecode for Android Module Dependency Analysis
Beike Product & Technology
Beike Product & Technology
Oct 26, 2018 · Backend Development

Understanding JavaAgent: JVM Tool Interface, Implementation Principles, and Bytecode Manipulation Conflicts

This article explains the JavaAgent feature introduced after JDK 1.5, its reliance on JVMTI and JPLISAgent, how to write premain classes and class file transformers, the role of MANIFEST.MF, and analyzes conflicts between Javassist‑based and ByteBuddy‑based agents when they modify the same class.

ByteBuddyInstrumentationJVM
0 likes · 17 min read
Understanding JavaAgent: JVM Tool Interface, Implementation Principles, and Bytecode Manipulation Conflicts
Youzan Coder
Youzan Coder
Jun 1, 2018 · Backend Development

How to Build a Dynamic Dubbo Mock Service Factory for Seamless Testing

This article analyzes the challenges of mocking Dubbo services in large‑scale Java projects, explores multiple design options—including generic service registration, Javassist proxies, and custom reference implementations—compares their pros and cons, and presents the final architecture that enables dynamic registration, method‑level mocking, and transparent fallback to real services.

DubboGeneric ServiceJavassist
0 likes · 30 min read
How to Build a Dynamic Dubbo Mock Service Factory for Seamless Testing