Tagged articles
152 articles
Page 1 of 2
Lisa Notes
Lisa Notes
Mar 12, 2026 · Fundamentals

Java Language and Platform: A Beginner’s Guide to Write Once, Run Anywhere

The article explains how Java source files are compiled into bytecode, run on the JVM across Windows, Linux, macOS, and Solaris, and describes the two parts of the Java platform—the virtual machine and the API—highlighting why Java’s “write once, run anywhere” model suits distributed, object‑oriented development.

APIJVMJava language
0 likes · 5 min read
Java Language and Platform: A Beginner’s Guide to Write Once, Run Anywhere
Architect's Guide
Architect's Guide
Nov 1, 2025 · Backend Development

How to Use Java Agents for Non‑Intrusive Method Timing and Tracing

This article demonstrates how to use Java Agent and the java.lang.instrument API to non‑intrusively measure method execution time, dynamically modify bytecode with ASM, leverage Attach for runtime instrumentation, and explore related tools like Arthas and Bytekit for tracing and debugging Java applications.

ArthasBytekitInstrumentation
0 likes · 24 min read
How to Use Java Agents for Non‑Intrusive Method Timing and Tracing
Alibaba Cloud Observability
Alibaba Cloud Observability
Oct 27, 2025 · Mobile Development

How to Build a Zero‑Intrusion Android Data Collection SDK with Bytecode Instrumentation

This article explores the challenges of traditional Android APM integration and presents a comprehensive, non‑intrusive bytecode instrumentation approach—using Gradle plugins, AGP APIs, and ASM—to automatically collect user behavior, network, performance, crash, and WebView data without modifying application source code.

APMAndroidGradle
0 likes · 21 min read
How to Build a Zero‑Intrusion Android Data Collection SDK with Bytecode Instrumentation
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
Java Tech Enthusiast
Java Tech Enthusiast
Sep 14, 2025 · Operations

How to Use Java Agent for Non‑Intrusive SpringBoot Monitoring

Learn how to implement a Java Agent that enables non‑intrusive monitoring of SpringBoot applications, covering agent basics, bytecode manipulation with Byte Buddy, metric collection via Micrometer, Prometheus/Grafana integration, and advanced extensions such as JVM metrics, HTTP client tracing, and distributed tracing.

MicrometerPrometheusSpringBoot
0 likes · 16 min read
How to Use Java Agent for Non‑Intrusive SpringBoot Monitoring
Code Mala Tang
Code Mala Tang
Jun 8, 2025 · Fundamentals

Why Python’s a, b = b, a Isn’t Magic – The Real Mechanics Explained

This article demystifies Python’s a, b = b, a idiom by detailing how tuple packing and unpacking work, the exact evaluation order, the CPython bytecode implementation, comparisons with C, C++, Java, JavaScript, and the performance and memory implications of the technique.

Pythonbytecodetuple unpacking
0 likes · 17 min read
Why Python’s a, b = b, a Isn’t Magic – The Real Mechanics Explained
Cognitive Technology Team
Cognitive Technology Team
May 13, 2025 · Fundamentals

An Introduction to SootUp: Static Analysis of JVM Code

This article introduces the SootUp library, explains how to configure its Maven dependencies, describes the Jimple intermediate representation, and demonstrates how to use SootUp's API to analyze Java source code, bytecode, and method bodies through a series of code examples.

JVMJimpleLibrary
0 likes · 14 min read
An Introduction to SootUp: Static Analysis of JVM Code
FunTester
FunTester
Feb 7, 2025 · Backend Development

Mastering Byteman: How AT LINE, AT READ, and Other Specifiers Control Java Bytecode Injection

This article explains Byteman's injection point specifiers—AT LINE, AT READ, AFTER READ, AT WRITE, AFTER WRITE, AT INVOKE, AFTER INVOKE, AT NEW, AFTER NEW, AT SYNCHRONIZE, AFTER SYNCHRONIZE, AT THROW, and AT EXCEPTION EXIT—detailing their syntax, matching rules, counting options, and practical usage in Java bytecode instrumentation.

BytemanInstrumentationSpecifiers
0 likes · 12 min read
Mastering Byteman: How AT LINE, AT READ, and Other Specifiers Control Java Bytecode Injection
FunTester
FunTester
Jan 16, 2025 · Backend Development

Mastering Byteman: Injecting Bytecode for Advanced Java Testing

