﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-弑月繁枫</title><link>http://www.blogjava.net/lexilee/</link><description>helloworld</description><language>zh-cn</language><lastBuildDate>Sat, 19 Sep 2026 22:07:06 GMT</lastBuildDate><pubDate>Sat, 19 Sep 2026 22:07:06 GMT</pubDate><ttl>60</ttl><item><title>os</title><link>http://www.blogjava.net/lexilee/articles/376788.html</link><dc:creator>吖鑵_sysu</dc:creator><author>吖鑵_sysu</author><pubDate>Fri, 27 Apr 2012 09:24:00 GMT</pubDate><guid>http://www.blogjava.net/lexilee/articles/376788.html</guid><wfw:comment>http://www.blogjava.net/lexilee/comments/376788.html</wfw:comment><comments>http://www.blogjava.net/lexilee/articles/376788.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lexilee/comments/commentRss/376788.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lexilee/services/trackbacks/376788.html</trackback:ping><description><![CDATA[<p style="line-height: 19.5pt;background: white"><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">pintos</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">程序在</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">simulator</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">上跑，</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">simulator</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">有</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">bochs</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">和</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">qemu</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">两种选择。进入系统后首先面临的问题是无处下手。因为不知道文件的目录，就不能在</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">command</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">里做什么。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br /></span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">解决方法：打开</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">file manager</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">，会显示目录，如</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">/home/osproj/Desktop<o:p></o:p></span></p>
<p style="line-height: 19.5pt;background: white"><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">让我们先来看一下桌面上的东西</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~pintos</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">是一个单纯的文件夹，</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">pintos.tar.gz</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">是一个打包压缩文件，可以通过解压缩变成</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">pintos</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br /></span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">解决方法：在</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">Desktop</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">目录下打开</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">terminal</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">，输入</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">tar zxvf pintos.tar.gz</span><font face="宋体"><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">即可变成一般的文件夹</span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></font></p>
<p style="line-height: 19.5pt;background: white"><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">pintos</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">文件夹里有很多子文件，下面一一介绍：</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br />1.threads </span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">最基本的内核的源文件。在</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">project1</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">中用到。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br />2.<br /></span><font face="宋体"><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">。。。</span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></font></p>
<p style="line-height: 19.5pt;background: white"><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">接下来我们肯定想要了解怎么编译第一个</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">threads</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">的程序，进入</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">threads</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">文件夹，并打开</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">terminal</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">，输入</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">make [SIMULATOR=--bochs | SIMULATOR=--qemu] </span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">即可生成</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">build</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">文件夹，</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br />build</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">文件夹下有几个文件，下面介绍一下：</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br />1.MakeFile </span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">这是</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">pintos/src/MakeFile.build</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">的副本。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br />2.kernel.o </span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">对于整个内核的一个</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">object file </span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">可用</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">gdb</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">编译。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br />3.kernel.bin </span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">内核的内存影像文件。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br />4.loader.bin </span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">内核加载器的影像文件。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br />5.os.dsk </span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">内核的硬盘影像文件。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br />//</span><font face="宋体"><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">其实这些太空了，讲了也没用。下面讲的就比较实在了。</span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></font></p>
<p style="line-height: 19.5pt;background: white"><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">怎样跑</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">pintos</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">程序这个是必须知道的，需要在</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">simulator</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">上跑，进入</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">build/test/threads</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">里有很多程序，你可以随便挑一个来泡泡</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">书上说跑</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">alarm-multiple</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">，那就先拿这个玩玩</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">，在</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">build</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">文件下打开</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">terminal</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">，输入</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">pintos run alarm-multiple</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">，即可跑一个程序，会在</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">terminal</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">和</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">bochs</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">两边都跑一遍，这是书上</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">reproducibility</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">，如果你不想在</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">terminal</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">上出现，则可以重定向</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~C++</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">里也有类似概念，自己查，我不说。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br /></span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">输入</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt"> <span lang="EN-US">pintos run alarm-multiple &gt;file.txt </span></span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">即可定向到</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">file.txt</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">中。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">yeah~~<br /></span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">细点说</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">看下</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">terminal</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">里跑的样子</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">首先是仿真器的版本</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~2008</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">年</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">7</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">月</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">3</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">号</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">三年前</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~~<br /></span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">后面是设置路径，生成一个</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">bochsrc.txt</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">这个文件很重要，他能启动仿真器，并初始化一些某某某</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">自己去看，这种对</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">project</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">没用的不说废话了。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br />pintos</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">一般把输出映射到</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">VGA display</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">和第一个</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">serial port</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">：仿真器。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br />pintos -h</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">可以帮助！！帮助是有用的，在帮助中可以看到书上有些东西是没用的，敢骗我！貌似没有什么</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">-j seed</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">这种东西的，帮助里都没说明。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br /></span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">跑了一个文件是不是不过瘾</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">好！接下来跑整个</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">project</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">：</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">threads<br /></span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">在</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">build</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">文件夹在打开</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">terminal </span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">输入</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">make check </span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">即可跑。最后会说你成功了几个，失败了几个</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">初始是</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">7/27 </span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">能对</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">7</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">个</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">~ </span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">如果你想单独查某个任务，可以在</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">t.output</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">看输出，</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">t.result</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">看</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">success/fail</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><br /></span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">书上又有一个东西骗我。。桑心。我在</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">tests/threads</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">里打开</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">terminal</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">，输入</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">make alarm-multiple.result </span><font face="宋体"><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">尽然不行。哎。</span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></font></p>
<p style="line-height: 19.5pt;background: white"><font face="宋体"><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">好了，</span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></font></p>
<p style="line-height: 19.5pt;background: white"><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">第</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">0</span><font face="宋体"><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">部分我们学到了什么呢？</span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></font></p>
<p style="line-height: 19.5pt;background: white"><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">0.pintos</span><font face="宋体"><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">目录。</span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></font></p>
<p style="line-height: 19.5pt;background: white"><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">1.pintos</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">的</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">run<o:p></o:p></span></p>
<p style="line-height: 19.5pt;background: white"><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">2.simulator</span><font face="宋体"><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">基础。</span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></font></p>
<p style="line-height: 19.5pt;background: white"><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US">3.</span><span style="font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><font face="宋体">压缩解压缩。</font></span><span style="font-family: 'Arial','sans-serif'; font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></p><img src ="http://www.blogjava.net/lexilee/aggbug/376788.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lexilee/" target="_blank">吖鑵_sysu</a> 2012-04-27 17:24 <a href="http://www.blogjava.net/lexilee/articles/376788.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>archlinux安装yaourt (转）</title><link>http://www.blogjava.net/lexilee/articles/372311.html</link><dc:creator>吖鑵_sysu</dc:creator><author>吖鑵_sysu</author><pubDate>Tue, 20 Mar 2012 13:11:00 GMT</pubDate><guid>http://www.blogjava.net/lexilee/articles/372311.html</guid><wfw:comment>http://www.blogjava.net/lexilee/comments/372311.html</wfw:comment><comments>http://www.blogjava.net/lexilee/articles/372311.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lexilee/comments/commentRss/372311.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lexilee/services/trackbacks/372311.html</trackback:ping><description><![CDATA[<div style="color: #494949; font-family: simsun; text-align: left; background-color: #f6f6f6; ">pacman -S base-devel</div><div style="color: #494949; font-family: simsun; text-align: left; background-color: #f6f6f6; "></div><div style="color: #494949; font-family: simsun; text-align: left; background-color: #f6f6f6; ">wget&nbsp;<wbr>http://aur.archlinux.org/packages/package-query/package-query.tar.gz<br />tar&nbsp;<wbr>zxvf&nbsp;<wbr>package-query.tar.gz<br />cd&nbsp;<wbr>package-query<br />makepkg&nbsp;<wbr>-si<br />cd&nbsp;<wbr>..<br />wget&nbsp;<wbr>http://aur.archlinux.org/packages/yaourt/yaourt.tar.gz<br />tar&nbsp;<wbr>zxvf&nbsp;<wbr>yaourt.tar.gz<br />cd&nbsp;<wbr>yaourt<br />makepkg&nbsp;<wbr>-si<br />cd&nbsp;<wbr>..</div><img src ="http://www.blogjava.net/lexilee/aggbug/372311.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lexilee/" target="_blank">吖鑵_sysu</a> 2012-03-20 21:11 <a href="http://www.blogjava.net/lexilee/articles/372311.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql notes</title><link>http://www.blogjava.net/lexilee/articles/371767.html</link><dc:creator>吖鑵_sysu</dc:creator><author>吖鑵_sysu</author><pubDate>Mon, 12 Mar 2012 15:33:00 GMT</pubDate><guid>http://www.blogjava.net/lexilee/articles/371767.html</guid><wfw:comment>http://www.blogjava.net/lexilee/comments/371767.html</wfw:comment><comments>http://www.blogjava.net/lexilee/articles/371767.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lexilee/comments/commentRss/371767.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lexilee/services/trackbacks/371767.html</trackback:ping><description><![CDATA[<h3><strong style="line-height: 1.5; font-weight: bold; "><span data-mce-style="color: #ff0000;" style="color: #ff0000; line-height: 1.5; ">进入服务器</span></strong></h3><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">要想查看由mysql提供的选择项目表，可以用- -help选项来调用</li><li style="line-height: 1.5; ">连接服务器 mysql -h host -u user -p</li><li style="line-height: 1.5; ">断开服务器 成功地连接后，可以在mysql&gt;提示下输入QUIT (或\q)随时退出</li></ul><h3><strong style="line-height: 1.5; font-weight: bold; "><span data-mce-style="color: #ff0000;" style="color: #ff0000; line-height: 1.5; ">输入查询</span></strong></h3><p style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-bottom: 24px; ">要求服务器告诉它的版本号和当前日期SELECT VERSION(), CURRENT_DATE;</p><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">&#183; 一个命令通常由SQL语句组成，随后跟着一个分号。（有一些例外不需要分号。早先提到的QUIT是一个例子。后面我们将看到其它的例子。）</li><li style="line-height: 1.5; ">&#183; 当发出一个命令时，mysql将它发送给服务器并显示执行结果，然后显示另一个mysql&gt;显示它准备好接受其它命令。</li><li style="line-height: 1.5; ">&#183; mysql用表格(行和列)方式显示查询输出。第一行包含列的标签，随后的行是查询结果。通常，列标签是你取自数据库表的列的名字。如果你正在检索一个表达式而非表列的值(如刚才的例子)，mysql用表达式本身标记列。</li><li style="line-height: 1.5; ">&#183; mysql显示返回了多少行，以及查询花了多长时间，它给你提供服务器性能的一个大致概念。因为他们表示时钟时间(不是 CPU 或机器时间)，并且因为他们受到诸如服务器负载和网络延时的影响，因此这些值是不精确的。（为了简洁，在本章其它例子中不再显示&#8220;集合中的行&#8221;。）</li></ul><p style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-bottom: 24px; ">能将mysql用作一个简单的计算器：SELECT SIN(PI()/4), (4+1)*5;</p><p style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-bottom: 24px; ">显示的命令是相当短的单行语句。</p><p style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-bottom: 24px; ">可以在一行上输入多条语句，只需要以一个分号间隔开各语句</p><p style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-bottom: 24px; "><span data-mce-style="color: #ff0000;" style="color: #ff0000; line-height: 1.5; ">提示符 含义</span></p><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">mysql &gt;准备好接受新命令。</li><li style="line-height: 1.5; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-&gt;等待多行命令的下一行。</li><li style="line-height: 1.5; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '&gt;等待下一行，等待以单引号(&#8220;'&#8221;)开始的字符串的结束。</li><li style="line-height: 1.5; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"&gt;等待下一行，等待以双引号(&#8220;"&#8221;)开始的字符串的结束。</li><li style="line-height: 1.5; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;`&gt;等待下一行，等待以反斜点(&#8216;`&#8217;)开始的识别符的结束。</li><li style="line-height: 1.5; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/*&gt;等待下一行，等待以/*开始的注释的结束。</li></ul><p style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-bottom: 24px; "><strong style="color: #000000; line-height: 1.5; font-weight: bold; "><span data-mce-style="color: #ff0000;" style="color: #ff0000; line-height: 1.5; ">创建并使用数据库</span></strong></p><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">使用SHOW语句找出服务器上当前存在什么数据库：</li><li style="line-height: 1.5; ">mysql&gt; SHOW DATABASES;</li><li style="line-height: 1.5; ">如果没有SHOW DATABASES权限，则不能看见所有数据库</li></ul><h3><strong style="line-height: 1.5; font-weight: bold; "><span data-mce-style="color: #ff0000;" style="color: #ff0000; line-height: 1.5; ">创建并选择数据库</span></strong></h3><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">mysql&gt; CREATE DATABASE 数据库名称;</li><li style="line-height: 1.5; ">mysql&gt; USE 数据库名称;</li></ul><h3>数据库只需要创建一次，但是必须在每次启动mysql会话时在使用前先选择它。你可以根据上面的例子执行一个USE语句来实现。还可以在调用mysql时，通过命令行选择数据库，只需要在提供连接参数之后指定数据库名称。</h3><p style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-bottom: 24px; ">shell&gt; mysql -h host -u user -p数据库名称;</p><h3><strong style="line-height: 1.5; font-weight: bold; "><span data-mce-style="color: #ff0000;" style="color: #ff0000; line-height: 1.5; ">创建表</span></strong></h3><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">mysql&gt; SHOW TABLES;</li><li style="line-height: 1.5; ">使用一个CREATE TABLE语句指定你的数据库表的布局：</li><li style="line-height: 1.5; ">mysql&gt; CREATE TABLE 表名 (列名 数据类型,多个);</li><li style="line-height: 1.5; ">DATABASE( )函数：</li><li style="line-height: 1.5; ">mysql&gt; SELECT DATABASE();</li><li style="line-height: 1.5; ">如果你还没选择任何数据库，结果是NULL。</li><li style="line-height: 1.5; ">mysql&gt; SHOW TABLES;找出当前的数据库包含什么表</li><li style="line-height: 1.5; ">mysql&gt; DESCRIBE 表;显示表中每个列的信息：</li><li style="line-height: 1.5; ">创建表后，需要填入内容。通过LOAD DATA和INSERT语句可以完成该任务。</li><li style="line-height: 1.5; ">mysql&gt; LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;</li><li style="line-height: 1.5; ">文本文件&#8220;pet.txt&#8221;装载到pet表中</li><li style="line-height: 1.5; ">请注意如果用Windows中的编辑器（使用\r\n做为行的结束符）创建文件，应使用：</li><li style="line-height: 1.5; ">mysql&gt; LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet</li><li style="line-height: 1.5; ">-&gt; LINES TERMINATED BY '\r\n';</li><li style="line-height: 1.5; ">（在运行OS X的Apple机上，应使用行结束符'\r'。）</li><li style="line-height: 1.5; ">如果想要一次增加一个新记录，可以使用INSERT语句。最简单的形式是，提供每一列的值，其顺序与CREATE TABLE语句中列的顺序相同。假定Diane把一只新仓鼠命名为Puffball，你可以使用下面的INSERT语句添加一条新记录：</li><li style="line-height: 1.5; ">mysql&gt; INSERT INTO pet</li><li style="line-height: 1.5; ">-&gt; VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);</li></ul><h3><strong style="line-height: 1.5; font-weight: bold; "><span data-mce-style="color: #ff0000;" style="color: #ff0000; line-height: 1.5; ">从表检索信息</span></strong></h3><h3>SELECT语句用来从数据表中检索信息。</h3><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">语句的一般格式是：</li><li style="line-height: 1.5; ">SELECT what_to_select</li><li style="line-height: 1.5; ">FROM which_table</li><li style="line-height: 1.5; ">WHERE conditions_to_satisfy;</li></ul><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">SELECT最简单的形式是从一个表中检索所有记录：</li><li style="line-height: 1.5; ">mysql&gt; SELECT * FROM pet;</li></ul><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">为了使输出减到最少，增加关键字DISTINCT检索出每个唯一的输出记录：</li><li style="line-height: 1.5; ">mysql&gt; SELECT DISTINCT owner FROM pet;</li></ul><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">默认排序是升序，最小的值在第一。要想以降序排序，在你正在排序的列名上增加DESC（降序 ）关键字：</li><li style="line-height: 1.5; ">mysql&gt; SELECT name, birth FROM pet ORDER BY birth DESC;</li></ul><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">日期函数，year()，month(),day(),right();</li><li style="line-height: 1.5; ">NULL值操作 不能使用算术比较 操作符例如=、&lt;或!=</li><li style="line-height: 1.5; ">使用IS NULL和IS NOT NULL操作符：</li><li style="line-height: 1.5; ">在MySQL中，0或 NULL意味着假而其它值意味着真。</li><li style="line-height: 1.5; ">布尔运算的默认真值是1。</li></ul><p style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-bottom: 24px; ">MySQL提供标准的SQL模式匹配，以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式模式匹配的格式。</p><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">正则表达式：</li><li style="line-height: 1.5; ">like 'b%' b开头</li><li style="line-height: 1.5; ">like '%y' y结尾</li><li style="line-height: 1.5; ">like '%w%' w在中间</li><li style="line-height: 1.5; ">like '_____' 正好包含5个字符的名字</li></ul><p style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-bottom: 24px; ">扩展正则表达式的一些字符是：</p><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">&#183; &#8216;.&#8217;匹配任何单个的字符。</li><li style="line-height: 1.5; ">&#183; 字符类&#8220;[...]&#8221;匹配在方括号内的任何字符。例如，&#8220;[abc]&#8221;匹配&#8220;a&#8221;、&#8220;b&#8221;或&#8220;c&#8221;。为了命名字符的范围，使用一个&#8220;-&#8221;。&#8220;[a-z]&#8221;匹配任何字母，而&#8220;[0-9]&#8221;匹配任何数字。</li><li style="line-height: 1.5; ">&#183; &#8220; * &#8221;匹配零个或多个在它前面的字符。例如，&#8220;x*&#8221;匹配任何数量的&#8220;x&#8221;字符，&#8220;[0-9]*&#8221;匹配任何数量的数字，而&#8220;.*&#8221;匹配任何数量的任何字符。</li></ul><p style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-bottom: 24px; ">如果REGEXP模式与被测试值的任何地方匹配，模式就匹配(这不同于LIKE模式匹配，只有与整个值匹配，模式才匹配)。</p><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">为了定位一个模式以便它必须匹配被测试值的开始或结尾，在模式开始处使用&#8220;^&#8221;或在模式的结尾用&#8220;$&#8221;。</li><li style="line-height: 1.5; ">如果你想强制使REGEXP比较区分大小写，使用BINARY关键字使其中一个字符串变为二进制字符串。</li><li style="line-height: 1.5; ">为了找出包含正好5个字符的名字，使用&#8220;^&#8221;和&#8220;$&#8221;匹配名字的开始和结尾，和5个&#8220;.&#8221;实例在两者之间：</li><li style="line-height: 1.5; ">mysql&gt; SELECT * FROM pet WHERE name REGEXP '^.....$';</li><li style="line-height: 1.5; ">也可以使用&#8220;{n}&#8221;&#8220;重复n次&#8221;操作符重写前面的查询：</li><li style="line-height: 1.5; ">mysql&gt; SELECT * FROM pet WHERE name REGEXP '^.{5}$';</li></ul><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">COUNT(*)函数计算行数</li><li style="line-height: 1.5; ">COUNT( )和GROUP BY以各种方式分类你的数据。</li></ul><h3><strong style="line-height: 1.5; font-weight: bold; "><span data-mce-style="color: #ff0000;" style="color: #ff0000; line-height: 1.5; ">使用1个以上的表</span></strong></h3><h3>关于该查询要注意的几件事情：</h3><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">FROM子句列出两个表，因为查询需要从两个表提取信息。</li><li style="line-height: 1.5; ">当从多个表组合(联结)信息时，你需要指定一个表中的记录怎样能匹配其它表的记录。这很简单，因为它们都有一个name列。查询使用WHERE子句基于name值来匹配2个表中的记录。</li><li style="line-height: 1.5; ">因为name列出现在两个表中，当引用列时，你一定要指定哪个表。把表名附在列名前即可以实现。</li><li style="line-height: 1.5; ">用table.列名来避免冲突</li></ul><p style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-bottom: 24px; ">最大值max(),最小值min();</p><ul style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-top: 0px; margin-right: 0px; margin-bottom: 24px; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: square; list-style-position: initial; list-style-image: initial; "><li style="line-height: 1.5; ">可以通过AUTO_INCREMENT属性为新的行产生唯一的标识：</li><li style="line-height: 1.5; ">id MEDIUMINT NOT NULL AUTO_INCREMENT,</li><li style="line-height: 1.5; ">要想以AUTO_INCREMENT值开始而不是1，你可以通过CREATE TABLE或ALTER TABLE来设置该值，如下所示:</li><li style="line-height: 1.5; ">mysql&gt; ALTER TABLE tbl AUTO_INCREMENT = 100;</li></ul><p style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 1.5; font-size: 16px; margin-bottom: 24px; ">&nbsp;</p><img src ="http://www.blogjava.net/lexilee/aggbug/371767.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lexilee/" target="_blank">吖鑵_sysu</a> 2012-03-12 23:33 <a href="http://www.blogjava.net/lexilee/articles/371767.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java圖形界面筆記</title><link>http://www.blogjava.net/lexilee/articles/371759.html</link><dc:creator>吖鑵_sysu</dc:creator><author>吖鑵_sysu</author><pubDate>Mon, 12 Mar 2012 14:10:00 GMT</pubDate><guid>http://www.blogjava.net/lexilee/articles/371759.html</guid><wfw:comment>http://www.blogjava.net/lexilee/comments/371759.html</wfw:comment><comments>http://www.blogjava.net/lexilee/articles/371759.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lexilee/comments/commentRss/371759.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lexilee/services/trackbacks/371759.html</trackback:ping><description><![CDATA[<div align="center" style="text-align: left;"><span style="font-size: 10pt;"> 抽象窗口工具箱&nbsp; abstract window toolkit -&gt;AWT</span></div><div style="text-align: left;"></div><div align="center" style="text-align: left;"><strong style="font-size: 10pt; color: red; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 用户界面</strong></div><span style="font-size: 10pt;"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: 10pt;">构件类为最基本组成部分。</span>&nbsp; &nbsp; &nbsp;&nbsp;<div><span style="font-size: 10pt;"> &nbsp; </span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="font-size: 10pt;">构件类&nbsp;&nbsp;<br /></span>&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: 13px; ">Component</span><span style="font-size: 10pt;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><br /><span style="font-size: 10pt; border-image: initial; "><textarea id="textBox1" rows="5" cols="48" wrap="" name="textBox1">getComponentAt(int x, int y)
getFont()
getForeground()
getName()
getSize()
paint(Graphics g)
repaint()
update()
setVisible(boolean b)
setSize(Dimension d)
setName(String name) </textarea></span></div><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 后面的各种派生的构件都可以重载这些方法。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 容器类为构件类的子类，通常有三种类型：</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &#183;Window（窗体），</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &#183;Panel（面板），</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &#183;ScrollPane（滚动菜单）。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 对容器来说，可以实现布局管理。类型有：&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; FlowLayout(流布局)&nbsp; 从上到下，从左到右</span><br /><div><span style="font-size: 10pt;">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; BorderLayout(边界布局)&nbsp; 东南西北中</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; GridLayout(网格布局)&nbsp; 固定网格式</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; CardLayout(卡片布局)&nbsp; 分层显示</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 容器可以多个多种，可以嵌套。</span><br /><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 以下为基本构件：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Button按钮<br />&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 以上的构件都可以加上触发事件处理 Event。</span><br /><span style="font-size: 10pt;"></span><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &#183;事件event，</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &#183;事件源event source，</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &#183;事件处理器event handler</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 对多个事件的选择执行可以利用getSource()的方法。</span><br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <div><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 事件的编程一般为以下步骤：</span><br /><span style="font-size: 10pt;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1）对某个事件先设置事件源***Event，</span><br /><span style="font-size: 10pt;"> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 2）然后定义相应的事件处理类***Listener</span><br /><span style="font-size: 10pt;"> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 3）事件源实例化之后必须进行注册事件的监听器</span><br /><span style="font-size: 10pt;"> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 方法为add***Listener</span></div>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 注册和注销监听器：</span><br /><div><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; public void add&lt;ListenerType&gt;(&lt;ListenerType&gt; listener)</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; public void remove&lt;ListenerType&gt;(&lt;ListenerType&gt; listener)</span><br /><div><table style="top: 23px; left: 2px;" height="503" width="948" border="1" cellpadding="2" cellspacing="2"><tbody><tr><td><div><span style="font-size: 10pt;">ComponentEvent</span></div></td><td><span style="font-size: 10pt;">对象移动缩放显示隐藏等</span></td><td><div><span style="font-size: 10pt;">ComponentListener</span></div></td><td><div><span style="font-size: 10pt;">componentShown(ComponentEvent arg0)</span><br /><span style="font-size: 10pt;">componentResized(ComponentEvent arg0)</span><br /><span style="font-size: 10pt;">componentMoved(ComponentEvent arg0)</span><br /><span style="font-size: 10pt;">componentHidden(ComponentEvent arg0)</span></div></td></tr><tr><td><div><span style="font-size: 10pt;">ContainerEvent</span></div></td><td><span style="font-size: 10pt;">容器中增加删除构件</span><br /></td><td><div><span style="font-size: 10pt;">ContainerListener</span></div></td><td><span style="font-size: 10pt;">componetAdded(ContainerEvent arg0)</span><br /><span style="font-size: 10pt;">componetRemoved(ContainerEvent arg0)</span><br /></td></tr><tr><td><div><span style="font-size: 10pt;">FocusEvent</span></div></td><td><span style="font-size: 10pt;">&nbsp;获失焦点</span></td><td><div><span style="font-size: 10pt;">FocusListener</span></div></td><td><div><span style="font-size: 10pt;">focusLost(FocusEvent arg0)</span><br /><div><span style="font-size: 10pt;">focusGained(FocusEvent arg0)</span></div></div></td></tr><tr><td><div><span style="font-size: 10pt;">WindowEvent</span></div></td><td><span style="font-size: 10pt;">窗口收到窗口级事件</span><br /></td><td><div><span style="font-size: 10pt;">WindowListener</span></div></td><td><div><span style="font-size: 10pt;">windowOpened(WindowEvent arg0)</span><br /><span style="font-size: 10pt;">windowIconified(WindowEvent arg0) <br />windowDeiconified(WindowEvent arg0)</span><br /><span style="font-size: 10pt;">windowDeactivated(WindowEvent arg0) <br />windowClosing(WindowEvent arg0)</span><br /><span style="font-size: 10pt;">windowClosed(WindowEvent arg0) </span><br /><span style="font-size: 10pt;">windowActivated(WindowEvent arg0</span></div></td></tr><tr><td><div><span style="font-size: 10pt;">KeyEvent</span></div></td><td><span style="font-size: 10pt;">&nbsp;键盘输入</span></td><td><div><span style="font-size: 10pt;">KeyListener</span></div></td><td><div><span style="font-size: 10pt;">keyTyped(KeyEvent arg0)</span></div><div><span style="font-size: 10pt;">keyReleased(KeyEvent arg0)</span></div><div><span style="font-size: 10pt;">keyPressed(KeyEvent arg0)</span></div></td></tr><tr><td><div><span style="font-size: 10pt;">MouseEvent</span></div></td><td><span style="font-size: 10pt;">&nbsp;鼠标移动</span></td><td><div><span style="font-size: 10pt;">MouseMotionListener</span></div></td><td><div><span style="font-size: 10pt;">mouseMoved(MouseEvent arg0)</span></div><div><span style="font-size: 10pt;">mouseDragged(MouseEvent arg0)</span></div></td></tr><tr><td><div><span style="font-size: 10pt;">MouseEvent</span></div></td><td><span style="font-size: 10pt;">&nbsp;鼠标单击等</span></td><td><div><span style="font-size: 10pt;">MouseListener</span></div></td><td><div><span style="font-size: 10pt;">mouseReleased(MouseEvent arg0) </span><br /><span style="font-size: 10pt;">mousePressed(MouseEvent arg0) </span><br /><span style="font-size: 10pt;">mouseExited(MouseEvent arg0) </span><br /><span style="font-size: 10pt;">mouseEntered(MouseEvent arg0) </span><br /><span style="font-size: 10pt;">mouseClicked(MouseEvent arg0)</span></div></td></tr></tbody></table></div><div><div><table style="top: 23px; left: 2px;" height="115" width="946" border="2" cellpadding="2" cellspacing="2"><tbody><tr><td> <div><span style="font-size: 10pt;">ActionEvent</span></div></td><td><span style="font-size: 10pt;"> 激活构件</span><br /></td><td><span style="font-size: 10pt;"> ActionListener</span><br /></td><td> <div><span style="font-size: 10pt;">actionPerformed(ActionEvent arg0)</span></div></td></tr><tr><td> <div><span style="font-size: 10pt;">AdjustmentEvent</span></div></td><td> <span style="font-size: 10pt;">移动了滚动条等</span><br /></td><td> <div><span style="font-size: 10pt;">AdjustmentListener</span></div></td><td> <div><span style="font-size: 10pt;">adjustmentValueChanged(AdjustmentEvent arg0)</span></div></td></tr><tr><td> <div><span style="font-size: 10pt;">ItemEvent</span></div></td><td><span style="font-size: 10pt;"> 选择了某些项目</span><br /></td><td> <div><span style="font-size: 10pt;">ItemListener</span></div></td><td> <div><span style="font-size: 10pt;">itemStateChanged(ItemEvent arg0)</span></div></td></tr><tr><td><div><span style="font-size: 10pt;">TextEvent</span></div></td><td><span style="font-size: 10pt;">文本发生改变</span><br /></td><td><div><span style="font-size: 10pt;">TextListener</span></div></td><td><div><span style="font-size: 10pt;">textValueChanged(TextEvent arg0)</span></div></td></tr></tbody></table></div></div></div><br /><fieldset><legend>Title</legend><div>事件适配器：<br /><div>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ComponentAdapter<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;containeraAdapter<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;FocusAdapter</div>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; KeyAdapter<br /><div>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; MouseAdapter<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;MouseMotionAdapter</div>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; WindowAdapter<br />PS：<br />&nbsp;&nbsp;&nbsp; 常用技巧：<br />&nbsp;&nbsp;&nbsp; 可以使用内部类通过继承这些适配器来实现对事件的处理。</div></fieldset></div><img src ="http://www.blogjava.net/lexilee/aggbug/371759.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lexilee/" target="_blank">吖鑵_sysu</a> 2012-03-12 22:10 <a href="http://www.blogjava.net/lexilee/articles/371759.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库MySQL与TPCH</title><link>http://www.blogjava.net/lexilee/articles/371644.html</link><dc:creator>吖鑵_sysu</dc:creator><author>吖鑵_sysu</author><pubDate>Sat, 10 Mar 2012 13:24:00 GMT</pubDate><guid>http://www.blogjava.net/lexilee/articles/371644.html</guid><wfw:comment>http://www.blogjava.net/lexilee/comments/371644.html</wfw:comment><comments>http://www.blogjava.net/lexilee/articles/371644.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lexilee/comments/commentRss/371644.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lexilee/services/trackbacks/371644.html</trackback:ping><description><![CDATA[<div><p><strong>1、安装mySQL</strong></p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 先安装: MySQL Server，</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;再安装: MySQL Client, MySQL Query Browser, MySQL Navigator, MySQL Administrator，反正能装的我都装了，这个过程很简单</p> <p><strong>2、下载TPC-H</strong></p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在的最新版是2.14，一共47MB.</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.tpc.org/tpch/spec/tpch_2_14_0.zip">http://www.tpc.org/tpch/spec/tpch_2_14_0.zip</a></p> <p><strong>3、解压到虚拟机</strong></p> <p><strong>4、生成数据并加载到MySQL</strong></p> <p>1) 打开终端，取得root权限<br />2)创建MySQL用户、数据库、及授权<br />&nbsp; mysql -u root -p<br />&nbsp; mysql&gt; CREATE USER 'tpch'@'%' IDENTIFIED BY 'tpch';<br />&nbsp; mysql&gt; CREATE DATABASE tpch;<br />&nbsp; mysql&gt; GRANT ALL ON tpch.* to 'tpch'@'%';<br />&nbsp; mysql&gt; USE tpch;</p> <p>3)运行tpch目录下的dss.ddl文件,创建tpch数据库中的表<br />&nbsp; mysql&gt; \. tpch/gen/dss.ddl</p> <p>4)然后在tpch文件目录下，把makefile复制并改名成makefile，接着修改makefile文件<br />&nbsp; shell&gt; cp makefile.suite makefile<br />&nbsp; shell&gt; vim makefile<br />&nbsp; makefile中相应项后面填写：<br />&nbsp;  CC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = gcc&nbsp; <br /></p><p># Current values for DATABASE are: INFORMIX, DB2, TDAT  (Teradata)&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQLSERVER, SYBASE&nbsp; #  Current values for MACHINE are:&nbsp; ATT, DOS, HP, IBM, ICL, MVS,&nbsp;&nbsp;  #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SGI, SUN, U2200, VMS, LINUX, WIN32&nbsp;&nbsp; # <br /></p><p>Current values for WORKLOAD are:&nbsp; TPCH&nbsp; <br /></p><p>DATABASE= SQLSERVER</p><p>MACHINE =  LINUX&nbsp; <br /></p><p>WORKLOAD = TPCH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p> <p>5)修改tpch.h文件<br />&nbsp; 修改其中的SQLSERVER段为：<br />&nbsp; #ifdef&nbsp; SQLSERVER<br />&nbsp; #define GEN_QUERY_PLAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "EXPLAIN;"<br />&nbsp; #define START_TRAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "START TRANSACTION;\n"<br />&nbsp; #define END_TRAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "COMMIT;\n"<br />&nbsp; #define SET_OUTPUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ""<br />&nbsp; #define SET_ROWCOUNT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "limit %d;\n"<br />&nbsp; #define SET_DBASE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "use %s;\n"<br />&nbsp; #endif</p> <p>6)执行makefile<br />&nbsp; shell&gt; make</p> <p>7)生成需要用的数据<br />&nbsp; shell&gt; ./dbgen -s 1<br />&nbsp; -s 数据规模因子，1为1G的数据量</p> <p>8)修改tpch目录下的dss.ri文件<br />&nbsp; 1.删除 "CONNECT TO TPCD;"<br />&nbsp; 2.删除所有的 "TPCH."(注意有个点)<br />&nbsp; 3.删除所有的"COMMIT WORK;"(注意分号也要删除)</p> <p>9)登录MySQL，并载入之前生成的数据进MySQL<br />&nbsp; shell&gt; mysql -u tpch -p<br />&nbsp; mysql&gt; use tpch;<br />&nbsp; mysql&gt; LOAD DATA LOCAL INFILE 'customer.tbl' INTO TABLE CUSTOMER FIELDS TERMINATED BY '|';<br />&nbsp; mysql&gt; LOAD DATA LOCAL INFILE 'orders.tbl' INTO TABLE ORDERS FIELDS TERMINATED BY '|';<br />&nbsp; mysql&gt; LOAD DATA LOCAL INFILE 'lineitem.tbl' INTO TABLE LINEITEM FIELDS TERMINATED BY '|';<br />&nbsp; mysql&gt; LOAD DATA LOCAL INFILE 'nation.tbl' INTO TABLE NATION FIELDS TERMINATED BY '|';<br />&nbsp; mysql&gt; LOAD DATA LOCAL INFILE 'partsupp.tbl' INTO TABLE PARTSUPP FIELDS TERMINATED BY '|';<br />&nbsp; mysql&gt; LOAD DATA LOCAL INFILE 'part.tbl' INTO TABLE PART FIELDS TERMINATED BY '|';<br />&nbsp; mysql&gt; LOAD DATA LOCAL INFILE 'region.tbl' INTO TABLE REGION FIELDS TERMINATED BY '|';<br />&nbsp; mysql&gt; LOAD DATA LOCAL INFILE 'supplier.tbl' INTO TABLE SUPPLIER FIELDS TERMINATED BY '|';</p> <p>10)执行tpch目录下的dss.ri<br />&nbsp; mysql&gt; \. dss.ri</p> 11)由于查询中使用的是小写表名，而使用dss.ddl生成的表名是大写的，所以转换表名成小写<br />&nbsp; mysql&gt; alter table NATION rename nation;<br />&nbsp; mysql&gt; alter table SUPPLIER rename supplier;<br />&nbsp; mysql&gt; alter table REGION rename region;<br />&nbsp; mysql&gt; alter table PARTSUPP rename partsupp;<br />&nbsp; mysql&gt; alter table PART rename part;<br />&nbsp; mysql&gt; alter table ORDERS rename orders;<br />&nbsp; mysql&gt; alter table LINEITEM rename lineitem;<br />&nbsp; mysql&gt; alter table CUSTOMER rename customer;</div><img src ="http://www.blogjava.net/lexilee/aggbug/371644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lexilee/" target="_blank">吖鑵_sysu</a> 2012-03-10 21:24 <a href="http://www.blogjava.net/lexilee/articles/371644.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>俄罗斯方块单机版～2（积木类） </title><link>http://www.blogjava.net/lexilee/articles/371642.html</link><dc:creator>吖鑵_sysu</dc:creator><author>吖鑵_sysu</author><pubDate>Sat, 10 Mar 2012 12:49:00 GMT</pubDate><guid>http://www.blogjava.net/lexilee/articles/371642.html</guid><wfw:comment>http://www.blogjava.net/lexilee/comments/371642.html</wfw:comment><comments>http://www.blogjava.net/lexilee/articles/371642.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lexilee/comments/commentRss/371642.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lexilee/services/trackbacks/371642.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;2&nbsp;/**&nbsp;以下为俄罗斯方块的方块积木，因为每一个落下的积木经过操作后就由移动的状态变为静止状态，&nbsp;&nbsp;...&nbsp;&nbsp;<a href='http://www.blogjava.net/lexilee/articles/371642.html'>阅读全文</a><img src ="http://www.blogjava.net/lexilee/aggbug/371642.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lexilee/" target="_blank">吖鑵_sysu</a> 2012-03-10 20:49 <a href="http://www.blogjava.net/lexilee/articles/371642.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>俄罗斯方块单机版～1（方格类）</title><link>http://www.blogjava.net/lexilee/articles/371641.html</link><dc:creator>吖鑵_sysu</dc:creator><author>吖鑵_sysu</author><pubDate>Sat, 10 Mar 2012 12:27:00 GMT</pubDate><guid>http://www.blogjava.net/lexilee/articles/371641.html</guid><wfw:comment>http://www.blogjava.net/lexilee/comments/371641.html</wfw:comment><comments>http://www.blogjava.net/lexilee/articles/371641.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lexilee/comments/commentRss/371641.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lexilee/services/trackbacks/371641.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.awt.Dimension;<br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; "></span><span style="color: #008000; ">/**</span><span style="color: #008000; ">&nbsp;以下为俄罗斯方块的格的组成单位，所以利用了cloneable的接口实现复制</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;ErsBox&nbsp;</span><span style="color: #0000FF; ">implements</span><span style="color: #000000; ">&nbsp;Cloneable{<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">是否着色</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&nbsp;isColor;<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">当前尺寸</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;Dimension&nbsp;size</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Dimension();<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">静态数据为其他类作为参考值</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;BOXES_ROWS</span><span style="color: #000000; ">=</span><span style="color: #000000; ">4</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;BOXES_COLS</span><span style="color: #000000; ">=</span><span style="color: #000000; ">4</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">各种参数函数</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;ErsBox(</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&nbsp;isColor)&nbsp;{<br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.isColor</span><span style="color: #000000; ">=</span><span style="color: #000000; ">isColor;<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&nbsp;isColorBox(){<br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;isColor;<br /></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;setColor(</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&nbsp;isColor){<br /></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.isColor</span><span style="color: #000000; ">=</span><span style="color: #000000; ">isColor;<br /></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Dimension&nbsp;getSize(){<br /></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;size;<br /></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;setSize(Dimension&nbsp;size){<br /></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.size</span><span style="color: #000000; ">=</span><span style="color: #000000; ">size;<br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">因为用了Cloneable接口，所以此方法必须实现</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;Object&nbsp;clone(){<br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;cloned</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">try</span><span style="color: #000000; ">{<br /></span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cloned</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">super</span><span style="color: #000000; ">.clone();<br /></span><span style="color: #008080; ">33</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">34</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">catch</span><span style="color: #000000; ">(Exception&nbsp;ex){<br /></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ex.printStackTrace();<br /></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;cloned;<br /></span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">39</span>&nbsp;<span style="color: #000000; ">}<br /></span><span style="color: #008080; ">40</span>&nbsp;<span style="color: #000000; "></span></div><img src ="http://www.blogjava.net/lexilee/aggbug/371641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lexilee/" target="_blank">吖鑵_sysu</a> 2012-03-10 20:27 <a href="http://www.blogjava.net/lexilee/articles/371641.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>A*算法笔记（转）</title><link>http://www.blogjava.net/lexilee/articles/371636.html</link><dc:creator>吖鑵_sysu</dc:creator><author>吖鑵_sysu</author><pubDate>Sat, 10 Mar 2012 12:12:00 GMT</pubDate><guid>http://www.blogjava.net/lexilee/articles/371636.html</guid><wfw:comment>http://www.blogjava.net/lexilee/comments/371636.html</wfw:comment><comments>http://www.blogjava.net/lexilee/articles/371636.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lexilee/comments/commentRss/371636.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lexilee/services/trackbacks/371636.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp; 1，把起始格添加到开启列表。 &nbsp;&nbsp; 2，重复如下的工作： &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a) 寻找开启列表中F值最低的格子。我们称它为当前格。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b) 把它切换到关闭列表。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c) 对相邻的格中的每一个...&nbsp;&nbsp;<a href='http://www.blogjava.net/lexilee/articles/371636.html'>阅读全文</a><img src ="http://www.blogjava.net/lexilee/aggbug/371636.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lexilee/" target="_blank">吖鑵_sysu</a> 2012-03-10 20:12 <a href="http://www.blogjava.net/lexilee/articles/371636.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse快捷键指南</title><link>http://www.blogjava.net/lexilee/articles/371614.html</link><dc:creator>吖鑵_sysu</dc:creator><author>吖鑵_sysu</author><pubDate>Sat, 10 Mar 2012 02:29:00 GMT</pubDate><guid>http://www.blogjava.net/lexilee/articles/371614.html</guid><wfw:comment>http://www.blogjava.net/lexilee/comments/371614.html</wfw:comment><comments>http://www.blogjava.net/lexilee/articles/371614.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lexilee/comments/commentRss/371614.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lexilee/services/trackbacks/371614.html</trackback:ping><description><![CDATA[<div>  <div align="center">   <div><strong style="font-size: 18pt;">编辑 </strong><span style="font-size: 18pt;">　　</span></div> <table><tbody><tr><td valign="middle" width="100" align="left">作用域</td><td valign="middle" width="100" align="left">功能</td><td valign="middle" width="100" align="left">快捷键</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">查找并替换</td><td valign="middle" width="100" align="left">Ctrl+F</td></tr><tr><td valign="middle" width="100" align="left">文本编辑器</td><td valign="middle" width="100" align="left">查找上一个</td><td valign="middle" width="100" align="left">Ctrl+Shift+K</td></tr><tr><td valign="middle" width="100" align="left">文本编辑器</td><td valign="middle" width="100" align="left">查找下一个</td><td valign="middle" width="100" align="left">Ctrl+K</td></tr><tr><td valign="middle" width="100" align="left">文本编辑器</td><td valign="middle" width="100" align="left">删除当前行</td><td valign="middle" width="100" align="left">Ctrl+D</td></tr><tr><td valign="middle" width="100" align="left">文本编辑器</td><td valign="middle" width="100" align="left">当前行的下一行插入空行</td><td valign="middle" width="100" align="left">Shift+Enter</td></tr><tr><td>文本编辑器</td><td>当前行插入空行</td><td>Ctrl+Shift+Enter</td></tr><tr><td>文本编辑器</td><td>定位到最后编辑的位置</td><td>Ctrl+Q</td></tr><tr><td><br /></td><td><br /></td><td><br /></td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">恢复上一个选择</td><td valign="middle" width="100" align="left">Alt+Shift+&#8595;</td></tr><tr><td><br /></td><td><br /></td><td><br /></td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">快速修正</td><td valign="middle" width="100" align="left">Ctrl+1</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">内容辅助（代码提示）</td><td valign="middle" width="100" align="left">Alt+/</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">全部选中</td><td valign="middle" width="100" align="left">Ctrl+A</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">删除</td><td valign="middle" width="100" align="left">Delete</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">上下文信息</td><td valign="middle" width="100" align="left">Alt+/ <br />Alt+Shift+? <br />Ctrl+Shift+Space</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">显示工具提示描述</td><td valign="middle" width="100" align="left">F2</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">选择封装元素</td><td valign="middle" width="100" align="left">Alt+Shift+&#8593;</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">选择上一个元素</td><td valign="middle" width="100" align="left">Alt+Shift+&#8592;</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">选择下一个元素</td><td valign="middle" width="100" align="left">Alt+Shift+&#8594;</td></tr><tr><td valign="middle" width="100" align="left">文本编辑器</td><td valign="middle" width="100" align="left">增量查找</td><td valign="middle" width="100" align="left">Ctrl+J</td></tr><tr><td valign="middle" width="100" align="left">文本编辑器</td><td valign="middle" width="100" align="left">增量逆向查找</td><td valign="middle" width="100" align="left">Ctrl+Shift+J</td></tr><tr><td><br /></td><td><br /></td><td><br /></td></tr><tr><td valign="middle" width="100" align="left">java编辑器</td><td valign="middle" width="100" align="left">自动生成get set方法 </td><td valign="middle" width="100" align="left">Alt+Shift++s 再按 r</td></tr><tr><td valign="middle" width="100" align="left">java编辑器</td><td valign="middle" width="100" align="left">列出所有实现此接口的类</td><td valign="middle" width="100" align="left">ctrl+T</td></tr></tbody></table></div> <div align="center"><h2>查看</h2>　　<table><tbody><tr><td valign="middle" width="100" align="left">作用域</td><td valign="middle" width="100" align="left">功能</td><td valign="middle" width="100" align="left">快捷键</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">放大</td><td valign="middle" width="100" align="left">Ctrl+=</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">缩小</td><td valign="middle" width="100" align="left">Ctrl+-</td></tr></tbody></table></div> <div align="center"><h2>窗口</h2>　　<table><tbody><tr><td valign="middle" width="100" align="left">作用域</td><td valign="middle" width="100" align="left">功能</td><td valign="middle" width="100" align="left">快捷键</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">激活编辑器</td><td valign="middle" width="100" align="left">F12</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">关闭所有编辑器</td><td valign="middle" width="100" align="left">Ctrl+Shift+W</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">上一个编辑器</td><td valign="middle" width="100" align="left">Ctrl+Shift+F6</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">上一个视图</td><td valign="middle" width="100" align="left">Ctrl+Shift+F7</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">上一个透视图</td><td valign="middle" width="100" align="left">Ctrl+Shift+F8</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">下一个编辑器</td><td valign="middle" width="100" align="left">Ctrl+F6</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">下一个视图</td><td valign="middle" width="100" align="left">Ctrl+F7</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">下一个透视图</td><td valign="middle" width="100" align="left">Ctrl+F8</td></tr><tr><td valign="middle" width="100" align="left">文本编辑器</td><td valign="middle" width="100" align="left">关闭当前窗口 </td><td valign="middle" width="100" align="left">Ctrl+W</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">显示视图菜单</td><td valign="middle" width="100" align="left">Ctrl+F10</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">显示系统菜单</td><td valign="middle" width="100" align="left">Alt+-</td></tr></tbody></table></div> <div align="center"><h2>导航</h2>　　<table><tbody><tr><td valign="middle" width="100" align="left">作用域</td><td valign="middle" width="100" align="left">功能</td><td valign="middle" width="100" align="left">快捷键</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">打开结构</td><td valign="middle" width="100" align="left">Ctrl+F3</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">打开类型</td><td valign="middle" width="100" align="left">Ctrl+Shift+T</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">打开类型层次结构</td><td valign="middle" width="100" align="left">F4</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">打开声明</td><td valign="middle" width="100" align="left">F3</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">打开外部javadoc</td><td valign="middle" width="100" align="left">Shift+F2</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">打开资源</td><td valign="middle" width="100" align="left">Ctrl+Shift+R</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">后退历史记录</td><td valign="middle" width="100" align="left">Alt+&#8592;</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">前进历史记录</td><td valign="middle" width="100" align="left">Alt+&#8594;</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">上一个</td><td valign="middle" width="100" align="left">Ctrl+,</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">下一个</td><td valign="middle" width="100" align="left">Ctrl+.</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">显示大纲</td><td valign="middle" width="100" align="left">Ctrl+O</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">在层次结构中打开类型</td><td valign="middle" width="100" align="left">Ctrl+Shift+H</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">转至匹配的括号</td><td valign="middle" width="100" align="left">Ctrl+Shift+P</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">转至上一个编辑位置</td><td valign="middle" width="100" align="left">Ctrl+Q</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">转至上一个成员</td><td valign="middle" width="100" align="left">Ctrl+Shift+&#8593;</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">转至下一个成员</td><td valign="middle" width="100" align="left">Ctrl+Shift+&#8595;</td></tr><tr><td valign="middle" width="100" align="left">文本编辑器</td><td valign="middle" width="100" align="left">转至行</td><td valign="middle" width="100" align="left">Ctrl+L</td></tr></tbody></table></div> <div align="center"><h2>搜索</h2>　　<table><tbody><tr><td valign="middle" width="100" align="left">作用域</td><td valign="middle" width="100" align="left">功能</td><td valign="middle" width="100" align="left">快捷键</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">出现在文件中</td><td valign="middle" width="100" align="left">Ctrl+Shift+U</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">查找目标文件</td><td valign="middle" width="100" align="left">ctrl+shift+R</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">打开搜索对话框</td><td valign="middle" width="100" align="left">Ctrl+H</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">工作区中的声明</td><td valign="middle" width="100" align="left">Ctrl+G</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">工作区中的引用</td><td valign="middle" width="100" align="left">Ctrl+Shift+G</td></tr><tr><td valign="middle" width="100" align="left">工作区域的类</td><td valign="middle" width="100" align="left">查看某一个类的继承类或者实现类</td><td valign="middle" width="100" align="left">ctrl+T</td></tr></tbody></table></div> <div align="center"><h2>文本编辑</h2>　　<table><tbody><tr><td valign="middle" width="100" align="left">作用域</td><td valign="middle" width="100" align="left">功能</td><td valign="middle" width="100" align="left">快捷键</td></tr><tr><td valign="middle" width="100" align="left">文本编辑器</td><td valign="middle" width="100" align="left">改写切换</td><td valign="middle" width="100" align="left">Insert</td></tr><tr><td valign="middle" width="100" align="left">文本编辑器</td><td valign="middle" width="100" align="left">上滚行</td><td valign="middle" width="100" align="left">Ctrl+&#8593;</td></tr><tr><td valign="middle" width="100" align="left">文本编辑器</td><td valign="middle" width="100" align="left">下滚行</td><td valign="middle" width="100" align="left">Ctrl+&#8595;</td></tr></tbody></table></div> <div align="center"><h2>文件</h2>　　<table><tbody><tr><td valign="middle" width="100" align="left">作用域</td><td valign="middle" width="100" align="left">功能</td><td valign="middle" width="100" align="left">快捷键</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">保存</td><td valign="middle" width="100" align="left">Ctrl+S</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">打印</td><td valign="middle" width="100" align="left">Ctrl+P</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">关闭</td><td valign="middle" width="100" align="left">Ctrl+F4</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">全部保存</td><td valign="middle" width="100" align="left">Ctrl+Shift+S</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">全部关闭</td><td valign="middle" width="100" align="left">Ctrl+Shift+F4</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">属性</td><td valign="middle" width="100" align="left">Alt+Enter</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">新建</td><td valign="middle" width="100" align="left">Ctrl+N</td></tr></tbody></table></div> <div align="center"><h2>目</h2>　　<table><tbody><tr><td valign="middle" width="100" align="left">作用域</td><td valign="middle" width="100" align="left">功能</td><td valign="middle" width="100" align="left">快捷键</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">全部构建</td><td valign="middle" width="100" align="left">Ctrl+B</td></tr></tbody></table></div> <div align="center"><h2>源代码</h2>　　<table><tbody><tr><td valign="middle" width="100" align="left">作用域</td><td valign="middle" width="100" align="left">功能</td><td valign="middle" width="100" align="left">快捷键</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">格式化</td><td valign="middle" width="100" align="left">Ctrl+Shift+F</td></tr><tr><td><br /></td><td><br /></td><td><br /></td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">添加/取消注释</td><td valign="middle" width="100" align="left">Ctrl+/</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">添加导入</td><td valign="middle" width="100" align="left">Ctrl+Shift+M</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">组织导入</td><td valign="middle" width="100" align="left">Ctrl+Shift+O</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">使用try/catch块来包围</td><td valign="middle" width="100" align="left">未设置，太常用了，所以在这里列出，建议自己设置。 <br />也可以使用Ctrl+1自动修正。</td></tr><tr><td valign="middle" width="100" align="left">Java编辑器</td><td valign="middle" width="100" align="left">将所选区域字母设置为小写</td><td valign="middle" width="100" align="left">Ctrl+Shift+Y</td></tr><tr><td>Java编辑器</td><td>将所选区域字母设置为大写</td><td>Ctrl+Shift+X</td></tr></tbody></table></div> <div align="center"><h2>运行</h2>　　<table><tbody><tr><td valign="middle" width="100" align="left">作用域</td><td valign="middle" width="100" align="left">功能</td><td valign="middle" width="100" align="left">快捷键</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">单步返回</td><td valign="middle" width="100" align="left">F7</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">单步跳过</td><td valign="middle" width="100" align="left">F6</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">单步跳入</td><td valign="middle" width="100" align="left">F5</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">单步跳入选择</td><td valign="middle" width="100" align="left">Ctrl+F5</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">调试上次启动</td><td valign="middle" width="100" align="left">F11</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">继续</td><td valign="middle" width="100" align="left">F8</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">使用过滤器单步执行</td><td valign="middle" width="100" align="left">Shift+F5</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">添加/去除断点</td><td valign="middle" width="100" align="left">Ctrl+Shift+B</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">显示</td><td valign="middle" width="100" align="left">Ctrl+D</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">运行上次启动</td><td valign="middle" width="100" align="left">Ctrl+F11</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">运行至行</td><td valign="middle" width="100" align="left">Ctrl+R</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">执行</td><td valign="middle" width="100" align="left">Ctrl+U</td></tr></tbody></table></div> <div align="center"><h2>重构</h2>　　<table><tbody><tr><td valign="middle" width="100" align="left">作用域</td><td valign="middle" width="100" align="left">功能</td><td valign="middle" width="100" align="left">快捷键</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">撤销重构</td><td valign="middle" width="100" align="left">Alt+Shift+Z</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">抽取方法</td><td valign="middle" width="100" align="left">Alt+Shift+M</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">抽取局部变量</td><td valign="middle" width="100" align="left">Alt+Shift+L</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">内联</td><td valign="middle" width="100" align="left">Alt+Shift+I</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">移动</td><td valign="middle" width="100" align="left">Alt+Shift+V</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">重命名</td><td valign="middle" width="100" align="left">Alt+Shift+R</td></tr><tr><td valign="middle" width="100" align="left">全局</td><td valign="middle" width="100" align="left">重做</td><td valign="middle" width="100" align="left">Alt+Shift+Y</td></tr></tbody></table></div> <div align="center"><br /> </div>  </div><img src ="http://www.blogjava.net/lexilee/aggbug/371614.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lexilee/" target="_blank">吖鑵_sysu</a> 2012-03-10 10:29 <a href="http://www.blogjava.net/lexilee/articles/371614.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>