<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[HeapDump性能社区的博客]]></title><description><![CDATA[性能领域的那些事儿都在这里。]]></description><link>https://blog.youkuaiyun.com/PerfMa6</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; PerfMa6]]></copyright><item><title><![CDATA[性能专题｜实战角度分析JVM 源码]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/126000843</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/126000843</guid><author>PerfMa6</author><pubDate>Tue, 26 Jul 2022 18:43:45 +0800</pubDate><description><![CDATA[JVM的源码可以解决我们日常工作中遇到的不少问题，但是对于很多开发者来说阅读JVM源码的门槛比较高，而且JVM源码的体系非常大，需要有3-5年的开发经验才能阅读。如果想学源码的开发同学可以阅读本期专题，从实践问题切入，才能有真正提升。...]]></description><category></category></item><item><title><![CDATA[#性能调优专题二#Linux系统中CPU占用率较高问题的优化]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/125334948</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/125334948</guid><author>PerfMa6</author><pubDate>Fri, 17 Jun 2022 15:51:43 +0800</pubDate><description><![CDATA[在我们日常开发中常常会有一些CPU资源占用过高的问题，这些问题往往会导致我们系统运行的缓慢，甚至造成系统的奔溃，那我们如何进行这种问题的定位及性能优化呢？
]]></description><category></category></item><item><title><![CDATA[Java性能调优专题一:彻底搞懂Java OOM和调优案例实战]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/124844168</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/124844168</guid><author>PerfMa6</author><pubDate>Wed, 18 May 2022 15:58:33 +0800</pubDate><description><![CDATA[这个系列的文章帮你一次理清楚Java oom的那些事，有理论也有案例！适合初级到中级学习，希望大家在Java oom里有所收获！]]></description><category></category></item><item><title><![CDATA[强强合作，专属于前端性能领域知识专栏即将推出]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/124384038</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/124384038</guid><author>PerfMa6</author><pubDate>Sun, 24 Apr 2022 15:31:39 +0800</pubDate><description><![CDATA[数字化时代和性能
随着数字化时代的到来，我们的生活开始逐渐被各种应用所包围。对于各种应用，我们也从最初的能用就行，到现在有了各种各样的体验追求。而一个应用体验好不好，性能就是其中最关键的指标。

那什么是应用性能呢？由谁来负责应用的性能指标呢？其实性能涉及方方面面，从产品设计到需求开发，从测试上线到发布后运维，每一个环节都和性能相关，也就是意味着每一个技术从业者在工作中都要面临性能相关的问题。
在这个趋势下，HeapDump性能社区出现了，它是笨马网络旗下国内首个垂直于性能领域的开发者社区，致力于帮助更多开]]></description><category></category></item><item><title><![CDATA[【内有惊喜】聊一聊前端性能优化]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/124125846</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/124125846</guid><author>PerfMa6</author><pubDate>Tue, 12 Apr 2022 16:02:59 +0800</pubDate><description><![CDATA[前端是离用户最近的战场，而前端性能直接影响了用户体验。可以说，性能优化是初、中级工程师向高级工程师进阶的必学知识点，以及核心技能。
性能优化的商业价值

对于mbify而言，主页加载的速度每提高100ms，转化率就会增加1.11%，平均年收入就会增加380000美元；
Pinterest重建了他们的页面以实现性能，使感知等待时间减少了40％，从而将搜索引擎流量和注册量提高了15％；
通过将平均页面加载时间减少850毫秒，COOK发现他们能够将转化率提高7％，将跳出率降低7％，并将每个页面的页面数量增加10％]]></description><category></category></item><item><title><![CDATA[【关于性能优化】15道「私藏」面试题答案及解析]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/123633866</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/123633866</guid><author>PerfMa6</author><pubDate>Mon, 21 Mar 2022 13:58:47 +0800</pubDate><description><![CDATA[前言
之前我们在社区进行了1场面试题打卡活动，其中针对前端、后端、测试的面试题向大家征集题解；目前该活动已结束，其中涉及的面试题及答案解析列在本文，供大家参考！💥有不同想法的伙伴，欢迎在评论区留言、探讨哦~
本文的主要内容是👇：
后端岗位面试题及答案解析
前端岗位面试题及答案解析
测试岗位面试题及答案解析
后端岗位面试题及答案解析
一、如何面向内存实现一个map数据结构？如何设计存储协议、写入/检索策略？
本题主要考察的点在于存储协议的设计，以及基于写入/检索的需求来优化存储协议；首先需要阐述清楚如何设计存]]></description><category></category></item><item><title><![CDATA[HeapDump性能社区专题系列四：后端面试必备问题集]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/123629828</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/123629828</guid><author>PerfMa6</author><pubDate>Mon, 21 Mar 2022 11:35:10 +0800</pubDate><description><![CDATA[一元复始，万象更新。春节结束，一切又是新的开始。马上就到“金三银四”了，有跳槽打算的工程师，一定已经开始偷偷努力了吧！今天堆堆帮大家整理了一些或经典或刁钻的面试题，以及一些难点解析，希望能帮大家查漏补缺，拿到心仪的offer～
1.面试官问我：什么是高并发下的请求合并？
作者：why技术
前段时间一个在深圳的，两年经验的小伙伴出去面试了一圈，收割了几个大厂 offer 的同时，还总结了一下面试的过程中遇到的面试题，面试题有很多，文末的时候我会分享给大家。
这次的文章主要分享他面试过程中遇到的一个场景题：

]]></description><category></category></item><item><title><![CDATA[元宵节，这些技术类灯谜你能猜对多少？]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/122943403</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/122943403</guid><author>PerfMa6</author><pubDate>Tue, 15 Feb 2022 14:11:35 +0800</pubDate><description><![CDATA[祝大家元宵快乐呀！????
传统佳节，自然就有传统节目咯，HeapDump性能社区技术猜谜大赛开始啦！
????答题方式： 题目序号和答案（例：0，蓝屏  ），写在留言区就行！如果去社区（heapdump.cn）答题还有小礼品哦！
题目来了：????????????
0，整个界面都是阿凡达（打一PC/服务器故障现象）
1，元宇宙里一只鸡（打一技术名词）
2，胖成球的马（打一技术名词）
3，一觉醒来变成了一只甲虫（打一开源软件）
4，大米会唱美声 (打一著名互联网厂商）
5，说了一遍又一遍 （打一编程术语）
]]></description><category></category></item><item><title><![CDATA[20篇精品文章+视频，手把手带你攻克OOM难题｜HeapDump性能社区专题精选]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/122244029</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/122244029</guid><author>PerfMa6</author><pubDate>Thu, 30 Dec 2021 19:38:13 +0800</pubDate><description><![CDATA[Out of memory&nbsp;(OOM) 是一种操作系统或者程序已经无法再申请到内存的状态。经常是因为所有可用的内存，包括磁盘交换空间都已经被分配了。OOM的官方解释是：Understand the OutOfMemoryError Exception，根据HeapDump性能社区专属讲师公与的总结，常见的OOM有以下10种（其中OOM Killer是操作系统层面的概念）。

那些年我们遇到的OOM-开题
开篇推荐的是公与大佬的视频课程《那些年我们遇到的OOM》第一期，在本期课程中，公与重新梳理了大]]></description><category></category></item><item><title><![CDATA[数据库性能优化，究竟该如何下手？]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/122001397</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/122001397</guid><author>PerfMa6</author><pubDate>Fri, 17 Dec 2021 17:42:14 +0800</pubDate><description><![CDATA[数据库性能优化的目标是通过充分利用系统资源来最小化查询的响应时间。对这些资源的最佳利用包括最大限度地减少网络流量、磁盘 I/O 和 CPU 时间。这个目标只能通过理解数据的逻辑和物理结构、系统上使用的应用程序以及数据库的冲突使用如何影响性能来实现。实际上，数据库性能优化是一项系统工程，需要使用系统化分析方法，从硬件、软件和应用场景等多个相关联的维度深入分析、评估与优化，在数据库系统的架构阶段、设计阶段、开发阶段、部署阶段、运行阶段等各环节中去寻找性能问题的瓶颈和解决方案。
本文精选了HeapDump性能社区]]></description><category></category></item><item><title><![CDATA[【JVM源码解析】虚拟机解释执行Java方法（下）]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/121856178</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/121856178</guid><author>PerfMa6</author><pubDate>Fri, 10 Dec 2021 14:45:34 +0800</pubDate><description><![CDATA[本文由HeapDump性能社区首席讲师鸠摩（马智）授权整理发布

第34篇-解析invokeinterface字节码指令
与invokevirtual指令类似，当没有对目标方法进行解析时，需要调用LinkResolver::resolve_invoke()函数进行解析，这个函数会调用其它一些函数完成方法的解析，如下图所示。

上图中粉色的部分与解析invokevirtual字节码指令有所区别，resolve_pool()函数及其调用的相关函数在介绍invokevirtual字节码指令时详细介绍过，这里不再.]]></description><category></category></item><item><title><![CDATA[【JVM源码解析】虚拟机解释执行Java方法（上）]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/121704348</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/121704348</guid><author>PerfMa6</author><pubDate>Fri, 03 Dec 2021 18:00:20 +0800</pubDate><description><![CDATA[本文由HeapDump性能社区首席讲师鸠摩（马智）授权整理发布

第29篇-调用Java主类的main()方法
前面已经写了许多篇介绍字节码指令对应的汇编代码执行逻辑，还有一些字节码指令对应的汇编代码逻辑没有介绍，这些指令包括方法调用指令、同步指令、异常抛出指令，这些指令的汇编代码实现逻辑比较复杂，所以后面在介绍到方法调用、同步和异常处理的知识点时，会通过大篇幅的文章进行详细介绍！
在第1篇中大概介绍过Java中主类方法main()的调用过程，这一篇介绍的详细一点，大概的调用过程如下图所示。

其中浅红色.]]></description><category></category></item><item><title><![CDATA[【JVM源码解析】模板解释器解释执行Java字节码指令（下）]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/121534203</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/121534203</guid><author>PerfMa6</author><pubDate>Thu, 25 Nov 2021 11:38:06 +0800</pubDate><description><![CDATA[本文由HeapDump性能社区首席讲师鸠摩（马智）授权整理发布

第22篇-虚拟机字节码之运算指令
虚拟机规范中与运算相关的字节码指令如下表所示。











0x60
iadd
将栈顶两int型数值相加并将结果压入栈顶


0x61
ladd
将栈顶两long型数值相加并将结果压入栈顶


0x62
fadd
将栈顶两float型数值相加并将结果压入栈顶


0x63
dadd
将栈顶两double型数值相加并将结果压入栈顶


0x64
isub
将栈顶两int型数值相减并将结果压入栈顶

.]]></description><category></category></item><item><title><![CDATA[【JVM源码解析】模板解释器解释执行Java字节码指令（上）]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/121534183</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/121534183</guid><author>PerfMa6</author><pubDate>Thu, 25 Nov 2021 11:37:12 +0800</pubDate><description><![CDATA[本文由HeapDump性能社区首席讲师鸠摩（马智）授权整理发布

第17章-x86-64寄存器
不同的CPU都能够解释的机器语言的体系称为指令集架构（ISA，Instruction Set Architecture），也可以称为指令集（instruction set）。Intel将x86系列CPU之中的32位CPU指令集架构称为IA-32，IA是“Intel Architecture”的简称，也可以称为i386、x86-32。AMD等于Intell提出了x86系列的64位扩展，所以由AMD设计的x86系列.]]></description><category></category></item><item><title><![CDATA[深入底层｜JVM源码解读：HotSpot的模板解释器]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/121274293</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/121274293</guid><author>PerfMa6</author><pubDate>Thu, 11 Nov 2021 19:16:15 +0800</pubDate><description><![CDATA[本文由HeapDump性能社区首席讲师鸠摩（马智）授权整理发布

第9篇-字节码指令的定义
之前的文章介绍了解释执行下的Java栈帧创建以及字节码分派逻辑，但是始终没有讲到虚拟机到底是怎么执行Java方法中的字节码的，在介绍字节码的执行之前，需要先知道字节码指令的定义。在Bytecodes::initialize()函数中会定义字节码指令的一些属性。这个函数的调用链如下：
init_globals()
bytecodes_init() 
Bytecodes::initialize()

在Bytecode.]]></description><category></category></item><item><title><![CDATA[【超硬核】JVM源码解读：Java方法main在虚拟机上解释执行]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/121269047</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/121269047</guid><author>PerfMa6</author><pubDate>Thu, 11 Nov 2021 15:35:50 +0800</pubDate><description><![CDATA[本文由HeapDump性能社区首席讲师鸠摩（马智）授权整理发布

第1篇-关于Java虚拟机HotSpot，开篇说的简单点
开讲Java运行时，这一篇讲一些简单的内容。我们写的主类中的main()方法是如何被Java虚拟机调用到的？在Java类中的一些方法会被由C/C++编写的HotSpot虚拟机的C/C++函数调用，不过由于Java方法与C/C++函数的调用约定不同，所以并不能直接调用，需要JavaCalls::call()这个函数辅助调用。（我把由C/C++编写的叫函数，把Java编写的叫方法，后续也.]]></description><category></category></item><item><title><![CDATA[3个坏代码导致的性能问题案例：CPU占用飙到了900%]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/121066055</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/121066055</guid><author>PerfMa6</author><pubDate>Sun, 31 Oct 2021 16:37:55 +0800</pubDate><description><![CDATA[读过《重构 - 改善既有代码的设计》一书的同学们应该都很了解“代码的坏味道”。当然确定什么是代码“坏味道”是主观的，它会随语言、开发人员和开发方法的不同而不同。在工作当中，很多时候都是在维护之前的项目和在此基础上增加一些新功能，为了能让项目代码易于理解和维护，要时刻注意代码中的“坏味道”，当发现代码如果有坏味道了，要及时去重构它使其变成优秀的整洁的代码。今天我们要聊的是“坏味道的代码”给系统性能带来的影响，笔者会给大家展示几个案例，希望能对大家有所启发和帮助。
FGC实战：坏代码导致服务频繁FGC无响应问题]]></description><category></category></item><item><title><![CDATA[Java程序员涨薪必备的性能调优知识点，收好了！]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/120912351</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/120912351</guid><author>PerfMa6</author><pubDate>Fri, 22 Oct 2021 19:52:40 +0800</pubDate><description><![CDATA[Java 应用性能优化是一个老生常谈的话题，典型的性能问题如页面响应慢、接口超时，服务器负载高、并发数低，数据库频繁死锁等。尤其是在“糙快猛”的互联网开发模式大行其道的今天，随着系统访问量的增加和代码的日渐臃肿，各种性能问题开始纷至沓来。Java 应用性能的瓶颈点非常多，比如磁盘、内存、网络 I/O 等系统因素，Java 应用代码，JVM GC，数据库，缓存等。将 Java 性能优化分为 4 个层级：应用层、数据库层、框架层、JVM 层。
每层优化难度逐级增加，涉及的知识和解决的问题也会不同。

应用层需要]]></description><category></category></item><item><title><![CDATA[1024程序员段位大挑战，赢1024现金大奖！ 审核中]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/120867802</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/120867802</guid><author>PerfMa6</author><pubDate>Wed, 20 Oct 2021 15:51:19 +0800</pubDate><description><![CDATA[1️⃣0️⃣2️⃣4️⃣！祝一G棒的程序工程师们，节日快乐呀????~
值此佳节之际，HeapDump性能社区必有大动作；
这不，堆堆马上就来派福利了！
High大了，High大了，这才是给各位工程师大大们过节的????正确姿势！
1024 Part1

????长按扫码或手机点击链接参与答题
https://heapdump.cn/activity-1024?source=csdn

⏰参与时间
答题开始：10月20日9:00
特/一/二等奖开奖：10月24日晚上10:24
名单整理公布：10月25日12]]></description><category></category></item><item><title><![CDATA[HeapDump性能社区Young GC异常问题排查实战案例精选合集]]></title><link>https://blog.youkuaiyun.com/PerfMa6/article/details/120185601</link><guid>https://blog.youkuaiyun.com/PerfMa6/article/details/120185601</guid><author>PerfMa6</author><pubDate>Wed, 08 Sep 2021 17:54:37 +0800</pubDate><description><![CDATA[在高并发下，Java程序的GC问题属于很典型的一类问题，带来的影响往往会被进一步放大。不管是「GC频率过快」还是「GC耗时太长」，由于GC期间都存在Stop The World问题，因此很容易导致服务超时，引发性能问题。本期小编为大家筛选了4篇Young GC问题排查文章，帮大家复习YGC的执行原理和问题排查要点。
1.YGC问题排查，又让我涨姿势了！
作者：Rockets
https://heapdump.cn/article/1661497
本文作者分享了一个棘手的Young GC耗时过长的线上案例，首]]></description><category></category></item></channel></rss>