Byteman is a powerful Java bytecode manipulation tool that lets developers inject custom code at runtime without recompiling, using an event‑condition‑action rule language to trace, modify execution flow, coordinate threads, and collect statistics, with detailed examples of rule syntax, binding, and built‑in actions.

Fault InjectionInstrumentationbytecode
0 likes · 12 min read
Mastering Byteman: Injecting Bytecode for Advanced Java Testing
DeWu Technology
DeWu Technology
Dec 9, 2024 · Fundamentals

Deadlock Caused by Do-While Loop in Plugin

A mobile app deadlock was traced to a do‑while loop introduced by a weaver plugin that concurrently copied method nodes, causing ASM label‑node mismatches; adding thread synchronization to the method‑cloning process resolved the issue and underscores the concurrency risks of bytecode instrumentation.

R8Weaverbytecode
0 likes · 10 min read
Deadlock Caused by Do-While Loop in Plugin
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
Architect
Architect
Nov 19, 2024 · Backend Development

Java Agent and Instrumentation: Non‑Intrusive Method Timing, Attach API, and Arthas Trace

This article demonstrates how to replace invasive manual timing code with Java Agent‑based instrumentation, covering the use of java.lang.instrument, premain and agentmain methods, dynamic class retransformation via the Attach API, and practical examples including method‑level timing, runtime class modification, and integration with Arthas for tracing.

InstrumentationJavaAgentbytecode
0 likes · 20 min read
Java Agent and Instrumentation: Non‑Intrusive Method Timing, Attach API, and Arthas Trace
Satori Komeiji's Programming Classroom
Satori Komeiji's Programming Classroom
Nov 19, 2024 · Fundamentals

How Python Calls Functions Under the Hood

This article explains the low‑level mechanics of Python function calls, distinguishing Python‑implemented and C‑implemented functions, dissecting the bytecode generated for a simple call, and walking through the CPython CALL instruction, stack layout, method handling, and the relationship between PyFunctionObject, PyFrameObject, and PyCodeObject.

PyCFunctionObjectbytecodefunction call
0 likes · 10 min read
How Python Calls Functions Under the Hood
Satori Komeiji's Programming Classroom
Satori Komeiji's Programming Classroom
Nov 11, 2024 · Fundamentals

How Does the Python VM Capture Exceptions?

The article explains Python's exception handling implementation, detailing how the virtual machine executes try/except/else/finally blocks, the bytecode instructions generated for each clause, the static exception table used for fast dispatch, and the effects of return and del statements on control flow and object lifetimes.

Pythonbytecodeexception-handling
0 likes · 19 min read
How Does the Python VM Capture Exceptions?
Satori Komeiji's Programming Classroom
Satori Komeiji's Programming Classroom
Oct 28, 2024 · Fundamentals

How Python Implements Static Lookup for Local Variables and Its Relationship to the Local Namespace

The article explains that CPython stores function local variables in a statically‑indexed array (f_localsplus), accesses them via GETLOCAL/SETLOCAL macros, and builds the locals() dictionary on demand, showing how exec, variable assignment order, and the hidden local namespace interact with this mechanism.

CPythonPythonbytecode
0 likes · 27 min read
How Python Implements Static Lookup for Local Variables and Its Relationship to the Local Namespace
IT Services Circle
IT Services Circle
Oct 19, 2024 · Fundamentals

Understanding Python's Virtual Machine Execution and Runtime Stack

This article explains how the Python interpreter initializes its runtime environment, compiles source code into PyCodeObject bytecode, creates stack frames, and executes the bytecode using functions like PyEval_EvalFrame and _PyEval_EvalFrameDefault while detailing the role of the runtime stack and its associated C macros.

PythonRuntime Stackbytecode
0 likes · 21 min read
Understanding Python's Virtual Machine Execution and Runtime Stack
Satori Komeiji's Programming Classroom
Satori Komeiji's Programming Classroom
Oct 18, 2024 · Fundamentals

How Python’s Virtual Machine Executes Bytecode: Step‑by‑Step Process

This article explains how the Python interpreter, after runtime initialization, creates a stack frame, invokes a series of C functions such as PyEval_EvalCode, _PyEval_Vector, and _PyEval_EvalFrameDefault to traverse and execute bytecode, and details the underlying runtime stack structures and macro APIs that support instruction evaluation.

