-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrss2.xml
427 lines (353 loc) · 61.1 KB
/
rss2.xml
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
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>seventeams</title>
<link>http://blog.seventeams.cn/</link>
<atom:link href="/rss2.xml" rel="self" type="application/rss+xml"/>
<description>个人博客,记录自己</description>
<pubDate>Tue, 05 Sep 2017 12:45:42 GMT</pubDate>
<generator>http://hexo.io/</generator>
<item>
<title>Java编程思想之java多线程基础</title>
<link>http://blog.seventeams.cn/2017/09/05/Java%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3%E4%B9%8Bjava%E5%A4%9A%E7%BA%BF%E7%A8%8B%E5%9F%BA%E7%A1%80/</link>
<guid>http://blog.seventeams.cn/2017/09/05/Java%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3%E4%B9%8Bjava%E5%A4%9A%E7%BA%BF%E7%A8%8B%E5%9F%BA%E7%A1%80/</guid>
<pubDate>Tue, 05 Sep 2017 12:31:33 GMT</pubDate>
<description>
<blockquote>
<p>并发“具有可论证的确定性,但是实际上具有不可确定性”</p>
</blockquote>
<h2 id="实现与创建线程"><a href="#实现与创建线程" class="headerlink" title="实现与创建线程"></a>实现与创建线程</h2><h3 id="实现"><a href="#实现" class="headerlink" title="实现"></a>实现</h3><h4 id="1-实现Runnable接口"><a href="#1-实现Runnable接口" class="headerlink" title="1. 实现Runnable接口"></a>1. 实现Runnable接口</h4><figure class="highlight java"><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><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div><div class="line">23</div><div class="line">24</div><div class="line">25</div><div class="line">26</div><div class="line">27</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">LiftOff</span> <span class="keyword">implements</span> <span class="title">Runnable</span> </span>&#123;</div><div class="line"> <span class="keyword">protected</span> <span class="keyword">int</span> countDown = <span class="number">10</span>;</div><div class="line"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">int</span> taskCount = <span class="number">0</span>;</div><div class="line"> <span class="keyword">private</span> <span class="keyword">final</span> <span class="keyword">int</span> id = taskCount++;</div><div class="line"></div><div class="line"> <span class="function"><span class="keyword">public</span> <span class="title">LiftOff</span><span class="params">()</span> </span>&#123;</div><div class="line"> &#125;</div><div class="line"></div><div class="line"> <span class="function"><span class="keyword">public</span> <span class="title">LiftOff</span><span class="params">(<span class="keyword">int</span> countDown)</span> </span>&#123;</div><div class="line"> <span class="keyword">this</span>.countDown = countDown;</div><div class="line"> &#125;</div><div class="line"></div><div class="line"> <span class="function"><span class="keyword">public</span> String <span class="title">status</span><span class="params">()</span> </span>&#123;</div><div class="line"> <span class="keyword">return</span> <span class="string">"#"</span> + id + <span class="string">"("</span> + (countDown &gt; <span class="number">0</span> ? countDown : <span class="string">"LiftOff!"</span>) + <span class="string">"),"</span>;</div><div class="line"></div><div class="line"> &#125;</div><div class="line"></div><div class="line"> <span class="meta">@Override</span></div><div class="line"> <span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">run</span><span class="params">()</span> </span>&#123;</div><div class="line"><span class="comment">// System.out.println(Thread.currentThread().getName());</span></div><div class="line"> <span class="keyword">while</span> (countDown-- &gt;<span class="number">0</span>)&#123;</div><div class="line"> System.out.print(status());</div><div class="line"> Thread.yield();</div><div class="line"> &#125;</div><div class="line"> System.out.println();</div><div class="line"> &#125;</div><div class="line">&#125;</div></pre></td></tr></table></figure>
</description>
<comments>http://blog.seventeams.cn/2017/09/05/Java%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3%E4%B9%8Bjava%E5%A4%9A%E7%BA%BF%E7%A8%8B%E5%9F%BA%E7%A1%80/#disqus_thread</comments>
</item>
<item>
<title>合并排序 Java实现</title>
<link>http://blog.seventeams.cn/2017/08/13/MergeSort-in-algs4/</link>
<guid>http://blog.seventeams.cn/2017/08/13/MergeSort-in-algs4/</guid>
<pubDate>Sun, 13 Aug 2017 14:33:25 GMT</pubDate>
<description>
<h1 id="合并排序-MergeSort"><a href="#合并排序-MergeSort" class="headerlink" title="合并排序 MergeSort"></a>合并排序 MergeSort</h1><h2 id="算法步骤-分治法"><a href="#算法步骤-分治法" class="headerlink" title="算法步骤(分治法)"></a>算法步骤(分治法)</h2><ul>
<li>将数组分成两半</li>
<li>递归排序每一部分</li>
<li>合并两部分<br><img src="/2017/08/13/MergeSort-in-algs4/59918d4fab644147bd001fcd.png" alt="basic plan of merge sort "></li>
</ul>
</description>
<comments>http://blog.seventeams.cn/2017/08/13/MergeSort-in-algs4/#disqus_thread</comments>
</item>
<item>
<title>学习Retrofit 使用和理解</title>
<link>http://blog.seventeams.cn/2017/08/08/retrofit-%E5%AD%A6%E4%B9%A0/</link>
<guid>http://blog.seventeams.cn/2017/08/08/retrofit-%E5%AD%A6%E4%B9%A0/</guid>
<pubDate>Tue, 08 Aug 2017 12:39:28 GMT</pubDate>
<description>
<p>基本用法</p>
<ol>
<li><h2 id="添加依赖"><a href="#添加依赖" class="headerlink" title="添加依赖"></a>添加依赖</h2><figure class="highlight groovy"><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">compile <span class="string">'com.squareup.retrofit2:retrofit:2.3.0'</span></div><div class="line">compile <span class="string">'com.squareup.retrofit2:converter-gson:2.3.0'</span></div></pre></td></tr></table></figure>
<p>在build.gradle添加retrofit2的最新版本就行了</p>
</li>
<li><h2 id="构建retrofit"><a href="#构建retrofit" class="headerlink" title="构建retrofit"></a>构建retrofit</h2><p>构建retrofit实例,使用retrofit来处理HTTP请求</p>
<figure class="highlight java"><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></pre></td><td class="code"><pre><div class="line">Retrofit retrofit = <span class="keyword">new</span> Retrofit.Builder()</div><div class="line"> .baseUrl(<span class="string">"https://api.github.com/"</span>)</div><div class="line"> .addConverterFactory(GsonConverterFactory.create())</div><div class="line"> .build();</div></pre></td></tr></table></figure>
</li>
<li><h2 id="构建请求接口"><a href="#构建请求接口" class="headerlink" title="构建请求接口"></a>构建请求接口</h2><p>定义Http请求接口:请求链接,参数,返回接口等(要提前定义好数据类bean,即json格式解析的数)</p>
<figure class="highlight java"><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></pre></td><td class="code"><pre><div class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">interface</span> <span class="title">GithubService</span> </span>&#123;</div><div class="line"> <span class="meta">@GET</span>(<span class="string">"users/&#123;user&#125;/repos"</span>)</div><div class="line"> Call&lt;List&lt;GithubRepo&gt;&gt; listRepos(<span class="meta">@Path</span>(<span class="string">"user"</span>) String user);</div><div class="line">&#125;</div></pre></td></tr></table></figure>
<p>使用retrofit创建http请求服务</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">GithubService githubService = retrofit.create(GithubService.class);</div></pre></td></tr></table></figure>
</li>
<li><h2 id="执行请求-使用默认CallAdapter"><a href="#执行请求-使用默认CallAdapter" class="headerlink" title="执行请求(使用默认CallAdapter,)"></a>执行请求(使用默认CallAdapter,)</h2><p>执行http请求</p>
<h4 id="异步"><a href="#异步" class="headerlink" title="异步"></a>异步</h4><figure class="highlight java"><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><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div></pre></td><td class="code"><pre><div class="line">Call&lt;List&lt;GithubRepo&gt;&gt; call = githubService.listRepos(<span class="string">"zsyzzx"</span>);</div><div class="line">call.enqueue(<span class="keyword">new</span> Callback&lt;List&lt;GithubRepo&gt;&gt;() &#123;</div><div class="line"> <span class="meta">@Override</span></div><div class="line"> <span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">onResponse</span><span class="params">(Call&lt;List&lt;GithubRepo&gt;&gt; call, Response&lt;List&lt;GithubRepo&gt;&gt; response)</span> </span>&#123;</div><div class="line"> <span class="comment">//请求成功,respond.body()是数据,在此加上自己需要的操作</span></div><div class="line"> List&lt;GithubRepo&gt; repos = response.body();</div><div class="line"> Log.e(<span class="string">"success"</span>,repos.toString());</div><div class="line"> listview.setAdapter(<span class="keyword">new</span> GithubRepoAdapter(MainActivity.<span class="keyword">this</span>,repos));</div><div class="line"> &#125;</div><div class="line"> <span class="meta">@Override</span></div><div class="line"> <span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">onFailure</span><span class="params">(Call&lt;List&lt;GithubRepo&gt;&gt; call, Throwable t)</span> </span>&#123;</div><div class="line"> <span class="comment">//网络请求失败,失败处理</span></div><div class="line"> Toast.makeText(MainActivity.<span class="keyword">this</span>, <span class="string">"Error: "</span>+t.toString() , Toast.LENGTH_SHORT).show();</div><div class="line"> &#125;</div><div class="line">&#125;);</div></pre></td></tr></table></figure>
<h4 id="同步"><a href="#同步" class="headerlink" title="同步"></a>同步</h4><p>在Android主线程运行时,要新开一个线程,否则会报错</p>
<figure class="highlight java"><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">Call&lt;List&lt;GithubRepo&gt;&gt; call = githubService.listRepos(<span class="string">"zsyzzx"</span>);</div><div class="line">Response&lt;List&lt;GithubRepo&gt;&gt; lists = call.execute();</div></pre></td></tr></table></figure>
</li>
<li><h2 id="处理返回体"><a href="#处理返回体" class="headerlink" title="处理返回体"></a>处理返回体</h2><p>不论是同步请求,还是异步请求,其原生的返回数据体是<code>Response&lt;T&gt;</code> 如果要操作网络请求返回结果的话, 就是操作<code>Response&lt;T&gt;</code>,可以使用debug功能看Response里的参数,每个参数的意义,可以使用chrome的控制台来了解</p>
<p><img src="/2017/08/08/retrofit-学习/1_retrofit.png" alt="1_retrofit"></p></li></ol>
</description>
<comments>http://blog.seventeams.cn/2017/08/08/retrofit-%E5%AD%A6%E4%B9%A0/#disqus_thread</comments>
</item>
<item>
<title>学习Dagger2 第一天</title>
<link>http://blog.seventeams.cn/2017/08/02/%E5%AD%A6%E4%B9%A0dagger2-%E7%AC%AC%E4%B8%80%E5%A4%A9/</link>
<guid>http://blog.seventeams.cn/2017/08/02/%E5%AD%A6%E4%B9%A0dagger2-%E7%AC%AC%E4%B8%80%E5%A4%A9/</guid>
<pubDate>Wed, 02 Aug 2017 13:29:01 GMT</pubDate>
<description>
<h1 id="Dagger2-学习"><a href="#Dagger2-学习" class="headerlink" title="Dagger2 学习"></a>Dagger2 学习</h1><h2 id="使用方法-Demo代码"><a href="#使用方法-Demo代码" class="headerlink" title="使用方法(Demo代码)"></a>使用方法(Demo代码)</h2><figure class="highlight java"><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><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div><div class="line">23</div><div class="line">24</div><div class="line">25</div><div class="line">26</div><div class="line">27</div><div class="line">28</div><div class="line">29</div><div class="line">30</div><div class="line">31</div><div class="line">32</div><div class="line">33</div><div class="line">34</div><div class="line">35</div><div class="line">36</div><div class="line">37</div><div class="line">38</div><div class="line">39</div><div class="line">40</div><div class="line">41</div><div class="line">42</div><div class="line">43</div><div class="line">44</div><div class="line">45</div><div class="line">46</div><div class="line">47</div><div class="line">48</div><div class="line">49</div><div class="line">50</div><div class="line">51</div><div class="line">52</div><div class="line">53</div><div class="line">54</div><div class="line">55</div><div class="line">56</div><div class="line">57</div></pre></td><td class="code"><pre><div class="line"><span class="comment">//Component</span></div><div class="line"><span class="comment">/*</span></div><div class="line">* 中间人,注入器</div><div class="line">* 处理依赖提供(目标类依赖实力)和依赖需求者(目标类)</div><div class="line">* 可以是抽象类或者是个接口</div><div class="line">*/</div><div class="line"><span class="meta">@Component</span>(modules = CarMoudle.class)</div><div class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">interface</span> <span class="title">CarComponent</span> </span>&#123;</div><div class="line"> <span class="function"><span class="keyword">void</span> <span class="title">inject</span><span class="params">(Car car)</span></span>;</div><div class="line"></div><div class="line">&#125;</div><div class="line"></div><div class="line"><span class="comment">// Module</span></div><div class="line"><span class="comment">/*</span></div><div class="line">* 依赖提供者,</div><div class="line">* 管理依赖,</div><div class="line">* 如果以后构造函数或依赖变化,就只需改动这里就行</div><div class="line">* 类似工厂方法,创建依赖类实例</div><div class="line">* 可以使用其他第三方库作为依赖提供</div><div class="line">* */</div><div class="line"><span class="meta">@Module</span></div><div class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">CarMoudle</span> </span>&#123;</div><div class="line"> <span class="meta">@Provides</span></div><div class="line"> <span class="function"><span class="keyword">public</span> Engine <span class="title">provideEngine</span><span class="params">()</span></span>&#123;</div><div class="line"> <span class="keyword">return</span> <span class="keyword">new</span> Engine();</div><div class="line"> &#125;</div><div class="line"> <span class="meta">@Provides</span></div><div class="line"> <span class="function"><span class="keyword">public</span> Seat <span class="title">provideSeat</span><span class="params">()</span></span>&#123;</div><div class="line"> <span class="keyword">return</span> <span class="keyword">new</span> Seat();</div><div class="line"> &#125;</div><div class="line"> <span class="meta">@Provides</span></div><div class="line"> <span class="function"><span class="keyword">public</span> Wheel <span class="title">provideWheel</span><span class="params">()</span></span>&#123;</div><div class="line"> <span class="keyword">return</span> <span class="keyword">new</span> Wheel();</div><div class="line"> &#125;</div><div class="line"></div><div class="line">&#125;</div><div class="line"><span class="comment">// 使用 (@Inject)</span></div><div class="line"><span class="comment">/*</span></div><div class="line"> * 利用Dagger2生成的类来传入依赖对象</div><div class="line"> **/</div><div class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">Car</span> </span>&#123;</div><div class="line"></div><div class="line"> <span class="meta">@Inject</span></div><div class="line"> Engine engine;</div><div class="line"> <span class="meta">@Inject</span></div><div class="line"> Wheel wheel;</div><div class="line"> <span class="meta">@Inject</span></div><div class="line"> Seat seat;</div><div class="line"></div><div class="line"> <span class="function"><span class="keyword">public</span> <span class="title">Car</span><span class="params">()</span> </span>&#123;</div><div class="line"> DaggerCarComponent</div><div class="line"> .builder()</div><div class="line"> .carMoudle(<span class="keyword">new</span> CarMoudle()) <span class="comment">//初始化carmoudle</span></div><div class="line"> .build()</div><div class="line"> .inject(<span class="keyword">this</span>);</div><div class="line"> Log.d(Config.TAG, <span class="string">"new Car() Dagger"</span>);</div><div class="line"> &#125;</div></pre></td></tr></table></figure>
</description>
<comments>http://blog.seventeams.cn/2017/08/02/%E5%AD%A6%E4%B9%A0dagger2-%E7%AC%AC%E4%B8%80%E5%A4%A9/#disqus_thread</comments>
</item>
<item>
<title>QuickSort学习之快排算法的若干实现方法</title>
<link>http://blog.seventeams.cn/2017/08/01/QuickSort-in-algs4/</link>
<guid>http://blog.seventeams.cn/2017/08/01/QuickSort-in-algs4/</guid>
<pubDate>Tue, 01 Aug 2017 13:18:09 GMT</pubDate>
<description>
<h1 id="快速排序"><a href="#快速排序" class="headerlink" title="快速排序"></a>快速排序</h1><h2 id="介绍:分治排序算法,以一个特定元素为分界,划分成两个子数组,两个子数组有序时整个数组就有序"><a href="#介绍:分治排序算法,以一个特定元素为分界,划分成两个子数组,两个子数组有序时整个数组就有序" class="headerlink" title="介绍:分治排序算法,以一个特定元素为分界,划分成两个子数组,两个子数组有序时整个数组就有序"></a>介绍:分治排序算法,以一个特定元素为分界,划分成两个子数组,两个子数组有序时整个数组就有序</h2><p><img src="/2017/08/01/QuickSort-in-algs4/59531b5bab64412994000806.png" alt="quicksort"></p>
<h2 id="普通写法-递归调用"><a href="#普通写法-递归调用" class="headerlink" title="普通写法(递归调用)"></a>普通写法(递归调用)</h2><p>快排分为两部分:</p>
<ul>
<li>分片(划分)<br>找到一个值,根据这个值将数组分为两个子数组<br>最初默认使用数组最左边元素为分界值</li>
<li>排序<br>逐渐是子数组排序,从而整个数组是有序的</li>
</ul>
<figure class="highlight java"><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><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div><div class="line">23</div><div class="line">24</div><div class="line">25</div><div class="line">26</div><div class="line">27</div><div class="line">28</div></pre></td><td class="code"><pre><div class="line"><span class="comment">// 分片, 分为两片&lt;v 与&gt;v </span></div><div class="line"><span class="function"><span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">int</span> <span class="title">partition</span><span class="params">(Comparable[] a, <span class="keyword">int</span> lo, <span class="keyword">int</span> hi)</span> </span>&#123;</div><div class="line"> <span class="keyword">int</span> i = lo, j = hi + <span class="number">1</span>;</div><div class="line"> Comparable v = a[lo];</div><div class="line"> <span class="keyword">while</span> (<span class="keyword">true</span>) &#123;</div><div class="line"> <span class="keyword">while</span> (less(a[++i], v)) <span class="keyword">if</span> (i == hi) <span class="keyword">break</span>;</div><div class="line"> <span class="keyword">while</span> (less(v,a[--j])) <span class="keyword">if</span>(j == lo) <span class="keyword">break</span>;</div><div class="line"> <span class="keyword">if</span> (i&gt;=j) <span class="keyword">break</span>;</div><div class="line"> exchange(a,i,j);</div><div class="line"> &#125;</div><div class="line"> exchange(a,j,lo); </div><div class="line"> <span class="keyword">return</span> j;</div><div class="line"> &#125;</div><div class="line"></div><div class="line"></div><div class="line"><span class="comment">// 排序</span></div><div class="line"><span class="function"><span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">sort</span><span class="params">(Comparable[] a ,<span class="keyword">int</span> lo, <span class="keyword">int</span> hi)</span></span>&#123;</div><div class="line"> <span class="keyword">if</span> (hi &lt;= lo) <span class="keyword">return</span>;</div><div class="line"> <span class="keyword">int</span> j = partition(a,lo,hi);</div><div class="line"> sort(a,lo,j-<span class="number">1</span>);</div><div class="line"> sort(a,j+<span class="number">1</span>,hi);</div><div class="line"> &#125;</div><div class="line"> </div><div class="line"><span class="comment">// 对外使用接口</span></div><div class="line"> <span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">sort</span><span class="params">(Comparable[] a)</span></span>&#123;</div><div class="line"> StdRandom.shuffle(a); <span class="comment">// 使数组乱序,快排更高效</span></div><div class="line"> sort(a,<span class="number">0</span>,a.length-<span class="number">1</span>);</div><div class="line"> &#125;</div></pre></td></tr></table></figure>
</description>
<comments>http://blog.seventeams.cn/2017/08/01/QuickSort-in-algs4/#disqus_thread</comments>
</item>
<item>
<title>Algs4中基础排序的java代码实现</title>
<link>http://blog.seventeams.cn/2017/06/07/notes-of-elementary-sorts-in-algs4/</link>
<guid>http://blog.seventeams.cn/2017/06/07/notes-of-elementary-sorts-in-algs4/</guid>
<pubDate>Wed, 07 Jun 2017 10:11:43 GMT</pubDate>
<description>
<h1 id="冒泡排序"><a href="#冒泡排序" class="headerlink" title="冒泡排序"></a>冒泡排序</h1><h2 id="特性:"><a href="#特性:" class="headerlink" title="特性:"></a>特性:</h2><ul>
<li>每两个元素进行比较,大的逐渐往一边移动</li>
<li>最小(最大)的元素总是第一个被排好序,并集中在数组的末端(或者开始)<h2 id="基本写法"><a href="#基本写法" class="headerlink" title="基本写法:"></a>基本写法:</h2><figure class="highlight java"><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><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div></pre></td><td class="code"><pre><div class="line"><span class="comment">// 需要自己实现比较和交换函数</span></div><div class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">bubblesort</span><span class="params">(Comparable[]a)</span></span>&#123;</div><div class="line"><span class="keyword">int</span> n = a.length;</div><div class="line"><span class="keyword">for</span>(<span class="keyword">int</span> i=<span class="number">0</span>;i&lt;n-<span class="number">1</span>;i++)&#123;<span class="comment">//记录已经排序的元素的数量</span></div><div class="line"> <span class="keyword">for</span>(<span class="keyword">int</span> j=<span class="number">0</span>;j&lt;n-i-<span class="number">1</span>;j++)&#123;<span class="comment">//开始排序,除去了已经排序了的</span></div><div class="line"> <span class="keyword">if</span>(a[j]&lt;a[j+<span class="number">1</span>])&#123; <span class="comment">//降序排列</span></div><div class="line"> swap(a,j,j+<span class="number">1</span>);</div><div class="line"> &#125;</div><div class="line"> &#125;</div><div class="line"> &#125;</div><div class="line">&#125;</div></pre></td></tr></table></figure>
</li>
</ul>
<figure class="highlight java"><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><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div></pre></td><td class="code"><pre><div class="line"><span class="comment">//比较函数参考</span></div><div class="line"><span class="function"><span class="keyword">static</span> <span class="keyword">boolean</span> <span class="title">less</span><span class="params">(Comparable v, Comparable w)</span> </span>&#123;</div><div class="line"> <span class="keyword">return</span> v.compareTo(w) &lt; <span class="number">0</span>;</div><div class="line"> &#125;</div><div class="line"><span class="comment">//交换函数</span></div><div class="line"><span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">exchange</span><span class="params">(Object[] a, <span class="keyword">int</span> i, <span class="keyword">int</span> j)</span> </span>&#123;</div><div class="line"> Object swap = a[i];</div><div class="line"> a[i] = a[j];</div><div class="line"> a[j] = swap;</div><div class="line"> &#125;</div></pre></td></tr></table></figure>
<p>上面的写法是最开始能够想到的,但如果把排序过程打印出来的话,也可以用这个算法派有序的输入,就会发现重复排序的情况,就是说这个程序会一直执行下去,不管输入是否已经有序<br><img src="/2017/06/07/notes-of-elementary-sorts-in-algs4/592e7984ab6441510f0011b6.png" alt="bubble sort"></p>
</description>
<comments>http://blog.seventeams.cn/2017/06/07/notes-of-elementary-sorts-in-algs4/#disqus_thread</comments>
</item>
<item>
<title>参与京东共读的一些感受</title>
<link>http://blog.seventeams.cn/2017/05/07/Something-About-Reading-Together-in-Jd/</link>
<guid>http://blog.seventeams.cn/2017/05/07/Something-About-Reading-Together-in-Jd/</guid>
<pubDate>Sun, 07 May 2017 08:02:13 GMT</pubDate>
<description>
<h1 id="1-活动介绍"><a href="#1-活动介绍" class="headerlink" title="1. 活动介绍"></a>1. 活动介绍</h1><p>京东阅读在微信平台发起的读书活动,微信服务号每天有两篇书的精华内容(早晚各一篇),参与人员必须早晚各签一次到,主要在周内参与,一周一本书,其目的主要是培养读书习惯以及为京东阅读引流</p>
<ul>
<li>参与模式: 赏金模式和普通模式<ul>
<li>普通模式: 邀请三名用户一起参加活动即报名成功</li>
<li>赏金模式: 参与人员叫30元押金,如能坚持一整期,则剩余坚持人员平分所有金额</li>
</ul>
</li>
<li>时间周期<br>一个月为一期,每个月分四周,一周一本书,周一到周五每天2篇书的内容,周六日休息</li>
<li>奖励<ul>
<li>赏金模式:金钱及读书</li>
<li>普通模式:读书</li>
</ul>
</li>
<li>书的选择<br>偏人文,社科类书,而且有大部分成功学书,我的经验是2本热门书(经典书)+2本冷门书(划水的)</li>
<li>关注<strong>京东阅读</strong>即可获取到相关信息,目前已进行到第四期</li></ul>
</description>
<comments>http://blog.seventeams.cn/2017/05/07/Something-About-Reading-Together-in-Jd/#disqus_thread</comments>
</item>
<item>
<title>四月十三日腾讯产品群面暨南京小游</title>
<link>http://blog.seventeams.cn/2017/04/13/gossip-at-Nanjing/</link>
<guid>http://blog.seventeams.cn/2017/04/13/gossip-at-Nanjing/</guid>
<pubDate>Thu, 13 Apr 2017 10:31:55 GMT</pubDate>
<description>
<h1 id="1-腾讯产品群面"><a href="#1-腾讯产品群面" class="headerlink" title="1. 腾讯产品群面"></a>1. 腾讯产品群面</h1><ul>
<li>流水账:4.12收到面试短信,当天下午21点左右高铁到南京,22点左右到旅馆并洗漱完毕,匆匆忙忙修改简历并且大概看了下面试经验和面试题,顺便复习了一下以前看过的书籍和知识,12点左右睡觉。第二天6:30起床,再次看自己之前整理的东西,8点左右退了房,走路去找打印店,顺便吃了个早餐。然后9点到面试现场,并认识了同组的人,聊了一下。10点面试准时开始。</li>
<li>面试过程:签到接待人员是漂亮的姐姐,面试的人是帅哥/手动无耻脸。自我介绍后开始,面试题是一个视频内容相关,最后的讨论结果出来后,我还是云里雾里的,总感觉没有得到一个结果,但对于个人来说还是没有坚持住自己的观点,或者说表达方式不当,除此之外我对题目的理解程度也不深,曾经看过但没有仔细想过这些事情。面试时,有点激进了,随意发表不适合的观点。<blockquote>
<p>面试经验不足,也不知道写什么,面试结束后和研二的学长学姐聊了几句,也学了很多。差距有点大。。。/手动羞愧脸。<br>面试的事情过去了,说说南京经历</p></blockquote></li></ul>
</description>
<comments>http://blog.seventeams.cn/2017/04/13/gossip-at-Nanjing/#disqus_thread</comments>
</item>
<item>
<title>Reading Notes of Are Your Lights On?</title>
<link>http://blog.seventeams.cn/2017/03/31/reading-notes-of-Are-Your-Lights-On/</link>
<guid>http://blog.seventeams.cn/2017/03/31/reading-notes-of-Are-Your-Lights-On/</guid>
<pubDate>Fri, 31 Mar 2017 10:43:55 GMT</pubDate>
<description>
<h1 id="读书感悟"><a href="#读书感悟" class="headerlink" title="读书感悟"></a>读书感悟</h1><h2 id="书的架构及内容"><a href="#书的架构及内容" class="headerlink" title="书的架构及内容"></a>书的架构及内容</h2><ol>
<li>一本小读本:我大概花了2-3天看完。如果集中看的话,3h就可以看完了</li>
<li>书的每个部分采用几个貌似不太相关小故事来说明其观点,有时候会不容易理解。如果为了快速阅读,可以先看下书中的主要观点。遇到看不懂的地方时候,再通过故事来加深理解,辅助自己了解作者的观点。</li>
<li>书有6章节,大概结构:</li>
</ol>
<ul>
<li>问题是什么(找到问题)$=&gt;$谁的问题(谁能解决问题,与谁相关)$=&gt;$解决问题(问题源头,是否真的需要解决问题)。</li>
<li>其中6章节中有3章节说明:“问题是什么”。书中一直强调:<strong>找到问题比解决问题难</strong></li></ul>
</description>
<comments>http://blog.seventeams.cn/2017/03/31/reading-notes-of-Are-Your-Lights-On/#disqus_thread</comments>
</item>
<item>
<title>Flyingstudio之胡言乱语</title>
<link>http://blog.seventeams.cn/2017/03/26/flyingstudio%E4%B9%8B%E8%83%A1%E8%A8%80%E4%B9%B1%E8%AF%AD/</link>
<guid>http://blog.seventeams.cn/2017/03/26/flyingstudio%E4%B9%8B%E8%83%A1%E8%A8%80%E4%B9%B1%E8%AF%AD/</guid>
<pubDate>Sun, 26 Mar 2017 03:01:10 GMT</pubDate>
<description>
<p>seven 写于2017.3.26<br>2016年翔工作室负责人<br>任期的最后一天</p>
<hr>
<h1 id="为什么会选择站长"><a href="#为什么会选择站长" class="headerlink" title="为什么会选择站长"></a>为什么会选择站长</h1><ul>
<li>一个尝试:以前没有做过相关的工作,想挑战下自己。</li>
<li>想以站长的身份来提高影响力来做些事情<blockquote>
<p>最后我想明白,<strong>如果真要做什么事情,不需要任何身份的辅助,主要看你的执行力</strong>。身份应该是你的描述,而不是束缚或限制</p>
</blockquote>
</li>
</ul>
</description>
<comments>http://blog.seventeams.cn/2017/03/26/flyingstudio%E4%B9%8B%E8%83%A1%E8%A8%80%E4%B9%B1%E8%AF%AD/#disqus_thread</comments>
</item>
<item>
<title>2016,2017</title>
<link>http://blog.seventeams.cn/2017/01/03/2017/</link>
<guid>http://blog.seventeams.cn/2017/01/03/2017/</guid>
<pubDate>Tue, 03 Jan 2017 08:13:17 GMT</pubDate>
<description>
<h1 id="2016年总结及2017年展望"><a href="#2016年总结及2017年展望" class="headerlink" title="2016年总结及2017年展望"></a>2016年总结及2017年展望</h1><blockquote>
<p>写份总结反思一年的自己,顺便思考</p>
</blockquote>
<hr>
<table>
<thead>
<tr>
<th>文档建立者</th>
<th>建立时间</th>
<th>最新修改时间</th>
<th>版本号</th>
<th>感觉</th>
</tr>
</thead>
<tbody>
<tr>
<td>Seven</td>
<td>2016.12.21</td>
<td>2016.12.21 13:10</td>
<td>V1.0</td>
<td>Doing</td>
</tr>
<tr>
<td>————</td>
<td>————</td>
<td>2016.12.22 11:05</td>
<td>V1.1</td>
<td>写的是什么</td>
</tr>
<tr>
<td>————</td>
<td>————</td>
<td>2016.12.23 18:33</td>
<td>V1.2</td>
<td>不知道写什么了</td>
</tr>
<tr>
<td>————</td>
<td>————</td>
<td>2016.12.24 9:00</td>
<td>V1.3</td>
<td>接近停滞,</td>
</tr>
<tr>
<td>————</td>
<td>————</td>
<td>2017.1.3 16:20</td>
<td>V2.0</td>
<td>再读感悟</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="个人总结"><a href="#个人总结" class="headerlink" title="个人总结"></a>个人总结</h2><blockquote>
<p>回顾一下自己过去一年做了什么,</p>
</blockquote>
<h3 id="时间轴"><a href="#时间轴" class="headerlink" title="时间轴"></a>时间轴</h3><blockquote>
<p>部分时间已经混乱,但是大致的时间还是没有变的</p>
</blockquote>
</description>
<comments>http://blog.seventeams.cn/2017/01/03/2017/#disqus_thread</comments>
</item>
<item>
<title>Linux下部署开源论坛Nodebb</title>
<link>http://blog.seventeams.cn/2017/01/01/Linux%E4%B8%8B%E9%83%A8%E7%BD%B2%E5%BC%80%E6%BA%90%E8%AE%BA%E5%9D%9BNodebb/</link>
<guid>http://blog.seventeams.cn/2017/01/01/Linux%E4%B8%8B%E9%83%A8%E7%BD%B2%E5%BC%80%E6%BA%90%E8%AE%BA%E5%9D%9BNodebb/</guid>
<pubDate>Sun, 01 Jan 2017 13:57:13 GMT</pubDate>
<description>
<h1 id="工作室内部论坛FlyingForum"><a href="#工作室内部论坛FlyingForum" class="headerlink" title="工作室内部论坛FlyingForum"></a><a href="http://forum.flyingstudio.online/">工作室内部论坛FlyingForum</a></h1><hr>
<h1 id="为什么使用nodebb"><a href="#为什么使用nodebb" class="headerlink" title="为什么使用nodebb"></a>为什么使用nodebb</h1><ol>
<li>工作室需要一个论坛,交流平台作为QQ群的补充,以及需要一个收集反馈的地方等。</li>
<li>之前想使用原来的discuz,通过模板开发之后再重新推广。但开发失败</li>
<li>暑假接触到开源软件的概念,并在自己的服务器上部署了一两个开源服务:Ghost,nodebb等。</li>
<li>nodebb好看以及响应式设计,移动友好性等</li>
</ol>
</description>
<comments>http://blog.seventeams.cn/2017/01/01/Linux%E4%B8%8B%E9%83%A8%E7%BD%B2%E5%BC%80%E6%BA%90%E8%AE%BA%E5%9D%9BNodebb/#disqus_thread</comments>
</item>
<item>
<title>点石成金读书笔记</title>
<link>http://blog.seventeams.cn/2016/12/20/%E7%82%B9%E7%9F%B3%E6%88%90%E9%87%91%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</link>
<guid>http://blog.seventeams.cn/2016/12/20/%E7%82%B9%E7%9F%B3%E6%88%90%E9%87%91%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</guid>
<pubDate>Tue, 20 Dec 2016 12:29:31 GMT</pubDate>
<description>
<blockquote>
<p>背景:</p>
<ol>
<li>工作室买了第三版《点石成金》<a href="https://m.douban.com/book/subject/26313852/">点石成金3e 豆瓣链接</a></li>
<li>花了一周时间看了《点石成金》第二版和第三版,回顾一下学到了什么</li>
<li>以前没写过电子档的读书笔记,这是第一次写,所以尝试一下。</li>
</ol>
</blockquote>
<h1 id="书的内容"><a href="#书的内容" class="headerlink" title="书的内容"></a>书的内容</h1><ol>
<li>主要讲了网站的可用性问题: 什么是可用性,如何增强Web的可用性,设计Web时的一些注意事项和方法论<blockquote>
<p>让一个有着能力和经验的人(甚至低于平均水平)能弄明白如何使用它(这说明它是课学习的)去完成某个任务(有效的),而且不会遇到不必要的麻烦(高效的)</p>
</blockquote>
</li>
</ol>
</description>
<comments>http://blog.seventeams.cn/2016/12/20/%E7%82%B9%E7%9F%B3%E6%88%90%E9%87%91%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/#disqus_thread</comments>
</item>
<item>
<title>杂记2016-11-24</title>
<link>http://blog.seventeams.cn/2016/11/24/%E6%9D%82%E8%AE%B0/</link>
<guid>http://blog.seventeams.cn/2016/11/24/%E6%9D%82%E8%AE%B0/</guid>
<pubDate>Thu, 24 Nov 2016 14:32:14 GMT</pubDate>
<description>
<h1 id="记录近况"><a href="#记录近况" class="headerlink" title="记录近况"></a>记录近况</h1><ul>
<li>断更了,原本准备一天一篇博客<ul>
<li>这几天忙着考试</li>
<li>没有写博客的习惯</li>
<l
</description>
<comments>http://blog.seventeams.cn/2016/11/24/%E6%9D%82%E8%AE%B0/#disqus_thread</comments>
</item>
<item>
<title>编译笔记</title>
<link>http://blog.seventeams.cn/2016/11/21/%E7%BC%96%E8%AF%91%E7%AC%94%E8%AE%B0/</link>
<guid>http://blog.seventeams.cn/2016/11/21/%E7%BC%96%E8%AF%91%E7%AC%94%E8%AE%B0/</guid>
<pubDate>Mon, 21 Nov 2016 15:20:02 GMT</pubDate>
<description>
<h1 id="编译课笔记,个人总结"><a href="#编译课笔记,个人总结" class="headerlink" title="编译课笔记,个人总结"></a>编译课笔记,个人总结</h1><blockquote>
<p>明天哟啊考试了,今天做个总结笔记</p>
</bl
</description>
<comments>http://blog.seventeams.cn/2016/11/21/%E7%BC%96%E8%AF%91%E7%AC%94%E8%AE%B0/#disqus_thread</comments>
</item>
<item>
<title>复习编译</title>
<link>http://blog.seventeams.cn/2016/11/20/%E5%A4%8D%E4%B9%A0%E7%BC%96%E8%AF%91/</link>
<guid>http://blog.seventeams.cn/2016/11/20/%E5%A4%8D%E4%B9%A0%E7%BC%96%E8%AF%91/</guid>
<pubDate>Sun, 20 Nov 2016 12:55:53 GMT</pubDate>
<description>
<h1 id="开始复习编译了"><a href="#开始复习编译了" class="headerlink" title="开始复习编译了"></a>开始复习编译了</h1><p><del>记流水账了</del></p>
<blockquote>
<p>早上8点醒,玩手机到10点,学了不到1h,中午吃完饭后,学了30m,下午14点醒,玩手机到15点,听大神讲课,随意刷ppt1h左右,认真学了1h,吃完晚饭后,再认真学了1h,接着从20点到现在一直在码字,而且期间还花了时间来闲逛。</p>
</blockquote>
</description>
<comments>http://blog.seventeams.cn/2016/11/20/%E5%A4%8D%E4%B9%A0%E7%BC%96%E8%AF%91/#disqus_thread</comments>
</item>
<item>
<title>First Blog</title>
<link>http://blog.seventeams.cn/2016/11/19/Blog/</link>
<guid>http://blog.seventeams.cn/2016/11/19/Blog/</guid>
<pubDate>Sat, 19 Nov 2016 14:37:21 GMT</pubDate>
<description>
<h1 id="2016-11第一篇博客"><a href="#2016-11第一篇博客" class="headerlink" title="2016-11第一篇博客"></a>2016-11第一篇博客</h1><p>从暑假开始部署博客,从当初<a href="http://www.seventeams.cn/">ghost</a>到现在的<a href="http://blog.seventeams.cn/">Hexo</a>都是玩的性质比较多,但是并没有真正去静下心来去写一篇博客,而且写的内容都是无营养的,没有促进自己的进步,也没有发现自己</p>
<p>从今年6月份开始一直到现在,我都没有<strong>静下心来</strong>去学习,去钻研某个东西,很多都是浅尝而止,其实我十分羡慕、渴望匠心。</p>
</description>
<comments>http://blog.seventeams.cn/2016/11/19/Blog/#disqus_thread</comments>
</item>
<item>
<title>暑假期间</title>
<link>http://blog.seventeams.cn/2016/09/01/%E6%9A%91%E5%81%87%E6%9C%9F%E9%97%B4/</link>
<guid>http://blog.seventeams.cn/2016/09/01/%E6%9A%91%E5%81%87%E6%9C%9F%E9%97%B4/</guid>
<pubDate>Thu, 01 Sep 2016 13:15:33 GMT</pubDate>
<description>
<blockquote>
<p>暑假期间流水账,有价值的东西不多</p>
</blockquote>
<h1 id="7-28-7-29-配置Hadoop"><a href="#7-28-7-29-配置Hadoop" class="headerlink" title="7.28-7.29 配置Hadoop"></a>7.28-7.29 配置Hadoop</h1><h2 id="7-28配置Hadoop"><a href="#7-28配置Hadoop" class="headerlink" title="7.28配置Hadoop"></a>7.28配置Hadoop</h2><p>我先在windows下配置Hadoop,然而cygwin不会玩<br>然后转战VM中ubuntu来配置Hadoop,还没弄好,明天继续弄一下<br>配置Hadoop是为了弄Mahout。任重而道远!!</p>
</description>
<comments>http://blog.seventeams.cn/2016/09/01/%E6%9A%91%E5%81%87%E6%9C%9F%E9%97%B4/#disqus_thread</comments>
</item>
</channel>
</rss>