-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathatom.xml
134 lines (74 loc) · 41.1 KB
/
atom.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
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>戎码一生</title>
<subtitle>反正山高水长,还有一生可以嚣张</subtitle>
<link href="/atom.xml" rel="self"/>
<link href="http://houxiaoyi.cn/"/>
<updated>2019-08-27T02:45:07.525Z</updated>
<id>http://houxiaoyi.cn/</id>
<author>
<name>捕风</name>
</author>
<generator uri="http://hexo.io/">Hexo</generator>
<entry>
<title>Java 泛型</title>
<link href="http://houxiaoyi.cn/2019/08/22/Java-%E6%B3%9B%E5%9E%8B/"/>
<id>http://houxiaoyi.cn/2019/08/22/Java-泛型/</id>
<published>2019-08-22T12:58:58.000Z</published>
<updated>2019-08-27T02:45:07.525Z</updated>
<content type="html"><![CDATA[<p>Java 泛型简单点就是一个占位符,这个型是任意的,所以就是叫做泛型,也就是<code><AnyWord></code> 尖括号里面的字符是任意的,但是在上下文中应该是一致的,它标识统一类型,至于是什么类型,后期使用者自己觉得,所以重复一遍,泛型可以简单理解为占位符。</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">GeneticProgramming</span> </span>{</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">main</span><span class="params">(String[] args)</span> </span>{</span><br><span class="line"></span><br><span class="line">Box<String> box = <span class="keyword">new</span> Box<String>();</span><br><span class="line">box.set(<span class="string">"Hello World!"</span>);</span><br><span class="line"></span><br><span class="line">String a = box.get();</span><br><span class="line">System.out.println(a);</span><br><span class="line"></span><br><span class="line">Cox<Integer> cox = <span class="keyword">new</span> Cox<Integer>();</span><br><span class="line">cox.set(<span class="number">12</span>);</span><br><span class="line"><span class="keyword">int</span> b = cox.get();</span><br><span class="line">System.out.println(b);</span><br><span class="line"></span><br><span class="line">}</span><br><span class="line"></span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="class"><span class="keyword">class</span> <span class="title">Box</span><<span class="title">T</span>> </span>{</span><br><span class="line"><span class="comment">// T stands for "Type"</span></span><br><span class="line"><span class="keyword">private</span> T t;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">set</span><span class="params">(T t)</span> </span>{</span><br><span class="line"><span class="keyword">this</span>.t = t;</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> T <span class="title">get</span><span class="params">()</span> </span>{</span><br><span class="line"><span class="keyword">return</span> t;</span><br><span class="line">}</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="class"><span class="keyword">class</span> <span class="title">Cox</span><<span class="title">AnyValue</span>> </span>{</span><br><span class="line"><span class="comment">// AnyValue stands for "Type"</span></span><br><span class="line"><span class="keyword">private</span> AnyValue t;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">set</span><span class="params">(AnyValue t)</span> </span>{</span><br><span class="line"><span class="keyword">this</span>.t = t;</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> AnyValue <span class="title">get</span><span class="params">()</span> </span>{</span><br><span class="line"><span class="keyword">return</span> t;</span><br><span class="line">}</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>在Java的源代码中比较常见的泛型有<code>HashMap<K,V></code>,其中的K,V。都是泛型的表示,如果有兴趣可以看下源代码。</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">HashMap</span><<span class="title">K</span>,<span class="title">V</span>> <span class="keyword">extends</span> <span class="title">AbstractMap</span><<span class="title">K</span>,<span class="title">V</span>></span></span><br><span class="line"><span class="class"> <span class="keyword">implements</span> <span class="title">Map</span><<span class="title">K</span>,<span class="title">V</span>>, <span class="title">Cloneable</span>, <span class="title">Serializable</span> </span>{</span><br><span class="line"></span><br><span class="line"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">long</span> serialVersionUID = <span class="number">362498820763181265L</span>;</span><br><span class="line"></span><br><span class="line"> <span class="function"><span class="keyword">public</span> V <span class="title">put</span><span class="params">(K key, V value)</span> </span>{</span><br><span class="line"> <span class="keyword">return</span> putVal(hash(key), key, value, <span class="keyword">false</span>, <span class="keyword">true</span>);</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="function"><span class="keyword">public</span> V <span class="title">get</span><span class="params">(Object key)</span> </span>{</span><br><span class="line"> Node<K,V> e;</span><br><span class="line"> <span class="keyword">return</span> (e = getNode(hash(key), key)) == <span class="keyword">null</span> ? <span class="keyword">null</span> : e.value;</span><br><span class="line"> }</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>上面只是部分源代码,可以看出HashMap对泛型的应用。</p>]]></content>
<summary type="html">
<p>Java 泛型简单点就是一个占位符,这个型是任意的,所以就是叫做泛型,也就是<code>&lt;AnyWord&gt;</code> 尖括号里面的字符是任意的,但是在上下文中应该是一致的,它标识统一类型,至于是什么类型,后期使用者自己觉得,所以重复一遍,泛型可以简单理解为占
</summary>
<category term="Java" scheme="http://houxiaoyi.cn/tags/Java/"/>
</entry>
<entry>
<title>Logback框架的配置文件</title>
<link href="http://houxiaoyi.cn/2019/08/19/Logback%E6%A1%86%E6%9E%B6%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6/"/>
<id>http://houxiaoyi.cn/2019/08/19/Logback框架的配置文件/</id>
<published>2019-08-19T14:16:11.000Z</published>
<updated>2019-08-27T02:51:44.352Z</updated>
<content type="html"><![CDATA[<p>SpringBoot中使用的是面向日志框架是slf4j,使用的日志框架应该是logback。因此可以直接在SpringBoot中使用。</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">private</span> <span class="keyword">final</span> <span class="keyword">static</span> org.slf4j.Logger logger = org.slf4j.LogFactory.getLogger(ClassName.class);</span><br></pre></td></tr></table></figure><p>没有配置文件,直接去使用虽然没有太大问题问题,但是如果要详细配置输出文件,以及日志等级,可能就需要详细的设计了。</p><h3 id="logback详细配置"><a href="#logback详细配置" class="headerlink" title="logback详细配置"></a>logback详细配置</h3><p>显示文件行数,点击可以跳转。<br>需要在application.properties中配置</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"># log config</span><br><span class="line">logging.config=classpath:logback.xml</span><br></pre></td></tr></table></figure><p>logback.xml文件内容如下</p><figure class="highlight xml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta"><?xml version="1.0" encoding="UTF-8"?></span></span><br><span class="line"><span class="tag"><<span class="name">configuration</span> <span class="attr">debug</span>=<span class="string">"false"</span> <span class="attr">scan</span>=<span class="string">"true"</span> <span class="attr">scanPeriod</span>=<span class="string">"1 seconds"</span>></span></span><br><span class="line"></span><br><span class="line"> <span class="tag"><<span class="name">contextName</span>></span>logback<span class="tag"></<span class="name">contextName</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">property</span> <span class="attr">name</span>=<span class="string">"log.path"</span> <span class="attr">value</span>=<span class="string">"/tmp/applogs/xxl-job/xxl-job-executor-sample-springboot.log"</span>/></span></span><br><span class="line"></span><br><span class="line"> <span class="tag"><<span class="name">appender</span> <span class="attr">name</span>=<span class="string">"console"</span> <span class="attr">class</span>=<span class="string">"ch.qos.logback.core.ConsoleAppender"</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">encoder</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">pattern</span>></span>%d{HH:mm:ss.SSS} %contextName [%thread] %highlight(%-5level) %yellow(at %class.%method) \(%file:%line\) - %msg%n<span class="tag"></<span class="name">pattern</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">encoder</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">appender</span>></span></span><br><span class="line"></span><br><span class="line"> <span class="tag"><<span class="name">appender</span> <span class="attr">name</span>=<span class="string">"file"</span> <span class="attr">class</span>=<span class="string">"ch.qos.logback.core.rolling.RollingFileAppender"</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">file</span>></span>${log.path}<span class="tag"></<span class="name">file</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">rollingPolicy</span> <span class="attr">class</span>=<span class="string">"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">fileNamePattern</span>></span>${log.path}.%d{yyyy-MM-dd}.zip<span class="tag"></<span class="name">fileNamePattern</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">rollingPolicy</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">encoder</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">pattern</span>></span>%date %level [%thread] %logger{36} [%file : %line] %msg%n</span><br><span class="line"> <span class="tag"></<span class="name">pattern</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">encoder</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">appender</span>></span></span><br><span class="line"></span><br><span class="line"> <span class="tag"><<span class="name">root</span> <span class="attr">level</span>=<span class="string">"info"</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">appender-ref</span> <span class="attr">ref</span>=<span class="string">"console"</span>/></span></span><br><span class="line"> <span class="tag"><<span class="name">appender-ref</span> <span class="attr">ref</span>=<span class="string">"file"</span>/></span></span><br><span class="line"> <span class="tag"></<span class="name">root</span>></span></span><br><span class="line"></span><br><span class="line"><span class="tag"></<span class="name">configuration</span>></span></span><br></pre></td></tr></table></figure><p>效果如下图</p><figure class="image-bubble"> <div class="img-lightbox"> <div class="overlay"></div> <img src="https://upload-images.jianshu.io/upload_images/9710002-333e4bc951ee506f.png" alt="logback.png" title> </div> <div class="image-caption">logback.png</div> </figure><h2 id="eclipse版本的SpringBoot的内置logback配置"><a href="#eclipse版本的SpringBoot的内置logback配置" class="headerlink" title="eclipse版本的SpringBoot的内置logback配置"></a>eclipse版本的SpringBoot的内置logback配置</h2><p>由于eclipse的console并不能输出各种彩色,只能输出蓝色,红色以及黑色。<br>因此基于idea版本去掉了特殊颜色设置。</p><figure class="highlight xml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta"><?xml version="1.0" encoding="UTF-8"?></span></span><br><span class="line"><span class="tag"><<span class="name">configuration</span> <span class="attr">debug</span>=<span class="string">"false"</span> <span class="attr">scan</span>=<span class="string">"true"</span> <span class="attr">scanPeriod</span>=<span class="string">"1 seconds"</span>></span></span><br><span class="line"></span><br><span class="line"> <span class="tag"><<span class="name">contextName</span>></span>logback<span class="tag"></<span class="name">contextName</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">property</span> <span class="attr">name</span>=<span class="string">"log.path"</span> <span class="attr">value</span>=<span class="string">"/tmp/applogs/xxl-job/xxl-job-executor-sample-springboot.log"</span>/></span></span><br><span class="line"></span><br><span class="line"> <span class="tag"><<span class="name">appender</span> <span class="attr">name</span>=<span class="string">"console"</span> <span class="attr">class</span>=<span class="string">"ch.qos.logback.core.ConsoleAppender"</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">encoder</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">pattern</span>></span>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level at %class.%method \(%file:%line\) - %msg%n<span class="tag"></<span class="name">pattern</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">encoder</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">appender</span>></span></span><br><span class="line"></span><br><span class="line"> <span class="tag"><<span class="name">appender</span> <span class="attr">name</span>=<span class="string">"file"</span> <span class="attr">class</span>=<span class="string">"ch.qos.logback.core.rolling.RollingFileAppender"</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">file</span>></span>${log.path}<span class="tag"></<span class="name">file</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">rollingPolicy</span> <span class="attr">class</span>=<span class="string">"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">fileNamePattern</span>></span>${log.path}.%d{yyyy-MM-dd}.zip<span class="tag"></<span class="name">fileNamePattern</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">rollingPolicy</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">encoder</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">pattern</span>></span>%date %level [%thread] %logger{36} [%file : %line] %msg%n</span><br><span class="line"> <span class="tag"></<span class="name">pattern</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">encoder</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">appender</span>></span></span><br><span class="line"></span><br><span class="line"> <span class="tag"><<span class="name">root</span> <span class="attr">level</span>=<span class="string">"debug"</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">appender-ref</span> <span class="attr">ref</span>=<span class="string">"console"</span>/></span></span><br><span class="line"> <span class="tag"><<span class="name">appender-ref</span> <span class="attr">ref</span>=<span class="string">"file"</span>/></span></span><br><span class="line"> <span class="tag"></<span class="name">root</span>></span></span><br><span class="line"></span><br><span class="line"><span class="tag"></<span class="name">configuration</span>></span></span><br></pre></td></tr></table></figure><p>参考:<a href="https://logback.qos.ch/manual/layouts.html" target="_blank" rel="noopener">https://logback.qos.ch/manual/layouts.html</a></p>]]></content>
<summary type="html">
<p>SpringBoot中使用的是面向日志框架是slf4j,使用的日志框架应该是logback。因此可以直接在SpringBoot中使用。</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre
</summary>
<category term="Java" scheme="http://houxiaoyi.cn/tags/Java/"/>
</entry>
<entry>
<title>Hello World</title>
<link href="http://houxiaoyi.cn/2019/08/19/hello-world/"/>
<id>http://houxiaoyi.cn/2019/08/19/hello-world/</id>
<published>2019-08-19T11:34:31.512Z</published>
<updated>2019-08-19T11:34:31.512Z</updated>
<content type="html"><![CDATA[<p>Welcome to <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/" target="_blank" rel="noopener">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a href="https://hexo.io/docs/troubleshooting.html" target="_blank" rel="noopener">troubleshooting</a> or you can ask me on <a href="https://github.com/hexojs/hexo/issues" target="_blank" rel="noopener">GitHub</a>.</p><h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo new <span class="string">"My New Post"</span></span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/writing.html" target="_blank" rel="noopener">Writing</a></p><h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo server</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/server.html" target="_blank" rel="noopener">Server</a></p><h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo generate</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/generating.html" target="_blank" rel="noopener">Generating</a></p><h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo deploy</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/deployment.html" target="_blank" rel="noopener">Deployment</a></p>]]></content>
<summary type="html">
<p>Welcome to <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a>! This is your very first post. Check <a href="https://hexo.
</summary>
</entry>
<entry>
<title>数据结构-插入排序</title>
<link href="http://houxiaoyi.cn/2019/08/19/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84-%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F/"/>
<id>http://houxiaoyi.cn/2019/08/19/数据结构-插入排序/</id>
<published>2019-08-19T11:26:22.000Z</published>
<updated>2019-08-19T11:34:31.512Z</updated>
<content type="html"><![CDATA[<h2 id="C语言实现的插入排序算法"><a href="#C语言实现的插入排序算法" class="headerlink" title="C语言实现的插入排序算法"></a>C语言实现的插入排序算法</h2><p>两种实现方式<br></p><p>代码繁多(逻辑简单)</p><figure class="highlight c"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="meta-keyword">include</span><span class="meta-string"><stdio.h></span></span></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">main</span><span class="params">()</span></span></span><br><span class="line"><span class="function"></span>{</span><br><span class="line"> <span class="keyword">int</span> a[<span class="number">10</span>]={<span class="number">2</span>,<span class="number">4</span>,<span class="number">7</span>,<span class="number">3</span>,<span class="number">1</span>,<span class="number">9</span>,<span class="number">8</span>,<span class="number">6</span>,<span class="number">0</span>,<span class="number">5</span>};</span><br><span class="line"> <span class="keyword">for</span>(<span class="keyword">int</span> i=<span class="number">1</span>;i<<span class="number">10</span>;i++)</span><br><span class="line"> {</span><br><span class="line"> <span class="keyword">int</span> k=i;</span><br><span class="line"> <span class="keyword">for</span>(<span class="keyword">int</span> j=i<span class="number">-1</span>;j>=<span class="number">0</span>;j--)</span><br><span class="line"> {</span><br><span class="line"> <span class="keyword">if</span>(a[i]<a[j])</span><br><span class="line"> {</span><br><span class="line"> k=j;</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> <span class="comment">//k为a[i]应该所在的位置</span></span><br><span class="line"> <span class="comment">//置换位置</span></span><br><span class="line"> <span class="keyword">int</span> temp=a[i];</span><br><span class="line"> <span class="keyword">for</span> (<span class="keyword">int</span> m=i;m>k;m--)</span><br><span class="line"> {</span><br><span class="line"> a[m]=a[m<span class="number">-1</span>];</span><br><span class="line"> }</span><br><span class="line"> a[k]=temp;</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">for</span>(<span class="keyword">int</span> h=<span class="number">0</span>;h<<span class="number">10</span>;h++)</span><br><span class="line"> {</span><br><span class="line"> <span class="built_in">printf</span>(<span class="string">"%d"</span>,a[h]);</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>代码简洁(逻辑复杂)</p><figure class="highlight c"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="meta-keyword">include</span><span class="meta-string"><stdio.h></span></span></span><br><span class="line"><span class="function"><span class="keyword">int</span> <span class="title">main</span><span class="params">()</span></span>{</span><br><span class="line"> <span class="keyword">int</span> a[<span class="number">10</span>] = {<span class="number">2</span>,<span class="number">6</span>,<span class="number">3</span>,<span class="number">1</span>,<span class="number">4</span>,<span class="number">8</span>,<span class="number">5</span>,<span class="number">9</span>,<span class="number">7</span>,<span class="number">0</span>};</span><br><span class="line"> <span class="keyword">for</span>(<span class="keyword">int</span> i = <span class="number">1</span> ; i< <span class="number">10</span> ; i++){</span><br><span class="line"> <span class="keyword">int</span> tem = a[i];</span><br><span class="line"> <span class="keyword">int</span> j = i<span class="number">-1</span>;</span><br><span class="line"> <span class="keyword">while</span> (j >= <span class="number">0</span>&& a[j] > tem)</span><br><span class="line"> {</span><br><span class="line"> a[j+<span class="number">1</span>] = a[j];</span><br><span class="line"> j--;</span><br><span class="line"> }</span><br><span class="line"> a[++j]=tem;</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">for</span> (<span class="keyword">int</span> i = <span class="number">0</span>; i < <span class="number">10</span>; i++)</span><br><span class="line"> {</span><br><span class="line"> <span class="built_in">printf</span>(<span class="string">"%d"</span>,a[i]);</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>上面两种代码。代码简洁一般逻辑复杂,代码繁多的一般逻辑简单。逻辑简单一般符合机器思维,逻辑复杂一般符合人脑符合。</p><p>Java实现插入排序</p><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">InsertSort</span> </span>{</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">main</span><span class="params">(String[] args)</span> </span>{</span><br><span class="line"><span class="keyword">int</span>[] a = {<span class="number">2</span>,<span class="number">6</span>,<span class="number">3</span>,<span class="number">1</span>,<span class="number">4</span>,<span class="number">8</span>,<span class="number">5</span>,<span class="number">9</span>,<span class="number">7</span>,<span class="number">0</span>};</span><br><span class="line"><span class="keyword">for</span>(<span class="keyword">int</span> i=<span class="number">1</span>;i<<span class="number">10</span>;i++) {</span><br><span class="line"><span class="keyword">int</span> tmp = a[i];</span><br><span class="line"><span class="keyword">int</span> j=i-<span class="number">1</span>;</span><br><span class="line"><span class="keyword">while</span>(j>=<span class="number">0</span>&&a[j]>tmp) {</span><br><span class="line">a[j+<span class="number">1</span>]=a[j];</span><br><span class="line">j--;</span><br><span class="line">}</span><br><span class="line">a[++j]=tmp;</span><br><span class="line">}</span><br><span class="line"><span class="keyword">for</span>(<span class="keyword">int</span> b:a) {</span><br><span class="line">System.out.print(b);</span><br><span class="line">}</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>Java编辑的可以使用eclipse或者IDEA调试!方便找出问题所在,相比较于C语言要更加容器找到问题所在。</p>]]></content>
<summary type="html">
<h2 id="C语言实现的插入排序算法"><a href="#C语言实现的插入排序算法" class="headerlink" title="C语言实现的插入排序算法"></a>C语言实现的插入排序算法</h2><p>两种实现方式<br></p>
<p>代码繁多(逻辑简单)</
</summary>
<category term="数据结构" scheme="http://houxiaoyi.cn/tags/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/"/>
</entry>
<entry>
<title>Docker学习</title>
<link href="http://houxiaoyi.cn/2019/08/11/Docker%E5%AD%A6%E4%B9%A0/"/>
<id>http://houxiaoyi.cn/2019/08/11/Docker学习/</id>
<published>2019-08-11T04:45:56.000Z</published>
<updated>2019-08-19T11:34:31.512Z</updated>
<content type="html"><![CDATA[<h2 id="docker基础命令"><a href="#docker基础命令" class="headerlink" title="docker基础命令"></a>docker基础命令</h2><h3 id="重启docker"><a href="#重启docker" class="headerlink" title="重启docker"></a>重启docker</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo service docker restart</span><br></pre></td></tr></table></figure><h3 id="常用命令"><a href="#常用命令" class="headerlink" title="常用命令"></a>常用命令</h3><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line"># 开始一个新的容器</span><br><span class="line">$ JOB=$(sudo docker run -d ubuntu /bin/sh -c "while true; do echo Hello world; sleep 1; done")</span><br><span class="line"></span><br><span class="line"># 停止容器</span><br><span class="line">$ docker stop $JOB</span><br><span class="line"></span><br><span class="line"># 开始容器</span><br><span class="line">$ docker start $JOB</span><br><span class="line"></span><br><span class="line"># 重启容器</span><br><span class="line">$ docker restart $JOB</span><br><span class="line"></span><br><span class="line"># 杀死一个工作</span><br><span class="line">$ docker kill $JOB</span><br><span class="line"></span><br><span class="line"># 删除一个容器</span><br><span class="line">$ docker stop $JOB # Container must be stopped to remove it</span><br><span class="line">$ docker rm $JOB</span><br><span class="line"></span><br><span class="line"># 查看所有容器</span><br><span class="line">$ docker ps -a #所有实例化的容器</span><br></pre></td></tr></table></figure><h3 id="容器内部操作"><a href="#容器内部操作" class="headerlink" title="容器内部操作"></a>容器内部操作</h3><p>进入容器内部</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker exec -it ContainerId /bin/bash</span><br></pre></td></tr></table></figure><h2 id="docker运行应用"><a href="#docker运行应用" class="headerlink" title="docker运行应用"></a>docker运行应用</h2><h3 id="docker跑一个Tomcat"><a href="#docker跑一个Tomcat" class="headerlink" title="docker跑一个Tomcat"></a>docker跑一个Tomcat</h3><h4 id="第一步:拉取一个Tomcat镜像"><a href="#第一步:拉取一个Tomcat镜像" class="headerlink" title="第一步:拉取一个Tomcat镜像"></a>第一步:拉取一个Tomcat镜像</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker pull tomcat</span><br></pre></td></tr></table></figure><h4 id="第二步:运行Tomcat"><a href="#第二步:运行Tomcat" class="headerlink" title="第二步:运行Tomcat"></a>第二步:运行Tomcat</h4><p>实例化一个Tomcat容器</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat</span><br></pre></td></tr></table></figure><p>实例化第二个Tomcat容器</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">docker run --name tomcat2 -p 9080:8080 -v /home/eric/Project/Docker/tomcat2/webapps/test:/usr/local/tomcat/webapps/test -d tomcat</span><br></pre></td></tr></table></figure><p>命令说明:</p><ul><li>-p 8080:8080:将容器的8080端口映射到主机的8080端口</li><li>-v $PWD/test:/usr/local/tomcat/webapps/test:将主机中当前目录下的test挂载到容器的/test<br>查看容器启动情况</li></ul>]]></content>
<summary type="html">
<h2 id="docker基础命令"><a href="#docker基础命令" class="headerlink" title="docker基础命令"></a>docker基础命令</h2><h3 id="重启docker"><a href="#重启docker" cla
</summary>
<category term="Docker" scheme="http://houxiaoyi.cn/tags/Docker/"/>
</entry>
</feed>