C APIPyEvalPython
0 likes · 25 min read
How Python’s Virtual Machine Executes Bytecode: Step‑by‑Step Process
FunTester
FunTester
Aug 14, 2024 · Backend Development

Mastering Java Agents: Build, Package, and Deploy Runtime Instrumentation

This guide explains what Java Agents are, their core capabilities such as bytecode enhancement, performance monitoring, security checks, and debugging, and provides step‑by‑step instructions for implementing the premain method, creating a ClassFileTransformer, packaging the agent with Maven, and loading it both statically and dynamically.

InstrumentationJava AgentPerformance Monitoring
0 likes · 10 min read
Mastering Java Agents: Build, Package, and Deploy Runtime Instrumentation
Python Programming Learning Circle
Python Programming Learning Circle
Apr 23, 2024 · Fundamentals

How to Decompile a Python .exe Back to Python Source Code

This guide explains how to extract .pyc files from a Python‑generated executable, restore missing bytecode headers, and use tools such as pyinstxtractor, pyi‑archive_viewer, and uncompyle6 to decompile the bytecode back into readable Python scripts while highlighting common pitfalls and protection mechanisms.

ExecutablePythonbytecode
0 likes · 12 min read
How to Decompile a Python .exe Back to Python Source Code
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Feb 5, 2024 · Fundamentals

How V8 Implements JavaScript Closures

V8 creates JavaScript closures by lazily parsing functions, using a pre‑parser to detect and record outer‑variable references, copying captured values to the heap, then generating bytecode that builds a function context and closure, ensuring efficient execution while avoiding memory‑leak pitfalls.

JavaScriptLazy ParsingV8
0 likes · 16 min read
How V8 Implements JavaScript Closures
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Jan 24, 2024 · Mobile Development

Optimizing Hermes Bytecode Bundle Size and SourceMap Handling in React Native

To counter the 40‑100 % size increase of Hermes bytecode bundles after upgrading to React Native 0.70, the team switched to xz compression (cutting zip size 20‑26 %), enabled hermesc ‑O optimization (shrinking bundles 10‑22 % while requiring a two‑step source‑map merge), and used the ‑base‑bytecode option with bsdiff to reduce incremental OTA patches by up to 85 %, collectively improving download and update efficiency.

HermesReact NativeSourceMap
0 likes · 13 min read
Optimizing Hermes Bytecode Bundle Size and SourceMap Handling in React Native
政采云技术
政采云技术
Dec 26, 2023 · Backend Development

Understanding Java Bytecode and Using ASM for Bytecode Manipulation

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

ASMBytecode ManipulationInstrumentation
0 likes · 16 min read
Understanding Java Bytecode and Using ASM for Bytecode Manipulation
Liangxu Linux
Liangxu Linux
Dec 24, 2023 · Fundamentals

How a 500‑Line C Compiler Self‑Compiles: Inside the C4 Project

This article demystifies the C4 compiler—a minimalist C compiler written in just 528 lines and four functions—by explaining its architecture, showing a Hello World build, demonstrating self‑hosting, and detailing the supported language subset, bytecode format, and unique implementation tricks.

C CompilerC4Compiler design
0 likes · 11 min read
How a 500‑Line C Compiler Self‑Compiles: Inside the C4 Project
Top Architecture Tech Stack
Top Architecture Tech Stack
Nov 24, 2023 · Backend Development

Applying ASM Bytecode Manipulation in cglib and Fastjson

This article demonstrates how ASM is used to generate dynamic proxies with cglib and to create high‑performance JSON deserializers in Fastjson, providing code examples, explanation of the underlying bytecode generation, and practical tips for developers.

ASMDynamic Proxybytecode
0 likes · 8 min read
Applying ASM Bytecode Manipulation in cglib and Fastjson
JD Retail Technology
JD Retail Technology
Nov 22, 2023 · Fundamentals

Understanding Java Class File Structure and JVM Execution Process

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

JVMMemoryManagementbytecode
0 likes · 21 min read
Understanding Java Class File Structure and JVM Execution Process
Top Architecture Tech Stack
Top Architecture Tech Stack
Oct 16, 2023 · Fundamentals

Understanding JVM Platform Independence and Class File Structure

This article explains how the Java Virtual Machine achieves platform and language independence, details the compilation process from source code to class files, and provides an in‑depth analysis of the class file format, constant pool, bytecode instructions, access flags, and related metadata.

