poemyang_个人页

poemyang
个人头像照片
14
0
0

个人介绍

技术/人文, 互联网, 微信公众号:poemyang

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2025年09月

  • 09.01 13:39:47
    发表了文章 2025-09-01 13:39:47

    从纳秒到毫秒的“时空之旅”:CPU是如何看待内存与硬盘的?

    在数据爆炸的时代,如何高效存储与管理海量数据成为系统设计的核心挑战。本文从计算机存储体系结构出发,解析B+树、LSM树与Kafka日志结构在不同数据库中的应用与优化策略,帮助你深入理解高性能存储背后的原理。

2025年08月

  • 08.29 01:02:53
    发表了文章 2025-08-29 01:02:53

    性能优化之母:为什么说“方法内联”是编译器优化中最关键的一步棋?

    方法内联是编译器优化技术,通过将被调用方法的代码直接插入调用点,减少方法调用开销,并为后续优化创造条件。它能提升执行效率,但过度内联可能导致代码膨胀。Java虚拟机会根据调用频率、方法类型等因素动态决策内联策略,以平衡性能与资源消耗。
  • 08.27 11:17:33
    发表了文章 2025-08-27 11:17:33

    new出来的对象,不一定在堆上?聊聊Java虚拟机的优化技术:逃逸分析

    逃逸分析是一种静态程序分析技术,用于判断对象的可见性与生命周期。它帮助即时编译器优化内存使用、降低同步开销。根据对象是否逃逸出方法或线程,分析结果分为未逃逸、方法逃逸和线程逃逸三种。基于分析结果,编译器可进行同步锁消除、标量替换和栈上分配等优化,从而提升程序性能。尽管逃逸分析计算复杂度较高,但其在热点代码中的应用为Java虚拟机带来了显著的优化效果。
  • 08.22 12:00:28
    发表了文章 2025-08-22 12:00:28

    解锁硬件潜能:Java向量化计算,性能飙升W倍!

    编译优化中的机器相关优化主要包括指令选择、寄存器分配、窥孔优化等,发生在编译后端,需考虑目标平台的指令集、寄存器、SIMD支持等硬件特性。向量化计算利用SIMD技术,实现数据级并行,大幅提升性能,尤其适用于图像处理、机器学习等领域。Java通过自动向量化和显式向量API(JDK 22标准)支持该技术。
  • 08.21 12:04:51
    发表了文章 2025-08-21 12:04:51

    Java编译器优化秘籍:字节码背后的IR魔法与常见技巧

    编译器将源代码转换为机器码的过程中,会经历多个中间表达形式(IR)的转换与优化。前端生成高级IR(HIR),后端将其转为低级IR(LIR)并进行机器相关优化。Java编译流程包括源码到字节码、再由即时编译器转换为内部HIR(如SSA图)、优化后生成LIR,最终编译为机器码。常见优化技术包括常量折叠、值编号、死代码消除、公共子表达式消除等,旨在提升程序性能与执行效率。
  • 08.18 00:33:43
    发表了文章 2025-08-18 00:33:43

    “代码跑着跑着,就变快了?”——揭秘Java性能幕后引擎:即时编译器

    HotSpot虚拟机内置C1和C2两个即时编译器。C1启动快,适合快速执行;C2优化强,适合长期运行。自Java 9起,默认启用C2或分层编译。分层编译结合C1与C2优势,共分5层,逐步提升编译质量。方法调用计数器与循环回边计数器用于识别热点代码,触发JIT编译。循环回边计数器还可启动栈上替换(OSR),提升大循环性能。本文详解JIT编译机制与性能优化策略。
  • 08.14 23:14:11
    发表了文章 2025-08-14 23:14:11

    “同声传译”还是“全文翻译”?为何HotSpot虚拟机仍要保留解释器?

    Java虚拟机采用基于栈的指令集架构,通过解释执行字节码运行程序。尽管有栈顶缓存等优化,但执行效率仍受限。为此,JVM引入即时编译(JIT)提升性能,结合解释器与编译器的混合执行模式,兼顾启动速度与运行效率。前端编译负责源码到字节码的转换,后端编译则将字节码编译为机器码,JIT在此阶段进行热点代码优化。解释执行具备快速启动、低内存占用等优势,且支持逆优化机制,保障程序正确性。此外,提前编译(AOT)在运行前静态编译字节码,提升启动速度,但受限于Java的动态特性,编译质量通常不如JIT。三者在编译开销与性能上各有权衡,共同构成JVM的多层次执行体系。
  • 08.12 08:28:23
    发表了文章 2025-08-12 08:28:23

    a+b=c,处理器一步搞定,Java虚拟机为啥要四步?

    Java虚拟机采用基于栈的指令集架构,具有良好的可移植性和实现便利性。其执行过程涉及栈帧、操作数栈、局部变量表等结构,通过字节码指令实现方法调用与数据处理。相较寄存器架构,虽执行效率略低,但代码紧凑、跨平台能力强,是Java语言实现“一次编写,到处运行”的关键技术基础。
  • 08.11 09:00:36
    发表了文章 2025-08-11 09:00:36

    Hello World背后藏着什么秘密?一行代码看懂Java的“跨平台”魔法

    Java虚拟机(JVM)是Java生态的基石,实现“一次编写,随处运行”的核心理念。通过即时编译、热点探测与分层编译等优化机制,JVM在保持平台无关性的同时,不断提升执行效率,使Java程序性能逼近本地编译语言。本文解析JVM编译优化逻辑,探讨其如何在抽象与性能间取得平衡。
  • 08.08 08:17:50
    发表了文章 2025-08-08 08:17:50

    没有Happens-Before?你的多线程代码就是‘一锅粥’!

    并发编程中,Java内存模型(JMM)通过happens-before规则定义线程间操作的顺序与可见性,确保多线程环境下程序的正确性。它抽象底层硬件差异,提供volatile、synchronized等同步机制,简化并发开发,实现高效、可移植的多线程程序。
  • 08.07 10:17:13
    发表了文章 2025-08-07 10:17:13

    为什么i++不是原子操作?一个让无数并发程序崩溃的“常识”

    简介:本文详解“原子性”概念及实现原理,通过Java代码示例说明多线程环境下count++操作为何非原子,并探讨处理器如何通过总线锁定、缓存锁定及原子指令(如CAS)保障操作不可中断。同时分析CAS存在的ABA问题、自旋开销及局限性,为并发编程打下理论基础。
  • 08.06 10:15:40
    发表了文章 2025-08-06 10:15:40

    我的代码出现幻觉?说好的a = 1; x = b,怎么成了x = b; a = 1?

    本节讲解了多线程环境下由于编译器和处理器的指令重排序导致的共享变量操作异常问题。通过Java示例说明了重排序如何影响程序结果,并介绍了内存屏障与volatile关键字如何防止重排序,保障多线程程序正确执行。
  • 08.05 08:51:53
    发表了文章 2025-08-05 08:51:53

    我的代码背叛了我?为什么 a=1, b=2,最后x和y都等于0?

    并发编程是现代开发的核心技能。本文以Java为例,解析多线程环境下共享数据的传播机制、指令有序性保障及原子操作原理,深入探讨可见性与有序性问题的根源。通过分析典型并发异常案例,揭示处理器缓存、写缓冲区及内存模型对程序行为的影响,并详解volatile与synchronized关键字的底层实现机制,帮助开发者构建对并发编程本质的系统理解。
  • 08.01 18:44:35
    发表了文章 2025-08-01 18:44:35

    书本大纲:从芯片、分布式到云计算AI时代

    本文深入探讨并发编程、JVM原理、RPC框架、高并发系统、分布式架构及云原生技术,涵盖内存模型、同步机制、垃圾回收、网络协议、存储优化、弹性伸缩等核心议题,揭示多线程运行逻辑与高并发实现路径,助你掌握现代软件底层原理与工程实践。
  • 08.01 11:26:51
    发表了文章 2025-08-01 11:26:51

    书本介绍:技术札纪——有限硬件与无限计算的权衡艺术

    本书《技术札纪》深入探讨在有限硬件条件下如何平衡系统性能与弹性的关键技术难题。内容涵盖并发编程本质、JVM调优哲学、高并发防护体系、分布式理论落地及云原生时代的技术演进,帮助开发者构建底层思维,提升系统设计与优化能力,在多变的技术浪潮中把握核心竞争力。
  • 发表了文章 2025-09-01

    从纳秒到毫秒的“时空之旅”:CPU是如何看待内存与硬盘的?

  • 发表了文章 2025-08-29

    性能优化之母:为什么说“方法内联”是编译器优化中最关键的一步棋?

  • 发表了文章 2025-08-27

    new出来的对象,不一定在堆上?聊聊Java虚拟机的优化技术:逃逸分析

  • 发表了文章 2025-08-22

    解锁硬件潜能:Java向量化计算,性能飙升W倍!

  • 发表了文章 2025-08-21

    Java编译器优化秘籍:字节码背后的IR魔法与常见技巧

  • 发表了文章 2025-08-18

    “代码跑着跑着,就变快了?”——揭秘Java性能幕后引擎:即时编译器

  • 发表了文章 2025-08-14

    “同声传译”还是“全文翻译”?为何HotSpot虚拟机仍要保留解释器?

  • 发表了文章 2025-08-12

    a+b=c,处理器一步搞定,Java虚拟机为啥要四步?

  • 发表了文章 2025-08-11

    Hello World背后藏着什么秘密?一行代码看懂Java的“跨平台”魔法

  • 发表了文章 2025-08-08

    没有Happens-Before?你的多线程代码就是‘一锅粥’!

  • 发表了文章 2025-08-07

    为什么i++不是原子操作?一个让无数并发程序崩溃的“常识”

  • 发表了文章 2025-08-06

    我的代码出现幻觉?说好的a = 1; x = b,怎么成了x = b; a = 1?

  • 发表了文章 2025-08-05

    我的代码背叛了我?为什么 a=1, b=2,最后x和y都等于0?

  • 发表了文章 2025-08-01

    书本大纲:从芯片、分布式到云计算AI时代

  • 发表了文章 2025-08-01

    书本介绍:技术札纪——有限硬件与无限计算的权衡艺术

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息