-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
373 lines (204 loc) · 11.4 KB
/
index.html
File metadata and controls
373 lines (204 loc) · 11.4 KB
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
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Bryce's Note</title>
<meta name="author" content="Bryce">
<meta name="description" content="The best or nothing.">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta property="og:site_name" content="Bryce's Note"/>
<meta property="og:image" content="undefined"/>
<link href="/favicon.png" rel="icon">
<link rel="alternate" href="/atom.xml" title="Bryce's Note" type="application/atom+xml">
<link rel="stylesheet" href="/css/style.css" media="screen" type="text/css">
<!--[if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<script src="/js/jquery.min.js"></script>
</head>
<body>
<header id="header" class="inner"><div class="alignleft">
<h1><a href="/">Bryce's Note</a></h1>
<h2 style="line-height:1.6em"><a href="/">主动 思考 总结</a></h2>
</div>
<nav id="main-nav" class="alignright">
<ul>
</ul>
<div class="clearfix"></div>
</nav>
<div class="clearfix"></div>
</header>
<div id="wrapper">
<article class="post">
<div class="post-content">
<header>
<time datetime="2018-08-29T13:56:15.000Z"><a href="/2018/08/29/java-class-loader/">2018-08-29</a></time>
<h1 class="title"><a href="/2018/08/29/java-class-loader/">Java类加载器</a></h1>
</header>
<div class="entry">
<p>类加载器首先调用其父的类加载方法,若未找到类定义,再调用自身的类加载方法,若还未找到则报ClassNotFoundException。可以自定义类加载器,从非classpath位置(如网络、其他目录等)加载字节码来定义类,并借助反射机制来使用此类。</p>
<p>类加载器的加载顺序决定了其三原则:委托、可见性、唯一性</p>
<p><img src="/images/java_class_loader.jpg" alt="Java类加载器"></p>
</div>
<footer>
<div class="alignleft">
<a href="/2018/08/29/java-class-loader/#more" class="more-link">Read More</a>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<time datetime="2017-11-10T03:16:00.000Z"><a href="/2017/11/10/spring-session/">2017-11-10</a></time>
<h1 class="title"><a href="/2017/11/10/spring-session/">Spring Session</a></h1>
</header>
<div class="entry">
<figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line"><span class="meta">@EnableSpringHttpSession</span></div></pre></td></tr></table></figure>
</div>
<footer>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<time datetime="2017-10-20T06:16:00.000Z"><a href="/2017/10/20/java-servlet/">2017-10-20</a></time>
<h1 class="title"><a href="/2017/10/20/java-servlet/">Java Servlet</a></h1>
</header>
<div class="entry">
<p>Servlet提供了一种基于组件的跨平台的搭建Web应用的方法,而且没有CGI程序的性能限制。</p>
</div>
<footer>
<div class="alignleft">
<a href="/2017/10/20/java-servlet/#more" class="more-link">Read More</a>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<time datetime="2017-10-18T06:21:00.000Z"><a href="/2017/10/18/ddd/">2017-10-18</a></time>
<h1 class="title"><a href="/2017/10/18/ddd/">领域驱动设计</a></h1>
</header>
<div class="entry">
<p>DDD与重构技术都有助于改善代码的概念完整性,但是它们有不同的定位。重构是在代码实现层面对抗腐烂变质,而DDD是在代码架构设计层面对抗腐烂变质,两者是互补关系。</p>
<h2 id="何为领域驱动设计"><a href="#何为领域驱动设计" class="headerlink" title="何为领域驱动设计"></a>何为领域驱动设计</h2><p>软件开发通常被用于将真实世界中已经存在的流程自动化,或者为真实的业务问题提供解决方案。需要自动化的业务流程或者真实世界的问题,就是软件的领域。软件起源于其领域,并且与其领域密切相关。</p>
</div>
<footer>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<time datetime="2017-10-13T02:20:00.000Z"><a href="/2017/10/13/maven-tutorials/">2017-10-13</a></time>
<h1 class="title"><a href="/2017/10/13/maven-tutorials/">Maven配置与使用</a></h1>
</header>
<div class="entry">
<p>Maven是一款软件项目管理和构建工具,它基于项目对象模型(POM),能够以集中信息(pom.xml)来管理项目的构建、报告和文档。本文简要介绍Maven的常用配置和使用方法。</p>
</div>
<footer>
<div class="alignleft">
<a href="/2017/10/13/maven-tutorials/#more" class="more-link">Read More</a>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<time datetime="2017-07-11T13:49:34.000Z"><a href="/2017/07/11/phpdbg-debug-laravel/">2017-07-11</a></time>
<h1 class="title"><a href="/2017/07/11/phpdbg-debug-laravel/">使用phpdbg调试laravel5.4</a></h1>
</header>
<div class="entry">
<p>正如用gdb调试c/c++应用一样,我们可以用phpdbg来调试php应用。</p>
<h2 id="自动生成初始化脚本"><a href="#自动生成初始化脚本" class="headerlink" title="自动生成初始化脚本"></a>自动生成初始化脚本</h2><p>web应用通常运行在fpm-fcgi环境下,而phpdbg作为一个独立的sapi执行,不能直接获取到web应用独有的全局变量(比如$_COOKIE),此时需要fpm-fcgi在请求到达时将这些全局变量传递给phpdbg,这就涉及到进程间通信。官方给出两种方案:一种是手动写一个全局变量初始化脚步,通过.phpdbginit引入,这种方式每次请求都要去手动写一下初始化脚步,比较麻烦;另一种方式是,在phpdbg执行wait命令时,建立一个服务端,同时在fpm-fcgi环境下,通过一个请求初始化阶段的hook,将全局变量通过unix domain socket传递给phpdbg,目前这种方式不成熟,官方文档没有正式给出说明。</p>
</div>
<footer>
<div class="alignleft">
<a href="/2017/07/11/phpdbg-debug-laravel/#more" class="more-link">Read More</a>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<time datetime="2017-07-07T11:39:30.000Z"><a href="/2017/07/07/compile-php7-with-phpdbg/">2017-07-07</a></time>
<h1 class="title"><a href="/2017/07/07/compile-php7-with-phpdbg/">Debian 8编译安装php-7.1.7(支持phpdbg)</a></h1>
</header>
<div class="entry">
<h4 id="Debian-8下编译安装php-7-1-7,支持phpdbg、phpdbg-webhelper"><a href="#Debian-8下编译安装php-7-1-7,支持phpdbg、phpdbg-webhelper" class="headerlink" title="Debian 8下编译安装php-7.1.7,支持phpdbg、phpdbg-webhelper"></a>Debian 8下编译安装php-7.1.7,支持phpdbg、phpdbg-webhelper</h4><ul>
<li>安装依赖</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">apt-get install libbz2-dev libcurl4-openssl-dev libjpeg-dev \</div><div class="line"> libpng12-dev libldap2-dev libsasl2-dev libmcrypt-dev freetds-dev</div><div class="line"></div><div class="line">rsync -av /usr/lib/x86_64-linux-gnu/*ldap* /usr/lib/</div><div class="line">rsync -av /usr/lib/x86_64-linux-gnu/*sybdb* /usr/lib/</div></pre></td></tr></table></figure>
</div>
<footer>
<div class="alignleft">
<a href="/2017/07/07/compile-php7-with-phpdbg/#more" class="more-link">Read More</a>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<time datetime="2017-06-30T12:14:00.000Z"><a href="/2017/06/30/git-patch/">2017-06-30</a></time>
<h1 class="title"><a href="/2017/06/30/git-patch/">git打补丁</a></h1>
</header>
<div class="entry">
<h4 id="git补丁用法"><a href="#git补丁用法" class="headerlink" title="git补丁用法"></a>git补丁用法</h4><ul>
<li>生成补丁</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line"><span class="comment"># 生成版本R1与R2之间的补丁,每次提交一个patch文件</span></div><div class="line">git format-patch R1..R2</div></pre></td></tr></table></figure>
</div>
<footer>
<div class="alignleft">
<a href="/2017/06/30/git-patch/#more" class="more-link">Read More</a>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<article class="post">
<div class="post-content">
<header>
<time datetime="2016-09-19T17:56:07.000Z"><a href="/2016/09/20/split-string-by-char/">2016-09-20</a></time>
<h1 class="title"><a href="/2016/09/20/split-string-by-char/">用字符分割字符串</a></h1>
</header>
<div class="entry">
<p>对比一下分别用CPP和PHP实现分割字符串。</p>
<h2 id="CPP实现分割字符串"><a href="#CPP实现分割字符串" class="headerlink" title="CPP实现分割字符串"></a>CPP实现分割字符串</h2><p>思路是将字符串转换成字符流,然后借助<code>std::getline</code>的第三个参数进行分割。完整代码如下:</p>
</div>
<footer>
<div class="alignleft">
<a href="/2016/09/20/split-string-by-char/#more" class="more-link">Read More</a>
</div>
<div class="clearfix"></div>
</footer>
</div>
</article>
<nav id="pagination">
<div class="clearfix"></div>
</nav></div>
<footer id="footer" class="inner"><div>
© 2018 Bryce
</div></footer>
<script src="/js/jquery.imagesloaded.min.js"></script>
<script src="/js/gallery.js"></script>
<link rel="stylesheet" href="/fancybox/jquery.fancybox.css" media="screen" type="text/css">
<script src="/fancybox/jquery.fancybox.pack.js"></script>
<script type="text/javascript">
(function($){
$('.fancybox').fancybox();
})(jQuery);
</script>
</body>
</html>