Constant PoolJVMJava Internals
0 likes · 14 min read
Understanding JVM Platform Independence and Class File Structure
Tencent Cloud Developer
Tencent Cloud Developer
Oct 12, 2023 · Fundamentals

From 0 to 1: How to Design and Implement Your Own Scripting Language

The article walks readers through building a custom scripting language from scratch—explaining compilation basics, lexical scanning, parsing, bytecode generation, and virtual‑machine execution—using a sample language called eben to illustrate BNF syntax, variable scopes, control flow, functions, closures, object‑orientation, garbage collection, and the historical evolution of programming languages.

BNFCompilationGarbage Collection
0 likes · 46 min read
From 0 to 1: How to Design and Implement Your Own Scripting Language
Java Architect Essentials
Java Architect Essentials
Sep 12, 2023 · Fundamentals

Why volatile and synchronized Can't Prevent Instruction Reordering in Java

An in‑depth analysis of Java’s instruction reordering versus ordered execution, illustrating how volatile ensures visibility but not atomicity, how synchronized guarantees atomicity and ordering yet cannot stop bytecode‑level reordering, with detailed DCL singleton bytecode walkthrough and multithreaded examples.

Instruction ReorderingSingletonbytecode
0 likes · 7 min read
Why volatile and synchronized Can't Prevent Instruction Reordering in Java
DeWu Technology
DeWu Technology
Sep 11, 2023 · Backend Development

Bytecode Enhancement for Method Call Interception and Performance Monitoring

The article introduces a lightweight bytecode‑enhancement framework that weaves interceptors directly into Java methods to record execution times and call hierarchies, avoiding proxy overhead, supporting synchronous, asynchronous and lambda scenarios, and enabling precise performance monitoring and tracing across micro‑service architectures.

InstrumentationMethodInterceptionPerformanceMonitoring
0 likes · 24 min read
Bytecode Enhancement for Method Call Interception and Performance Monitoring
JD Cloud Developers
JD Cloud Developers
Sep 5, 2023 · Backend Development

Inside Java Compilation: From Source Code to Optimized Bytecode

This article explains Java's compilation pipeline—from source parsing, symbol table construction, and annotation processing to semantic analysis and bytecode generation—and then details HotSpot's runtime JIT compilation, covering client vs server compilers, inlining, devirtualization, escape analysis, and on‑stack replacement.

CompilationHotSpotJIT
0 likes · 11 min read
Inside Java Compilation: From Source Code to Optimized Bytecode
JD Tech
JD Tech
Aug 14, 2023 · Fundamentals

Understanding Java Class File Structure and JVM Loading Process

This article explains the internal structure of Java class files—including magic numbers, versioning, constant pools, access flags, fields, methods, and attributes—illustrates bytecode generation with a sample class, and details the JVM's class loading, verification, preparation, resolution, initialization, memory allocation, object layout, and execution engine.

JVMMemoryManagementRuntime
0 likes · 26 min read
Understanding Java Class File Structure and JVM Loading Process
Architect's Tech Stack
Architect's Tech Stack
Aug 12, 2023 · Backend Development

Understanding Java Object Behavior, Method Area, and Dynamic Tracing with Instrumentation, BTrace, and Arthas

This article explains how Java objects store attributes and shared behavior, describes the JVM method area where method bytecode resides, and demonstrates runtime bytecode manipulation using java.lang.instrument.Instrumentation, BTrace scripts, and the Arthas diagnostic tool to solve real‑world debugging problems.

ArthasBTraceInstrumentation
0 likes · 15 min read
Understanding Java Object Behavior, Method Area, and Dynamic Tracing with Instrumentation, BTrace, and Arthas
21CTO
21CTO
Jul 28, 2023 · Backend Development

How I Built a Toy Java Virtual Machine in Rust – Lessons and Code

After learning Rust, I created a toy Java Virtual Machine called rjvm, open‑sourced on GitHub, detailing its architecture, class file parsing, bytecode execution, value modeling, instruction handling, exception processing, and a simple stop‑the‑world garbage collector, while sharing insights and code snippets.

JVMbytecodegarbage-collection
0 likes · 15 min read
How I Built a Toy Java Virtual Machine in Rust – Lessons and Code
IT Services Circle
IT Services Circle
Jun 20, 2023 · Backend Development

