-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
320 lines (255 loc) · 15 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>空歌白石的个人博客 - 基于Hugo构建</title>
<meta name="renderer" content="webkit" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<meta name="theme-color" content="#f8f5ec" />
<meta name="msapplication-navbutton-color" content="#f8f5ec">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="#f8f5ec">
<meta name="author" content="空歌白石" /><meta name="description" content="空歌白石的个人博客" /><meta name="keywords" content="Hugo, Java, 技术" />
<meta name="generator" content="Hugo 0.99.1 with theme even" />
<link rel="canonical" href="https://liubr1491.github.io/" />
<link href="https://liubr1491.github.io/index.xml" rel="alternate" type="application/rss+xml" title="空歌白石的个人博客 - 基于Hugo构建" />
<link href="https://liubr1491.github.io/index.xml" rel="feed" type="application/rss+xml" title="空歌白石的个人博客 - 基于Hugo构建" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/manifest.json">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<link href="/sass/main.min.f92fd13721ddf72129410fd8250e73152cc6f2438082b6c0208dc24ee7c13fc4.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/[email protected]/dist/jquery.fancybox.min.css" integrity="sha256-7TyXnr2YU040zfSP+rEcz29ggW4j56/ujTPwjMzyqFY=" crossorigin="anonymous">
<meta property="og:title" content="空歌白石的个人博客 - 基于Hugo构建" />
<meta property="og:description" content="空歌白石的个人博客" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://liubr1491.github.io/" />
<meta itemprop="name" content="空歌白石的个人博客 - 基于Hugo构建">
<meta itemprop="description" content="空歌白石的个人博客"><meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="空歌白石的个人博客 - 基于Hugo构建"/>
<meta name="twitter:description" content="空歌白石的个人博客"/>
<!--[if lte IE 9]>
<script src="https://cdnjs.cloudflare.com/ajax/libs/classlist/1.1.20170427/classList.min.js"></script>
<![endif]-->
<!--[if lt IE 9]>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/html5shiv.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dest/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div id="mobile-navbar" class="mobile-navbar">
<div class="mobile-header-logo">
<a href="/" class="logo">空歌白石</a>
</div>
<div class="mobile-navbar-icon">
<span></span>
<span></span>
<span></span>
</div>
</div>
<nav id="mobile-menu" class="mobile-menu slideout-menu">
<ul class="mobile-menu-list">
<a href="/">
<li class="mobile-menu-item">首页</li>
</a><a href="/post/">
<li class="mobile-menu-item">归档</li>
</a><a href="/tags/">
<li class="mobile-menu-item">标签</li>
</a><a href="/categories/">
<li class="mobile-menu-item">分类</li>
</a><a href="/about/">
<li class="mobile-menu-item">关于</li>
</a>
</ul>
</nav>
<div class="container" id="mobile-panel">
<header id="header" class="header">
<div class="logo-wrapper">
<a href="/" class="logo">空歌白石</a>
</div>
<nav class="site-navbar">
<ul id="menu" class="menu">
<li class="menu-item">
<a class="menu-item-link" href="/">首页</a>
</li><li class="menu-item">
<a class="menu-item-link" href="/post/">归档</a>
</li><li class="menu-item">
<a class="menu-item-link" href="/tags/">标签</a>
</li><li class="menu-item">
<a class="menu-item-link" href="/categories/">分类</a>
</li><li class="menu-item">
<a class="menu-item-link" href="/about/">关于</a>
</li>
</ul>
</nav>
</header>
<main id="main" class="main">
<div class="content-wrapper">
<div id="content" class="content">
<section id="posts" class="posts">
<article class="post">
<header class="post-header">
<h1 class="post-title"><a class="post-link" href="/post/java%E6%80%A7%E8%83%BD%E7%9B%91%E6%8E%A7%E4%B8%8E%E6%95%85%E9%9A%9C%E5%A4%84%E7%90%86%E5%88%86%E6%9E%90%E5%B7%A5%E5%85%B7heap-memory%E5%92%8Cnative-memory/">Java性能监控与故障处理分析工具(Heap memory和Native memory)</a></h1>
<div class="post-meta">
<span class="post-time"> 2022-08-06 </span>
<div class="post-category">
<a href="/categories/%E6%80%A7%E8%83%BD%E5%88%86%E6%9E%90/"> 性能分析 </a>
</div>
<span class="more-meta"> 约 21195 字 </span>
<span class="more-meta"> 预计阅读 43 分钟 </span>
</div>
</header>
<div class="post-content">
<div class="post-summary">
<h1 id="前言">前言</h1>
<p>在实际的工作中会不断的遇到各种线上问题,包括但不限于内存溢出、服务响应时间上升、线程block等各种情况,这时候就需要性能监控以及故障处理工具来分析和定位问题,google后发现并没有一篇分类清晰、实用的文章能够概括以上对于工具的需求,因此,决定整理一下相关的内容,以供大家学习参考。</p>
<p>本文意在介绍了有哪些常用的分析工具,以方便大家能够快速的分析定位问题。<a href="https://juejin.cn/user/1310273590294168">@空歌白石</a></p>
<p>文章的整个编写思路可以通过如下思维导图所示:</p>
<p><img src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f0b73614005c41fbae2846fc53952e57~tplv-k3u1fbpfcp-watermark.image?" alt="java-profile-xmind.png"></p>
<p>这里有几点需要说明:</p>
<ol>
<li>JDK原生工具特别是<code>jmc</code>以及<code>arthas</code>是在线实时分析工具,<code>mat</code>是离线分析工具,<code>jProfiler</code>也可以支持离线和实时分析。</li>
<li>以上工具都是很大篇幅是针对堆内内存进行分析,对于堆外内存的问题分析能力十分有限甚至可以说没有。</li>
<li>如果如果确定是堆外内存问题,一般堆外内存溢出排查可结合 <code>gperftools</code> 与 <code>btrace</code> 排查。</li>
</ol>
</div>
<div class="read-more">
<a href="/post/java%E6%80%A7%E8%83%BD%E7%9B%91%E6%8E%A7%E4%B8%8E%E6%95%85%E9%9A%9C%E5%A4%84%E7%90%86%E5%88%86%E6%9E%90%E5%B7%A5%E5%85%B7heap-memory%E5%92%8Cnative-memory/" class="read-more-link">阅读更多</a>
</div>
</div>
</article>
<article class="post">
<header class="post-header">
<h1 class="post-title"><a class="post-link" href="/post/netty%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/">Netty源码剖析学习笔记</a></h1>
<div class="post-meta">
<span class="post-time"> 2022-07-31 </span>
<div class="post-category">
<a href="/categories/netty/"> Netty </a>
</div>
<span class="more-meta"> 约 53548 字 </span>
<span class="more-meta"> 预计阅读 107 分钟 </span>
</div>
</header>
<div class="post-content">
<div class="post-summary">
<h1 id="前言">前言</h1>
<p>本文记录了学习Netty源码的过程,正片文章内容包含思路分析和源码。</p>
<p>本文主要包含:</p>
<ol>
<li>Netty简介。</li>
<li>Netty基本组件。</li>
<li>Netty服务端启动。</li>
<li>NioEventLoop。</li>
<li>Netty如何新建连接。</li>
<li>Pipeline。</li>
<li>Netty的内存分配ByteBuf。</li>
<li>Netty的解码逻辑。</li>
<li>Netty的编码逻辑。</li>
<li>Netty性能优化工具类。</li>
<li>Netty中的设计模式。</li>
<li>Netty应用的性能优化。</li>
</ol>
<blockquote>
<p>本文源码为当前最新版本:<a href="https://github.com/netty/netty/tree/4.1">netty 4.1</a></p>
</blockquote>
</div>
<div class="read-more">
<a href="/post/netty%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/" class="read-more-link">阅读更多</a>
</div>
</div>
</article>
<article class="post">
<header class="post-header">
<h1 class="post-title"><a class="post-link" href="/post/01.-what-is-operational-research/">【程序员学习运筹学】(一)什么是运筹学</a></h1>
<div class="post-meta">
<span class="post-time"> 2022-07-08 </span>
<div class="post-category">
<a href="/categories/%E8%BF%90%E7%AD%B9%E5%AD%A6/"> 运筹学 </a>
</div>
<span class="more-meta"> 约 4608 字 </span>
<span class="more-meta"> 预计阅读 10 分钟 </span>
</div>
</header>
<div class="post-content">
<div class="post-summary">
<h1 id="前言">前言</h1>
<p>每一个程序员或开发者都会面临着如何提升系统吞吐量、如何减少系统访问耗时尖刺、如何机器CPU利用率、如何降低系统响应时间、如何减少系统内存占用等问题。通常情况下,我们会分析系统JVM参数、埋点查看耗时模块、优化网络访问方式、优化序列化或压缩方案、数据编码等等方案解决以上的问题。但是如果站在更高的层次上,可以看出我们实际面临的问题一个如何更好的管理我们所拥有的的计算资源,以最大程度的利用计算资源的问题,想到这一层,很容易会联想到本专题的主题<code>运筹学</code>,正所谓<code>夫运筹帷幄之中,决胜千里之外</code>。本文作为【程序员学习运筹学】的开篇,首先会介绍下什么是运筹学,让我们一起走进它。</p>
<h1 id="什么是运筹学">什么是运筹学</h1>
<p>运筹学一次最早起源于20世纪30年代。《中国大百科全书》的释义为:<code>运筹学是“是用数学方法研究经济、民政和国防等部门在内外环境的约束条件下合理分配人力、物力、财力等资源,使世纪系统有效运行的技术科学,它可以用来预测发展趋势,制订行动规划和优选可行方案。”</code></p>
<p>运筹学一词在英国称为<code>operational research</code>,在美国称为<code>operations research</code>,可以直译为“运用研究”或“作业研究”。由于运筹学涉及的主要领域是管理问题,研究的主要手动是建立数据模型,并比较多的运用各种数学工具。从这点触发,有人将运筹学称为“管理数学”。1957年我国从“夫运筹帷幄之中,决胜千里之外”(见《史记高祖本纪》)这句古语中摘取“运筹”二字,将 <code>O.R.</code>正式译为运筹学,包含运用筹划,以策略取胜等意义,比较恰当地反映了这门学科的性质和内涵。</p>
</div>
<div class="read-more">
<a href="/post/01.-what-is-operational-research/" class="read-more-link">阅读更多</a>
</div>
</div>
</article>
<article class="post">
<header class="post-header">
<h1 class="post-title"><a class="post-link" href="/post/%E7%BB%88%E7%AB%AF%E5%B7%A5%E5%85%B7mobaxterm%E8%B6%85%E8%AF%A6%E7%BB%86%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">终端工具MobaXterm超详细使用教程</a></h1>
<div class="post-meta">
<span class="post-time"> 2022-07-05 </span>
<div class="post-category">
<a href="/categories/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/"> 开发工具 </a>
</div>
<span class="more-meta"> 约 3375 字 </span>
<span class="more-meta"> 预计阅读 7 分钟 </span>
</div>
</header>
<div class="post-content">
<div class="post-summary">
<h1 id="前言">前言</h1>
<p>日常的开发中Shell、SSH、FTP等终端是必不可少的软件,一款好用的终端软件可以在繁杂的日常开发中有效的提升排查问题以及日常运维的效率。比较著名的终端工具有很多,类似于:<code>SecureCRT</code>加<code>SecureFX</code>、<code>XShell</code>加<code>XFTP</code>、<code>WinSCP</code>加<code>FileZilla</code>、<code>PuTTY</code>等等。</p>
<p>本文将介绍的<code>MobaXterm</code>同时支持SSH和SFTP,可视化操作文件,不需要再安装ftp工具。作为本人一直在用的终端工具,希望通过本文能够让大家充分了解<code>MobaXterm</code>。</p>
</div>
<div class="read-more">
<a href="/post/%E7%BB%88%E7%AB%AF%E5%B7%A5%E5%85%B7mobaxterm%E8%B6%85%E8%AF%A6%E7%BB%86%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/" class="read-more-link">阅读更多</a>
</div>
</div>
</article>
</section>
<nav class="pagination">
</nav>
</div>
</div>
</main>
<footer id="footer" class="footer">
<div class="social-links">
<a href="mailto:[email protected]" class="iconfont icon-email" title="email"></a>
<a href="https://github.com/liubr1491" class="iconfont icon-github" title="github"></a>
<a href="https://weibo.com/u/2631831764" class="iconfont icon-weibo" title="weibo"></a>
<a href="https://www.zhihu.com/people/maybe1491" class="iconfont icon-zhihu" title="zhihu"></a>
<a href="https://www.douban.com/people/196351890" class="iconfont icon-douban" title="douban"></a>
<a href="https://space.bilibili.com/473428902" class="iconfont icon-bilibili" title="bilibili"></a>
<a href="https://juejin.cn/user/1310273590294168" class="iconfont icon-link" title="link"></a>
<a href="https://liubr1491.github.io/index.xml" type="application/rss+xml" class="iconfont icon-rss" title="rss"></a>
</div>
<div class="copyright">
<span class="power-by">
由 <a class="hexo-link" href="https://gohugo.io">Hugo</a> 强力驱动
</span>
<span class="division">|</span>
<span class="theme-info">
主题 -
<a class="theme-link" href="https://github.com/olOwOlo/hugo-theme-even">Even</a>
</span>
<span class="copyright-year">
©
2020 -
2022<span class="heart"><i class="iconfont icon-heart"></i></span><span>空歌白石</span>
</span>
</div>
</footer>
<div class="back-to-top" id="back-to-top">
<i class="iconfont icon-up"></i>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/slideout.min.js" integrity="sha256-t+zJ/g8/KXIJMjSVQdnibt4dlaDxc9zXr/9oNPeWqdg=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/@fancyapps/[email protected]/dist/jquery.fancybox.min.js" integrity="sha256-XVLffZaxoWfGUEbdzuLi7pwaUJv1cecsQJQqGLe7axY=" crossorigin="anonymous"></script>
<script type="text/javascript" src="/js/main.min.64437849d125a2d603b3e71d6de5225d641a32d17168a58106e0b61852079683.js"></script>
</body>
</html>