六月 8, 2025安全点是指程序的某些特定的位置,当线程执行到这些位置的时候,说明虚拟机当前的状态是安全的,如果有需要,可以在这个位置暂停。 当程序执行某些特定的操作时需要避免其他线程的操作导致程序的状态不一致或不确定,因此此时会让应用程序产生停顿,这个停顿称为STW(Stop The World)。HotSpotVM使用安全点来实现S
五月 18, 2025Java微基准测试工具JMH(Java MicroBenchmark Harness)负责JVM预热和代码优化路径等工作,使基准测试尽可能简单。 JVM的即时编译器会对代码进行优化,这可能会影响性能测试的结果。JMH通过控制测试环境(预热、多轮迭代、多进程测试等机制),确保测试结果的准确性。 一、快速开始 Maven依
五月 15, 2025一、简介 Java Agent 是一种 JVM 插桩机制,它允许在 主程序 main 方法执行之前 或者在 JVM 运行时 进行字节码的 修改和增强 。我们经常使用的各种线上诊断工具如 btrace 和 arthas、代码调试、热部署等功能,都是基于 Java Agent 实现的。 Java Agent 可以理解为是一
八月 12, 2024一、相关知识 用户级线程 (ULT):实现在用户空间的线程称为用户级线程。用户线程是完全建立在用户空间的线程库,用户线程的创建、调度、同步和销毁全由用户空间的库函数完成,不需要内核的参与,也不需要进行用户态和内核态的切换,因此这种线程的 系统资源消耗非常低 ,且非常的高效。用户级线程调度器在用户空间的线程库实现,内核并
十月 30, 2023因为像TCP和UDP这种底层协议只能发送字节流,因此当我们在开发一些远程过程调用(RPC)的程序时,需要将应用层的Java POJO对象序列化成字节流,数据接收端再反序列化成Java POJO对象。序列化一定会设计编码和格式化,目前常见的编码方式有: 1. JSON:将Java POJO对象转换成J…
十月 24, 2023介绍 Reactor 反应器模式的演进过程,从阻塞 OIO 到 Connection Per Thread 再到 Reactor 模型,详解 Reactor 线程和 Handler 的职责分工,并基于 Java NIO 给出单线程 Reactor 的实现示例。
八月 27, 2023介绍 x86 架构的内存寻址方式,从实模式(8086 段:偏移寻址 1MB 地址空间)到保护模式(IA-32)的演进,详解段选择子、段寄存器、虚拟地址寻址,以及保护模式如何提供进程隔离与安全保护。
八月 26, 2023梳理 CPU 架构与指令集的基本概念,涵盖 x86(i386、AMD64、x86-64)、ARM、MIPS 等主流架构,厘清 x86 与 x64、IA-32 与 IA-64 的命名关系,介绍 SSE、AVX 等指令集扩展,以及 CISC 与 RISC 的设计差异。
七月 2, 20231、路由分类 路由产生方式: 1. 直接路由:路由器会自动生成本路由器激活端口所在网段的路由条目 2. 静态路由:网络管理员手工配置,静态路由信息在缺省的情况下私有的,不会传递给其他的路由器 * * 简单、高效、可靠、安全保密性高 * **静态路由描述转发路径的方式有两种:指向本地接…
七月 1, 2023介绍路由协议的基本术语,包括自治系统(AS)的定义,外部网关协议(EGP/BGP)与内部网关协议(IGP/OSPF/RIP)的区别,以及跳数、带宽、延迟、负载、可靠性、MTU 等路由度量指标。