Comparison of while(true) and for(;;) Infinite Loops in Java

This article examines the differences between while(true) and for(;;) infinite loops in Java, presenting equivalent code examples, compiling them to bytecode, and showing that both constructs compile to identical bytecode using a goto instruction, concluding there is no performance distinction.

bytecodeforinfinite loop
0 likes · 4 min read
Comparison of while(true) and for(;;) Infinite Loops in Java
Beijing SF i-TECH City Technology Team
Beijing SF i-TECH City Technology Team
May 30, 2023 · Backend Development

Using Bytecode Enhancement in Full-Chain Load Testing Scenarios

This article explains the challenges of full‑chain load testing in microservice environments, compares component modification versus bytecode enhancement, selects ByteBuddy as the preferred bytecode library, describes the design and execution of a Java Agent (Sftc‑Agent), and discusses module architecture, class‑loader isolation, and future improvements.

ByteBuddyInstrumentationJava Agent
0 likes · 9 min read
Using Bytecode Enhancement in Full-Chain Load Testing Scenarios
Meituan Technology Team
Meituan Technology Team
May 18, 2023 · Mobile Development

Adapting Meituan's Android Robust Hot‑Fix Framework to R8 and Optimization Strategies

The article explains how Meituan migrated its method‑instrumentation hot‑fix system Robust from ProGuard to Google’s R8 by moving change detection ahead of optimization, disabling or tuning R8’s built‑in optimizations, and implementing special handling for anonymous classes, inlined methods, super calls, constructors and static initializers to ensure reliable patch generation.

AndroidHotfixProGuard
0 likes · 21 min read
Adapting Meituan's Android Robust Hot‑Fix Framework to R8 and Optimization Strategies
Selected Java Interview Questions
Selected Java Interview Questions
Apr 7, 2023 · Backend Development

Understanding Object Creation in Java: How Many Objects Are Created by `String s = new String("xyz")`?

This article explains the evolution of the Java method area, analyzes bytecode generated by `String s = new String("xyz")` and `String s = "xyz"`, and clarifies why the expression creates one or two objects depending on whether the literal already exists in the constant pool.

BackendConstant PoolObject Creation
0 likes · 7 min read
Understanding Object Creation in Java: How Many Objects Are Created by `String s = new String("xyz")`?
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
Alibaba Cloud Developer
Alibaba Cloud Developer
Mar 20, 2023 · Backend Development

Master Java Exception Handling: Best Practices, Bytecode Insights & Custom Exceptions

This comprehensive guide explores Java's exception handling mechanisms, classifies checked and unchecked exceptions, delves into bytecode analysis of try‑catch‑finally and try‑with‑resources, showcases common pitfalls, presents custom exception design patterns, and demonstrates global exception handling for RPC and HTTP layers in Spring Boot applications.

Custom ExceptionsException HandlingSpring Boot
0 likes · 32 min read
Master Java Exception Handling: Best Practices, Bytecode Insights & Custom Exceptions
DeWu Technology
DeWu Technology
Jan 9, 2023 · Fundamentals

Understanding JVM Bytecode, JIT Compilation, and Garbage Collection

The article explains how the JVM executes Java bytecode, detailing bytecode structure, lambda compilation, JIT tiers and optimizations such as inlining and escape analysis, describes runtime memory areas and generational garbage collectors—including G1, ZGC, and Shenandoah—and offers key tuning flags for balancing throughput, latency, and heap size.

Garbage CollectionJITJVM
0 likes · 52 min read
Understanding JVM Bytecode, JIT Compilation, and Garbage Collection
Baidu Geek Talk
Baidu Geek Talk
Dec 19, 2022 · Mobile Development

Dex Annotation Optimization for Baidu APP Android Package

In the second part of Baidu’s APK‑size‑optimization series, the team uses the Titan‑Dex framework to strip unnecessary build‑type and system Dex annotations—such as generic signatures and class‑relationship metadata—while automatically generating a whitelist via custom Lint detectors, ultimately shrinking the final Dex by about 1.2 MB.

AndroidAnnotation OptimizationDEX
0 likes · 14 min read
Dex Annotation Optimization for Baidu APP Android Package
Baidu App Technology
Baidu App Technology
Dec 12, 2022 · Mobile Development

How Baidu Shrunk Android App Size by Optimizing Dex Annotations

This article details Baidu's systematic approach to reducing Android APK size by analyzing Dex annotation types, defining removal targets, implementing a Titan‑Dex based optimizer, and automating detection and whitelist management with custom Lint rules, ultimately saving about 1.2 MB of Dex bytecode.

AndroidAnnotation OptimizationDEX
0 likes · 14 min read
How Baidu Shrunk Android App Size by Optimizing Dex Annotations
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 ProxyJDKReflection
0 likes · 11 min read
Mastering Java Dynamic Proxies: JDK vs CGLIB Implementation and Pitfalls
IT Architects Alliance
IT Architects Alliance
Sep 29, 2022 · Backend Development

Does Using try-catch in Java Significantly Impact Performance? An In-depth JVM Bytecode and JIT Analysis

Although a common belief claims that Java's try‑catch blocks severely degrade performance, this article dissects JVM exception handling, bytecode generation, and JIT/AOT optimizations, presents detailed test code and benchmarks, and demonstrates that when no exception occurs, the overhead is negligible.

JITJVMbytecode
0 likes · 17 min read
Does Using try-catch in Java Significantly Impact Performance? An In-depth JVM Bytecode and JIT Analysis
Huolala Tech
Huolala Tech
Sep 22, 2022 · Operations

How HuoLala Engineered a Scalable, High‑Availability Monitoring System for Multi‑Cloud

This article details the evolution of monitoring technologies, HuoLala's three‑phase monitoring architecture, the integration of Prometheus, VictoriaMetrics and SkyWalking, zero‑intrusion bytecode instrumentation, full‑link trace sampling, visual dashboards, metric‑trace‑log correlation, and future plans for root‑cause analysis and intelligent alerting.

Operationsbytecodecloud
0 likes · 24 min read
How HuoLala Engineered a Scalable, High‑Availability Monitoring System for Multi‑Cloud
Sohu Tech Products
Sohu Tech Products
Aug 3, 2022 · Backend Development

Understanding Java try‑catch‑finally Execution, Return Values, and Bytecode Mechanics

This article explains why static code analysis flags certain try‑catch‑finally patterns in Java, details the JVM's handling of exceptions and finally blocks, demonstrates how return values are determined at the bytecode level, and provides practical guidelines and a comprehensive reference of relevant bytecode instructions.

JVMbytecodetry-catch-finally
0 likes · 21 min read
Understanding Java try‑catch‑finally Execution, Return Values, and Bytecode Mechanics
Top Architect
Top Architect
Jul 4, 2022 · Fundamentals

Understanding JVM Class Loading, Memory Structure, and ClassLoader Mechanisms

This article provides a comprehensive overview of the JVM's memory layout, class loading subsystem, classloader categories, the parent‑delegation model, and custom classloader implementation, illustrating each concept with detailed explanations and code examples for Java developers.

JVMMemory Managementbytecode
0 likes · 19 min read
Understanding JVM Class Loading, Memory Structure, and ClassLoader Mechanisms
OPPO Kernel Craftsman
OPPO Kernel Craftsman
May 13, 2022 · Mobile Development

Deep Dive into the Android Dex File Format

The article explains the Android Dex format, its compact bytecode advantages, how d8 generates Dex files, details each structural component—from header and ID tables to class data and bytecode—covers encoding schemes, endianness, and demonstrates inspection with the dexdump tool for deeper ART understanding.

ARTAndroidD8
0 likes · 9 min read
Deep Dive into the Android Dex File Format
Baidu App Technology
Baidu App Technology
Mar 28, 2022 · Mobile Development

Dex DebugInfo Line Number Optimization in Android Applications

The article explains how Baidu’s Dex line-number optimization replaces original line numbers with compact PC-based mappings, unifies debug_info_items, and uses a server-side mapping file to shrink DebugInfo by roughly 8% of the Dex size while keeping stack-trace line numbers fully recoverable.

AndroidDEXDebugInfo
0 likes · 25 min read
Dex DebugInfo Line Number Optimization in Android Applications
Top Architect
Top Architect
Mar 21, 2022 · Backend Development

Understanding Java Object Behavior, Method Area, and Dynamic Tracing with Instrumentation, BTrace, and Arthas

This article explains how Java objects store behavior in the method area, introduces the java.lang.instrument.Instrumentation API for redefining classes at runtime, and demonstrates practical dynamic tracing techniques using BTrace and Arthas, complete with code examples and architectural insights.

BTraceInstrumentationbackend-development
0 likes · 16 min read
Understanding Java Object Behavior, Method Area, and Dynamic Tracing with Instrumentation, BTrace, and Arthas
Tencent Cloud Developer
Tencent Cloud Developer
Mar 16, 2022 · Fundamentals

How V8 Executes JavaScript: From Parsing to JIT Optimization

This article explains the core concepts of compilation and interpretation, compares static and dynamic languages, and walks through the V8 engine’s workflow—including parsing, bytecode generation, JIT compilation, and TurboFan optimizations—providing concrete code examples and command‑line tips.

CompilationJITJavaScript
0 likes · 8 min read
How V8 Executes JavaScript: From Parsing to JIT Optimization
政采云技术
政采云技术
Mar 15, 2022 · Fundamentals

Understanding Java Class Loading Mechanism and Runtime Data Areas

This article explains how the JVM loads and links class files, describes the five runtime data areas—including the Method Area, Heap, JVM Stacks, Program Counter, and Native Method Stack—and details the class‑loader hierarchy and the parent‑delegation model used during class loading.

JVMMemory ModelRuntime Data Areas
0 likes · 17 min read
Understanding Java Class Loading Mechanism and Runtime Data Areas
ByteDance Terminal Technology
ByteDance Terminal Technology
Feb 17, 2022 · Mobile Development

DexInjector: Direct APK (dex) Instrumentation Tool and Technical Design

This article introduces DexInjector, a tool for directly instrumenting Android APK dex files to insert logging, performance monitoring, and third‑party hooks without recompiling, explains the underlying technical research, design choices, implementation details, handling of method limits, string jumbo, obfuscation, class conflicts, and provides code examples and workflow diagrams.

APKAndroidDEX
0 likes · 23 min read
DexInjector: Direct APK (dex) Instrumentation Tool and Technical Design
政采云技术
政采云技术
Jan 18, 2022 · Fundamentals

Comprehensive Overview of the Java Virtual Machine (JVM) – From Source Code to Bytecode

This article provides a thorough, step‑by‑step exploration of the Java Virtual Machine, covering official documentation, the G1 garbage collector, HotSpot architecture, class file structure, constant‑pool parsing, bytecode inspection with hexdump and javap, and prepares readers for deeper JVM class‑loading concepts.

ConstantPoolGarbageCollectionJVM
0 likes · 14 min read
Comprehensive Overview of the Java Virtual Machine (JVM) – From Source Code to Bytecode
Ops Development Stories
Ops Development Stories
Jan 17, 2022 · Fundamentals

Unlocking Java Class Files: A Deep Dive into Bytecode Structure

This article explains how to analyze Java .class files using the javap tool, covering the magic number, version, constant pool, access flags, class and superclass indexes, field and method tables, and attribute structures, while illustrating each part with code snippets and diagrams.

bytecodeclassfilefundamentals
0 likes · 15 min read
Unlocking Java Class Files: A Deep Dive into Bytecode Structure
macrozheng
macrozheng
Dec 3, 2021 · Backend Development

i++ vs ++i in Java: Which Is Faster in Loops? Bytecode Deep Dive

An interview question about choosing i++ or ++i in a for‑loop leads to a bytecode‑level analysis that reveals both forms compile to the same ++i instruction after JVM optimization, making their performance essentially identical in typical Java loops.

bytecodefor loopincrement operators
0 likes · 8 min read
i++ vs ++i in Java: Which Is Faster in Loops? Bytecode Deep Dive
Java High-Performance Architecture
Java High-Performance Architecture
Dec 3, 2021 · Fundamentals

Unlocking JVM Secrets: Deep Dive into Memory, GC, Class Files, and Method Dispatch

This comprehensive guide explores the inner workings of the Java Virtual Machine, covering memory regions, garbage‑collection algorithms, class‑file structure, bytecode instructions, class loading mechanisms, and method dispatch strategies, providing clear explanations and code examples for developers seeking a deeper understanding of JVM fundamentals.

Garbage CollectionJVMMemory Management
0 likes · 41 min read
Unlocking JVM Secrets: Deep Dive into Memory, GC, Class Files, and Method Dispatch
Sohu Tech Products
Sohu Tech Products
Nov 10, 2021 · Backend Development

Improving Kotlin Data Class Serialization with a Compiler Plugin: Design, Implementation, and Performance Evaluation

This article presents a Kotlin compiler plugin that replaces verbose annotation‑based serialization with concise delegated properties, explains its design and implementation details, demonstrates significant compilation‑time reductions of up to 20% and cleaner code, and provides a step‑by‑step guide for developers interested in building similar compiler extensions.

Compiler PluginKCPKotlin
0 likes · 21 min read
Improving Kotlin Data Class Serialization with a Compiler Plugin: Design, Implementation, and Performance Evaluation
Programmer DD
Programmer DD
Aug 11, 2021 · Fundamentals

Why Does Java’s for(;;) Loop Exist and Is It Faster Than while(true)?

An exploration of Java’s infinite loop constructs reveals that for(;;) originates from C, offers a concise syntax without magic numbers, and, according to bytecode analysis of JDK8u, performs identically to while(true), with performance determined solely by the JVM implementation.

Loopsbytecodefor
0 likes · 4 min read
Why Does Java’s for(;;) Loop Exist and Is It Faster Than while(true)?
Yang Money Pot Technology Team
Yang Money Pot Technology Team
Jul 27, 2021 · Fundamentals

Understanding Java Class Compilation and Loading: Processes, Annotations, Syntax Sugar, and Class Loader Mechanisms

This article explains the complete Java class compilation and loading lifecycle, covering lexical, syntax, and semantic analysis, annotation processing, syntax‑sugar transformation, bytecode generation, class file structure, the five loading steps, class loader types, the parent‑delegation model, and practical use cases such as dependency conflict resolution, hot‑loading, and code encryption.

Class Compilationannotationsbytecode
0 likes · 22 min read
Understanding Java Class Compilation and Loading: Processes, Annotations, Syntax Sugar, and Class Loader Mechanisms
ByteFE
ByteFE
Jun 28, 2021 · Fundamentals

How V8 Executes JavaScript: From Source Code to Optimized Machine Code

This article explains the complete lifecycle of JavaScript execution in the V8 engine, covering language fundamentals, AST generation, bytecode compilation, interpretation, just‑in‑time optimization, hidden classes, inline caches, and other performance strategies used by both browsers and Node.js.

EngineHiddenClassJIT
0 likes · 15 min read
How V8 Executes JavaScript: From Source Code to Optimized Machine Code
政采云技术
政采云技术
Jun 8, 2021 · Frontend Development

The Process of Executing JavaScript in V8

This article explains how the V8 engine parses JavaScript into an AST, generates bytecode, employs lazy compilation, caches machine code, and uses the TurboFan optimizing compiler with JIT techniques to balance speed and memory consumption during script execution.

EngineJITV8
0 likes · 12 min read
The Process of Executing JavaScript in V8
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
Top Architect
Top Architect
May 30, 2021 · Backend Development

Comparing Java's for(;;) and while(true) Loops and Their Generated Bytecode

The article explains the historical origin of Java's for(;;) loop, compares it with while(true) in terms of readability and bytecode generation, and shows that both constructs compile to identical bytecode in the standard javac compiler, making performance differences negligible.

Loopsbytecodefor loop
0 likes · 4 min read
Comparing Java's for(;;) and while(true) Loops and Their Generated Bytecode
Programmer DD
Programmer DD
May 10, 2021 · Backend Development

Mastering Java Dynamic Tracing: Instrumentation, BTrace, and ASM Explained

This article explores how Java's method area stores object behavior, how the java.lang.instrument.Instrumentation API enables runtime class redefinition, and how tools like ASM, BTrace, and Arthas empower developers to inject bytecode, trace methods, and debug production systems without source changes.

BTraceBackendInstrumentation
0 likes · 16 min read
Mastering Java Dynamic Tracing: Instrumentation, BTrace, and ASM Explained
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Apr 14, 2021 · Backend Development

Various Ways to Create Objects in Java: new, newInstance, Reflection, Cloning, and Deserialization

This article explains the multiple techniques for creating objects in Java—including the new operator, Class.newInstance, reflection with Constructor, cloning via Cloneable, and deserialization—while illustrating the underlying bytecode instructions and providing concrete code examples for each method.

DeserializationObject CreationReflection
0 likes · 8 min read
Various Ways to Create Objects in Java: new, newInstance, Reflection, Cloning, and Deserialization