﻿<?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-javajohn</title><link>http://www.blogjava.net/javajohn/</link><description>金色年华
</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 06:24:13 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 06:24:13 GMT</pubDate><ttl>60</ttl><item><title>Linux查看CPU和内存使用情况</title><link>http://www.blogjava.net/javajohn/archive/2015/03/25/423817.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Wed, 25 Mar 2015 05:59:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2015/03/25/423817.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/423817.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2015/03/25/423817.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/423817.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/423817.html</trackback:ping><description><![CDATA[<p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">在系统维护的过程中，随时可能有需要查看 CPU 使用率，并根据相应信息分析系统状况的需要。在 CentOS 中，可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后，CPU 使用状态会以全屏的方式显示，并且会处在对话的模式 -- 用基于 top 的命令，可以控制显示方式等等。退出 top 的命令为 q （在 top 运行中敲 q 键一次）。</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">top命令是Linux下常用的性能分析工具，能够实时显示系统中各个进程的资源占用状况，类似于Windows的任务管理器</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　可以直接使用top命令后，查看%MEM的内容。可以选择按进程查看或者按用户查看，如想查看oracle用户的进程内存使用情况的话可以使用如下的命令：<br />　　$ top -u oracle</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">内容解释：</p><blockquote style="font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; "><p style="margin-top: 10px; margin-bottom: 10px; ">　　PID：进程的ID<br />　　USER：进程所有者<br />　　PR：进程的优先级别，越小越优先被执行<br />　　NInice：值<br />　　VIRT：进程占用的虚拟内存<br />　　RES：进程占用的物理内存<br />　　SHR：进程使用的共享内存<br />　　S：进程的状态。S表示休眠，R表示正在运行，Z表示僵死状态，N表示该进程优先值为负数<br />　　%CPU：进程占用CPU的使用率<br />　　%MEM：进程使用的物理内存和总内存的百分比<br />　　TIME+：该进程启动后占用的总的CPU时间，即占用CPU使用时间的累加值。<br />　　COMMAND：进程启动命令名称</p></blockquote><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　操作实例:</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　在命令行中输入 &#8220;top&#8221;</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　即可启动 top</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　top 的全屏对话模式可分为3部分：系统信息栏、命令输入栏、进程列表栏。</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　第一部分 -- 最上部的 系统信息栏 ：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　第一行（top）：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　　　&#8220;00:11:04&#8221;为系统当前时刻；</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　　　&#8220;3:35&#8221;为系统启动后到现在的运作时间；</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　　　&#8220;2 users&#8221;为当前登录到系统的用户，更确切的说是登录到用户的终端数 -- 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统，这里的用户数也将表现为终端的数目；</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　　　&#8220;load average&#8221;为当前系统负载的平均值，后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数，一般的可以认为这个数值超过 CPU 数目时，CPU 将比较吃力的负载当前系统所包含的进程；</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　第二行（Tasks）：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　　　&#8220;59 total&#8221;为当前系统进程总数；</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　　　&#8220;1 running&#8221;为当前运行中的进程数；</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　　　&#8220;58 sleeping&#8221;为当前处于等待状态中的进程数；</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　　　&#8220;0 stoped&#8221;为被停止的系统进程数；</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　　　&#8220;0 zombie&#8221;为被复原的进程数；</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　第三行（Cpus）：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　　　分别表示了 CPU 当前的使用率；</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　第四行（Mem）：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　　　分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量；</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　第五行（Swap）：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　　　表示类别同第四行（Mem），但此处反映着交换分区（Swap）的使用情况。通常，交换分区（Swap）被频繁使用的情况，将被视作物理内存不足而造成的。</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　第二部分 -- 中间部分的内部命令提示栏：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。内部命令如下表：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　s</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　- 改变画面更新频率</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　l - 关闭或开启第一部分第一行 top 信息的表示</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　N - 以 PID 的大小的顺序排列表示进程列表（第三部分后述）</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　P - 以 CPU 占用率大小的顺序排列进程列表 （第三部分后述）</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　M - 以内存占用率大小的顺序排列进程列表 （第三部分后述）</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　h - 显示帮助</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　n - 设置在进程列表所显示进程的数量</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　q - 退出 top</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　s -</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　改变画面更新周期</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　第三部分 -- 最下部分的进程列表栏：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　以 PID 区分的进程列表将根据所设定的画面更新时间定期的更新。通过 top 内部命令可以控制此处的显示方式</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; "><strong>pmap</strong></p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">可以根据进程查看进程相关信息占用的内存情况，(进程号可以通过ps查看)如下所示：<br />　　$ pmap -d 5647</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">&nbsp;</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; "><strong>ps</strong></p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　如下例所示：<br />　　$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'&nbsp; 其中rsz是是实际内存<br />　　$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle |&nbsp; sort -nrk</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">　　其中rsz为实际内存，上例实现按内存排序，由大到小</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">在Linux下查看内存我们一般用free命令：<br />[root@scs-2 tmp]# free<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; total&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; used&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; free&nbsp;&nbsp;&nbsp;&nbsp; shared&nbsp;&nbsp;&nbsp; buffers&nbsp;&nbsp;&nbsp;&nbsp; cached<br />Mem:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3266180&nbsp;&nbsp;&nbsp; 3250004&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16176&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 110652&nbsp;&nbsp;&nbsp; 2668236<br />-/+ buffers/cache:&nbsp;&nbsp;&nbsp;&nbsp; 471116&nbsp;&nbsp;&nbsp; 2795064<br />Swap:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2048276&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80160&nbsp;&nbsp;&nbsp; 1968116</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">下面是对这些数值的解释：<br />total:总计物理内存的大小。<br />used:已使用多大。<br />free:可用有多少。<br />Shared:多个进程共享的内存总额。<br />Buffers/cached:磁盘缓存的大小。<br />第三行(-/+ buffers/cached):<br />used:已使用多大。<br />free:可用有多少。<br />第四行就不多解释了。<br />区别：第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。 这两个的区别在于使用的角度来看，第一行是从OS的角度来看，因为对于OS，buffers/cached 都是属于被使用，所以他的可用内存是16176KB,已用内存是3250004KB,其中包括，内核（OS）使用+Application(X, oracle,etc)使用的+buffers+cached.<br />第三行所指的是从应用程序角度来看，对于应用程序来说，buffers/cached 是等于可用的，因为buffer/cached是为了提高文件读取的性能，当应用程序需在用到内存的时候，buffer/cached会很快地被回收。<br />所以从应用程序的角度来说，可用内存=系统free memory+buffers+cached。<br />如上例：<br />2795064=16176+110652+2668236</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">接下来解释什么时候内存会被交换，以及按什么方交换。 当可用内存少于额定值的时候，就会开会进行交换。<br />如何看额定值：<br />cat /proc/meminfo</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">[root@scs-2 tmp]# cat /proc/meminfo<br />MemTotal:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3266180 kB<br />MemFree:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17456 kB<br />Buffers:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 111328 kB<br />Cached:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2664024 kB<br />SwapCached:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 kB<br />Active:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 467236 kB<br />Inactive:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2644928 kB<br />HighTotal:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 kB<br />HighFree:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 kB<br />LowTotal:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3266180 kB<br />LowFree:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17456 kB<br />SwapTotal:&nbsp;&nbsp;&nbsp;&nbsp; 2048276 kB<br />SwapFree:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1968116 kB<br />Dirty:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8 kB<br />Writeback:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 kB<br />Mapped:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 345360 kB<br />Slab:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 112344 kB<br />Committed_AS:&nbsp;&nbsp; 535292 kB<br />PageTables:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2340 kB<br />VmallocTotal: 536870911 kB<br />VmallocUsed:&nbsp;&nbsp;&nbsp; 272696 kB<br />VmallocChunk: 536598175 kB<br />HugePages_Total:&nbsp;&nbsp;&nbsp;&nbsp; 0<br />HugePages_Free:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br />Hugepagesize:&nbsp;&nbsp;&nbsp;&nbsp; 2048 kB</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">用free -m查看的结果：<br />[root@scs-2 tmp]# free -m&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; total&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; used&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; free&nbsp;&nbsp;&nbsp;&nbsp; shared&nbsp;&nbsp;&nbsp; buffers&nbsp;&nbsp;&nbsp;&nbsp; cached<br />Mem:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3189&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3173&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 107&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2605<br />-/+ buffers/cache:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 460&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2729<br />Swap:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 78&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1921</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; "><br />查看/proc/kcore文件的大小（内存镜像）：<br />[root@scs-2 tmp]# ll -h /proc/kcore&nbsp;<br />-r-------- 1 root root 4.1G Jun 12 12:04 /proc/kcore</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">备注：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">占用内存的测量</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">测量一个进程占用了多少内存，linux为我们提供了一个很方便的方法，/proc目录为我们提供了所有的信息，实际上top等工具也通过这里来获取相应的信息。</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">/proc/meminfo 机器的内存使用信息</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">/proc/pid/maps pid为进程号，显示当前进程所占用的虚拟地址。</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">/proc/pid/statm 进程所占用的内存</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">[root@localhost ~]# cat /proc/self/statm</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">654 57 44 0 0 334 0</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">输出解释</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">CPU 以及CPU0。。。的每行的每个参数意思（以第一行为例）为：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">参数 解释 /proc//status</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">Size (pages) 任务虚拟地址空间的大小 VmSize/4</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">Resident(pages) 应用程序正在使用的物理内存的大小 VmRSS/4</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">Shared(pages) 共享页数 0</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib/4</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">Drs(pages) 程序数据段和用户态的栈的大小 （VmData+ VmStk ）4</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">dt(pages) 04</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">查看机器可用内存</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">/proc/28248/&gt;free</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">total used free shared buffers cached</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">Mem: 1023788 926400 97388 0 134668 503688</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">-/+ buffers/cache: 288044 735744</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">Swap: 1959920 89608 1870312</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">我们通过free命令查看机器空闲内存时，会发现free的值很小。这主要是因为，在linux中有这么一种思想，内存不用白不用，因此它尽可能的cache和buffer一些数据，以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">所以 空闲内存=free+buffers+cached=total-used</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">top命令 是Linux下常用的性能 分析工具 ，能够实时显示系统 中各个进程的资源占用状况，类似于Windows的任务管理 器。下面详细介绍它的使用方法。</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">top - 02:53:32 up 16 days,&nbsp; 6:34, 17 users,&nbsp; load average: 0.24, 0.21, 0.24<br />Tasks: 481 total,&nbsp;&nbsp; 3 running, 474 sleeping,&nbsp;&nbsp; 0 stopped,&nbsp;&nbsp; 4 zombie<br />Cpu(s): 10.3%us,&nbsp; 1.8%sy,&nbsp; 0.0%ni, 86.6%id,&nbsp; 0.5%wa,&nbsp; 0.2%hi,&nbsp; 0.6%si,&nbsp; 0.0%st<br />Mem:&nbsp;&nbsp; 4042764k total,&nbsp; 4001096k used,&nbsp;&nbsp;&nbsp; 41668k free,&nbsp;&nbsp; 383536k buffers<br />Swap:&nbsp; 2104472k total,&nbsp;&nbsp;&nbsp;&nbsp; 7900k used,&nbsp; 2096572k free,&nbsp; 1557040k cached</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">&nbsp; PID USER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PR&nbsp; NI&nbsp; VIRT&nbsp; RES&nbsp; SHR S %CPU %MEM&nbsp;&nbsp;&nbsp; TIME+&nbsp; COMMAND<br />32497 jacky&nbsp;&nbsp;&nbsp;&nbsp; 20&nbsp;&nbsp; 0&nbsp; 669m 222m&nbsp; 31m R&nbsp;&nbsp; 10&nbsp; 5.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 29:27.62 firefox<br />&nbsp;4788 yiuwing&nbsp;&nbsp; 20&nbsp;&nbsp; 0&nbsp; 257m&nbsp; 18m&nbsp; 13m S&nbsp;&nbsp;&nbsp; 5&nbsp; 0.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5:42.44 konsole<br />&nbsp;5657 Liuxiaof&nbsp; 20&nbsp;&nbsp; 0&nbsp; 585m 159m&nbsp; 30m S&nbsp;&nbsp;&nbsp; 4&nbsp; 4.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5:25.06 firefox<br />&nbsp;4455 xiefc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20&nbsp;&nbsp; 0&nbsp; 542m&nbsp; 124m&nbsp; 30m R&nbsp;&nbsp;&nbsp; 4&nbsp; 3.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7:23.03 firefox<br />&nbsp;6188 Liuxiaof&nbsp; 20&nbsp;&nbsp; 0&nbsp; 191m&nbsp;&nbsp; 17m&nbsp; 13m S&nbsp;&nbsp;&nbsp; 4&nbsp; 0.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:01.16 konsole<br />&nbsp;</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; "><br />统计信息区前五行是系统整体的统计信息。第一行是任务队列信息，同 uptime&nbsp; 命令的执行结果。其内容如下：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">01:06:48&nbsp; 当前时间&nbsp;&nbsp;<br />up 1:22&nbsp; 系统运行 时间，格式为时:分&nbsp;&nbsp;<br />1 user&nbsp; 当前登录用户 数&nbsp;&nbsp;<br />load average: 0.06, 0.60, 0.48&nbsp; 系统负载 ，即任务队列的平均长度。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 三个数值分别为&nbsp; 1分钟、5分钟、15分钟前到现在的平均值。&nbsp;</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; "><br />第二、三行为进程和CPU的信息。当有多个CPU时，这些内容可能会超过两行。内容如下：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">Tasks: 29 total&nbsp; 进程总数&nbsp;&nbsp;<br />1 running&nbsp; 正在运行的进程数&nbsp;&nbsp;<br />28 sleeping&nbsp; 睡眠的进程数&nbsp;&nbsp;<br />0 stopped&nbsp; 停止的进程数&nbsp;&nbsp;<br />0 zombie&nbsp; 僵尸进程数&nbsp;&nbsp;<br />Cpu(s): 0.3% us&nbsp; 用户空间占用CPU百分比&nbsp;&nbsp;<br />1.0% sy&nbsp; 内核 空间占用CPU百分比&nbsp;&nbsp;<br />0.0% ni&nbsp; 用户进程空间内改变过优先级的进程占用CPU百分比&nbsp;&nbsp;<br />98.7% id&nbsp; 空闲CPU百分比&nbsp;&nbsp;<br />0.0% wa&nbsp; 等待输入输出的CPU时间百分比&nbsp;&nbsp;<br />0.0% hi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />0.0% si&nbsp;&nbsp;&nbsp;&nbsp;</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; "><br />最后两行为内存 信息。内容如下：</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">Mem: 191272k total&nbsp; 物理内存总量&nbsp;&nbsp;<br />173656k used&nbsp; 使用的物理内存总量&nbsp;&nbsp;<br />17616k free&nbsp; 空闲内存总量&nbsp;&nbsp;<br />22052k buffers&nbsp; 用作内核缓存 的内存量&nbsp;&nbsp;<br />Swap: 192772k total&nbsp; 交换区总量&nbsp;&nbsp;<br />0k used&nbsp; 使用的交换区总量&nbsp;&nbsp;<br />192772k free&nbsp; 空闲交换区总量&nbsp;&nbsp;<br />123988k cached&nbsp; 缓冲的交换区总量。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 内存中的内容被换出到交换区，而后又被换入到内存，但使用过的交换区尚未被覆盖，<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 该数值即为这些内容已存在于内存中 的交换区的大小。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 相应的内存再次被换出时可不必再对交换区写入。&nbsp;</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; "><br />进程信息区统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">序号&nbsp; 列名&nbsp; 含义&nbsp;&nbsp;<br />a&nbsp; PID&nbsp; 进程id&nbsp;&nbsp;<br />b&nbsp; PPID&nbsp; 父进程id&nbsp;&nbsp;<br />c&nbsp; RUSER&nbsp; Real user name&nbsp;&nbsp;<br />d&nbsp; UID&nbsp; 进程所有者的用户id&nbsp;&nbsp;<br />e&nbsp; USER&nbsp; 进程所有者的用户名&nbsp;&nbsp;<br />f&nbsp; GROUP&nbsp; 进程所有者的组名&nbsp;&nbsp;<br />g&nbsp; TTY&nbsp; 启动进程的终端名。不是从终端启动的进程则显示为 ?&nbsp;&nbsp;<br />h&nbsp; PR&nbsp; 优先级&nbsp;&nbsp;<br />i&nbsp; NI&nbsp; nice值。负值表示高优先级，正值表示低优先级&nbsp;&nbsp;<br />j&nbsp; P&nbsp; 最后使用的CPU，仅在多CPU环境 下有意义&nbsp;&nbsp;<br />k&nbsp; %CPU&nbsp; 上次更新到现在的CPU时间占用百分比&nbsp;&nbsp;<br />l&nbsp; TIME&nbsp; 进程使用的CPU时间总计，单位秒&nbsp;&nbsp;<br />m&nbsp; TIME+&nbsp; 进程使用的CPU时间总计，单位1/100秒&nbsp;&nbsp;<br />n&nbsp; %MEM&nbsp; 进程使用的物理内存 百分比&nbsp;&nbsp;<br />o&nbsp; VIRT&nbsp; 进程使用的虚拟内存总量，单位kb。VIRT=SWAP+RES&nbsp;&nbsp;<br />p&nbsp; SWAP&nbsp; 进程使用的虚拟内存中，被换出的大小，单位kb。&nbsp;&nbsp;<br />q&nbsp; RES&nbsp; 进程使用的、未被换出的物理内存大小，单位kb。RES=CODE+DATA&nbsp;&nbsp;<br />r&nbsp; CODE&nbsp; 可执行代码占用的物理 内存大小，单位kb&nbsp;&nbsp;<br />s&nbsp; DATA&nbsp; 可执行代码以外的部分(数据 段+栈)占用的物理 内存大小，单位kb&nbsp;&nbsp;<br />t&nbsp; SHR&nbsp; 共享内存大小，单位kb&nbsp;&nbsp;<br />u&nbsp; nFLT&nbsp; 页面错误次数&nbsp;&nbsp;<br />v&nbsp; nDRT&nbsp; 最后一次写入到现在，被修改过的页面数。&nbsp;&nbsp;<br />w&nbsp; S&nbsp; 进程状态。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D =不可中断的睡眠状态<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R =运行<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S =睡眠<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T =跟踪/停止<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z =僵尸进程&nbsp;&nbsp;<br />x&nbsp; COMMAND&nbsp; 命令名/命令行&nbsp;&nbsp;<br />y&nbsp; WCHAN&nbsp; 若该进程在睡眠，则显示睡眠中的系统函数名&nbsp;&nbsp;<br />z&nbsp; Flags&nbsp; 任务标志，参考 sched.h&nbsp;</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; "><br />默认情况下仅显示比较重要的&nbsp; PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND&nbsp; 列。可以通过下面的快捷键来更改显示内容。<br />更改显示内容通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表，按 a-z&nbsp; 即可显示或隐藏对应的列，最后按回车键确定。<br />按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动，而大写的 A-Z&nbsp; 可以将相应的列向左移动。最后按回车键确定。<br />按大写的 F 或 O 键，然后按 a-z 可以将进程按照相应的列进行排序。而大写的&nbsp; R 键可以将当前的排序倒转。</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">&nbsp;</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">==============================</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">top命令使用过程中，还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。<br />＜空格＞：立刻刷新。<br />P：根据CPU使用大小进行排序。<br />T：根据时间、累计时间排序。<br />q：退出top命令。<br />m：切换显示内存信息。<br />t：切换显示进程和CPU状态信息。<br />c：切换显示命令名称和完整命令行。<br />M：根据使用内存大小进行排序。<br />W：将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">可以看到，top命令是一个功能十分强大的监控系统的工具，对于系统管理员而言尤其重要。但是，它的缺点是会消耗很多系统资源。</p><p style="margin-top: 10px; margin-bottom: 10px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; ">&nbsp;应用实例&nbsp;<br />使用top命令可以监视指定用户，缺省情况是监视所有用户的进程。如果想查看指定用户的情况，在终端中按&#8220;U&#8221;键，然后输入用户名，系统就会切换为指定用户的进程运行界面。<br />ａ.作用<br />free命令用来显示内存的使用情况，使用权限是所有用户。<br />ｂ.格式<br />free [－b　－k　－m] [－o] [－s delay] [－t] [－V]<br />ｃ.主要参数<br />－b －k －m：分别以字节（KB、MB）为单位显示内存使用情况。<br />－s delay：显示每隔多少秒数来显示一次内存使用情况。<br />－t：显示内存总和列。<br />－o：不显示缓冲区调节列。<br />ｄ.应用实例<br />free命令是用来查看内存使用情况的主要命令。和top命令相比，它的优点是使用简单，并且只占用很少的系统资源。通过－S参数可以使用free命令不间断地监视有多少内存在使用，这样可以把它当作一个方便实时监控器。<br />＃free －b －s5<br />使用这个命令后终端会连续不断地报告内存使用情况（以字节为单位），每5秒更新一次。</p><img src ="http://www.blogjava.net/javajohn/aggbug/423817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2015-03-25 13:59 <a href="http://www.blogjava.net/javajohn/archive/2015/03/25/423817.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Unix中 &amp;0 &amp;1 &amp;2 $# 啥意思</title><link>http://www.blogjava.net/javajohn/archive/2015/02/12/422887.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Thu, 12 Feb 2015 05:51:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2015/02/12/422887.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/422887.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2015/02/12/422887.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/422887.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/422887.html</trackback:ping><description><![CDATA[<div style="font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->&nbsp; &nbsp; 经常关注linux脚本的人，一定看到过&nbsp;<span style="color: #800000; ">2</span>&gt;&amp;<span style="color: #800000; ">1</span>&nbsp;这样的用法，最初一定不明白其中的含义以及为什么是这样的一种组合。昨天偶然间再次看到了这个&nbsp;<span style="color: #800000; ">2</span>&gt;&amp;<span style="color: #800000; ">1</span>&nbsp;的写法，遂下决心搞明白其中的含义。<br />&nbsp;&nbsp;&nbsp;&nbsp;其实要弄清楚&nbsp;<span style="color: #800000; ">2</span>&gt;&amp;<span style="color: #800000; ">1</span>&nbsp;的含义，首先应当知道linux中有三种标准输入输出，分别是STDIN，STDOUT，STDERR，对应的数字是0，<span style="color: #800000; ">1</span>，<span style="color: #800000; ">2</span>。STDIN就是标准输入，默认从键盘读取信息；STDOUT是标准输出，默认将输出结果输出至终端，也就是显示器之类的东西；STDERR是标准的错误信息，默认也会显示在终端上。由于STDOUT与STDERR都会默认显示在终端上，为了区分二者的信息，就有了编号的0，<span style="color: #800000; ">1</span>，2的定义，用1表示STDOUT，2表示STDERR。<br />$<span style="color: #008000; ">#</span><span style="color: #008000; ">:&nbsp;命令行参数的个数</span><span style="color: #008000; "><br /></span>$<span style="color: #800000; ">0</span>:script&nbsp;本身的名字<br />$?:&nbsp;shell指令执行结果，若前一个指令执行正确，则该值为0，错误为非0。</div></div><img src ="http://www.blogjava.net/javajohn/aggbug/422887.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2015-02-12 13:51 <a href="http://www.blogjava.net/javajohn/archive/2015/02/12/422887.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>免费获取拥有SSH权限的帐号和密码</title><link>http://www.blogjava.net/javajohn/archive/2010/07/31/327667.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Sat, 31 Jul 2010 15:13:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2010/07/31/327667.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/327667.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2010/07/31/327667.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/327667.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/327667.html</trackback:ping><description><![CDATA[　　原帖地址：<a href="http://blog.tianya.cn/blogger/post_show.asp?idWriter=5377498&amp;Key=959032751&amp;BlogID=245589&amp;PostID=21553576" target="_blank">点这里</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第一步：免费获取拥有SSH权限的帐号和密码<br />
　　怎样获得免费 SSH 账号？<br />
　　转载本文至你的博客，并把网址发送到<bdo dir="rtl">moc.liamg@iyihse</bdo>。 <br />
　　人工审核通过你将收到一封附有五个 SSH 账号的电子邮件。 <br />
　　<br />
　　第二步：开始使用免费 SSH 账号<br />
　　下载 MyEntunnel，<a href="http://blog.tianya.cn/blogger/post_show.asp?idWriter=5377498&amp;Key=959032751&amp;PostID=18917933&amp;BlogID=245589" target="_blank"><font color="green"><strong>&gt;&gt;点击这里下载</strong></font></a><br />
　　<img src="http://img1.laibafile.cn/laiba/images/7517/12637135770598196534/A/1/m.jpg"  alt="" /><br />
　　按照上图将第一步收到的帐号信息填写到相应的地方后，点击 Save 保存，之后 Hide 至状态栏。<br />
　　第一次连接过程中会出现一个认证对话框，按照提示确认即可。以后的自动连接中将不再出现此认证对话框。<br />
　　绿色代表连接成功且稳定；黄色代表正在连接或重新连接；红色代表连接失败。<br />
　　<br />
　　第三步：配置Firefox浏览器<br />
　　如果你正使用Firefox 浏览器阅读本文，点击此处一键安装代理服务器管理扩展。<br />
　　<img src="http://img2.laibafile.cn/laiba/images/7517/12637135810782882439/A/1/m.jpg"  alt="" /><br />
　　立即安装，并重新启动Firefox。在弹出的对话框中选择gfwlist (P.R.China)，确定。<br />
　　<img src="http://img1.laibafile.cn/laiba/images/7517/12637135800867483744/A/1/m.jpg"  alt="" /><br />
　　Firefox 主界面右上角新增&#8220;福&#8221;字图标，点击&#8220;福&#8221;。<br />
　　 <img src="http://img1.laibafile.cn/laiba/images/7517/12637135800581002380/A/1/m.jpg"  alt="" /><br />
　　下拉菜单选择 &#8220;代理服务器 - 编辑代理服务器&#8221;。<br />
　　<img src="http://img1.laibafile.cn/laiba/images/7517/12637135790880555602/A/1/m.jpg"  alt="" /><br />
　　按图片内容修改 GAppProxy 一栏的配置参数。<br />
　　<img src="http://img1.laibafile.cn/laiba/images/7517/12637135780361304232/A/1/m.jpg"  alt="" /><br />
　　完毕后确定。至此配置完全就绪
<img src ="http://www.blogjava.net/javajohn/aggbug/327667.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2010-07-31 23:13 <a href="http://www.blogjava.net/javajohn/archive/2010/07/31/327667.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>xp下apache2.2.9 + php5.2.9-2 + mysql压缩包安装版，出现无法加载mysql扩展错误的解决方法</title><link>http://www.blogjava.net/javajohn/archive/2009/11/08/301622.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Sun, 08 Nov 2009 10:24:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2009/11/08/301622.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/301622.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2009/11/08/301622.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/301622.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/301622.html</trackback:ping><description><![CDATA[<p>安装完phpmyadmin，大家经常出现的问题就是报错：&#8220;无法载入mysql扩展，请检查php配置&#8221;。<br />
如果你使用的是php5.2以上的版本，请注意：php对服务的扩展功能做了一定的改动，也就是说，你安装php和扩展的方式也要做调整了。<br />
主要的调整有两方面，一是PHP5.2以上的版本中，PHP.INI文件无需添加到WINDOWS目录下。二是类如&#8220;mysql扩展&#8221;这样的库文件C:\PHP\libmcrypt.dll要复制到到C:\PHP\ext目录中，而不是像老版本的安装方式复制到c:\windows\system32中。<br />
具体的安装步骤请耐心参考下文：<br />
1.将PHP5.2.X解压至你的安装目录，如C:\PHP<br />
2.在apache的配置文档http.conf文件中，加入以下代码，使apache能将php以模块方式加载：<br />
LoadModule php5_module "c:/php/php5apache2_2.dll"<br />
AddType application/x-httpd-php .php<br />
3.在apache的配置文档http.conf文件中，加入以下代码，指定PHP.INI文件的所在目录：<br />
PHPIniDir "C:/php"<br />
4.将PHP.INI-DIST更名为PHP.INI，并编辑C:\PHP\PHP.INI文件：<br />
找到extension_dir = "./"<br />
更改为extension_dir = "C:\php\ext"<br />
找到;extension=php_mysql.dll<br />
去掉前面的分号。<br />
5.现在是最重要的步骤，请注意：复制C:\PHP\libmysql.dll至C:\PHP\ext目录下,用来支持MYSQL扩展库，<br />
并在APACHE2.2的配置文件中加入<br />
LoadFile C:\php\php5ts.dll<br />
LoadFile C:\php\libmysql.dll<br />
6.重启WEB服务<br />
7.IIS用户，更改内容同上，需要把PHP.INI文件复制到%STSTEMROOT%下<br />
完成以上操作后重启服务。<br />
当配置完毕所有服务后，安装PhpMyAdmin，会有出现&#8220;无法载入 mcrypt 扩展，&lt;br /&gt;请检查 PHP 配置&#8221;的提示，针对这个问题的解决办法是：<br />
1.编辑APACHE2.2.X的配置文件HTTPD.CONF中添加LoadFile C:\php\libmcrypt.dll<br />
2.复制C:\PHP\libmcrypt.dll到C:\PHP\ext，用于完整扩展文件。<br />
3.编辑C:\PHP\PHP.INI文件，找到;extension=php_mcrypt.dll，去掉前面分号";"<br />
如果，安装PhpMyAdmin时也出现--&#8220;没有发现 PHP 的扩展设置mbstring， 而当前系统好像在使用宽字符集；没有 mbstring 扩展的 phpMyAdmin 不能正确识别字符串，可能产生不可意料的结果&#8221;的提示，针对这个问题的解决办法是：<br />
编辑C:\PHP\PHP.INI找到;extension=php_mbstring.dll，去掉前面的分号";"<br />
完成以上操作后再次重启服务。<br />
最后，是使用PHPMYADMIN3前的一些基本把配置，这个配置是针对phpMyadmin3.0以上的版本。<br />
配置前确定你以按上文正确配置了PHP运行环境。<br />
配置基本步骤如下：<br />
1.复制phpMyAdmin\libraries\config.default.php到phpMyAdmin根目录并改名为config.inc.php<br />
2.编辑config.inc.php<br />
$cfg['blowfish_secret'] = '';更改为$cfg['blowfish_secret'] = 'abcd'；两个单引号中随便输入任何字符都可以。<br />
$cfg['Servers'][$i]['auth_type'] = 'config';更改为$cfg['Servers'][$i]['auth_type'] = 'cookie';<br />
保存后，刷新页面，输入MYSQL的登陆账号和密码就可以了。<br />
如果出现Cookies 必须启用才能登入的问题，清空浏览器的Cookies就可以了。 </p><img src ="http://www.blogjava.net/javajohn/aggbug/301622.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2009-11-08 18:24 <a href="http://www.blogjava.net/javajohn/archive/2009/11/08/301622.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linxu下安装svn-1.5.5</title><link>http://www.blogjava.net/javajohn/archive/2009/03/29/262690.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Sat, 28 Mar 2009 16:15:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2009/03/29/262690.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/262690.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2009/03/29/262690.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/262690.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/262690.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: linux下svn-1.5.5的安装&nbsp;&nbsp;<a href='http://www.blogjava.net/javajohn/archive/2009/03/29/262690.html'>阅读全文</a><img src ="http://www.blogjava.net/javajohn/aggbug/262690.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2009-03-29 00:15 <a href="http://www.blogjava.net/javajohn/archive/2009/03/29/262690.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sybase12.5 dsedit 找不到libtcl.dll错误处理办法</title><link>http://www.blogjava.net/javajohn/archive/2009/03/22/261340.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Sun, 22 Mar 2009 11:35:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2009/03/22/261340.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/261340.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2009/03/22/261340.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/261340.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/261340.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 解决sybase使用dsedit时报找不到libtcl.dll的问题&nbsp;&nbsp;<a href='http://www.blogjava.net/javajohn/archive/2009/03/22/261340.html'>阅读全文</a><img src ="http://www.blogjava.net/javajohn/aggbug/261340.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2009-03-22 19:35 <a href="http://www.blogjava.net/javajohn/archive/2009/03/22/261340.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于bug管理小软件mantis的安装</title><link>http://www.blogjava.net/javajohn/archive/2008/10/14/234157.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Tue, 14 Oct 2008 01:58:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2008/10/14/234157.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/234157.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2008/10/14/234157.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/234157.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/234157.html</trackback:ping><description><![CDATA[        最近进了新的项目组，一切都要重新来过，mantis是个bug管理用php做的软件。现在网上搜mantis的安装有一大把的资料可以参考，但仅仅是参考而已，发现有许多人回答问题很不认真，但是由于他回答问题的时间较早所以他的答案也就顺理成了baidu按关键字“mantis 安装”的前几位了。好了接下来我们仔细来说说mantis安装的细节吧。<br />        由于mantis是基于php开发的软件所以php环境是必不可少的，然后要运行php使用iis或者apache都可以，自己选，网上关于这方面的资料也不少，需要指出的是我在安装mysql的时候，由于一开始是同事先安装的选用了apache2.2以上、php5.0以上、mysql5.0以上，但是这里有个问题，就是mysql5.0是alpha版的，这个版本和php5兼容不太好，所以配好以后mysql会在php试图连接数据库的时候shut down掉，最后mysql换用了5.0.24版的问题解决了。<br />        访问mantis（如果你apache安装时候选了8080端口地址就是<a href="http://localhost:8080/mantis">http://localhost:8080/mantis</a>）可以看到能购正常显示mantis界面了，但是又有个问题，界面怎么是英文版的呢？这时侯你需要找到mantis目录config_defaults_inc.php这个文件，用支持php格式的编辑器打开。里面有一项是$g_default_language = 'english';将english修改成chinese_simplified，点击保存，保存文件。这时候又来个问题当使用浏览器打开mantis的时候是乱码（需要指出的是我mysql建库bugtracker的时候编码使用的是utf-8的），但是浏览其编码改成gb2312的时候问题就解决了，但是你再跳转的其他页面的时候问题依旧，难道提交bug要这样麻烦的修改浏览器编码吗？答案是否定的，apache在解析php的时候默认有选项，也就是说apache的这个选项可以让浏览器浏览的时候指定它使用什么编码，好了找出apache的配置文件apache目录/conf/httpd.conf，查找AddDefaultCharset将编码格式又ISO-8859-1改为 GB2312，问题解决。<br />我的msn：<a href="mailto:thesecondbull@163.com">thesecondbull@163.com</a><img src ="http://www.blogjava.net/javajohn/aggbug/234157.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2008-10-14 09:58 <a href="http://www.blogjava.net/javajohn/archive/2008/10/14/234157.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]≡ Windows XP + Apache 2.2.4 + PHP 5.2 + MySQL 5.0.18 +eclipse3.2+wampp-2.2.zip+HardCore环境配置说明 ≡</title><link>http://www.blogjava.net/javajohn/archive/2008/09/17/229404.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Wed, 17 Sep 2008 05:39:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2008/09/17/229404.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/229404.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2008/09/17/229404.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/229404.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/229404.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: php入门&nbsp;&nbsp;<a href='http://www.blogjava.net/javajohn/archive/2008/09/17/229404.html'>阅读全文</a><img src ="http://www.blogjava.net/javajohn/aggbug/229404.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2008-09-17 13:39 <a href="http://www.blogjava.net/javajohn/archive/2008/09/17/229404.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>右键 打开方式 选择程序 无法添加</title><link>http://www.blogjava.net/javajohn/archive/2008/09/16/229186.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Tue, 16 Sep 2008 07:46:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2008/09/16/229186.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/229186.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2008/09/16/229186.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/229186.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/229186.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 最近在搞几个项目的时候用到Dreamweaver8和ps但是遇到个很另人十分不爽的问题，那就是html和gif文件在使用“打开方式”中选不到，而且更郁闷的是点完“浏览”添加了exe文件以后毫无反应，虽然把文件直接托进工具里也可以打开但总是增加了很多麻烦，文件少也就不说了，但是如果有很多文件要托，而不是直接使用打开方式就很耽误工夫了，终于找到一份彻底解决的方法，以备不时之需&nbsp;&nbsp;<a href='http://www.blogjava.net/javajohn/archive/2008/09/16/229186.html'>阅读全文</a><img src ="http://www.blogjava.net/javajohn/aggbug/229186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2008-09-16 15:46 <a href="http://www.blogjava.net/javajohn/archive/2008/09/16/229186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]Axis1.4 利用 deploy.wsdd 发布 server-config.wsdd文件</title><link>http://www.blogjava.net/javajohn/archive/2008/08/10/221158.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Sun, 10 Aug 2008 10:57:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2008/08/10/221158.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/221158.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2008/08/10/221158.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/221158.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/221158.html</trackback:ping><description><![CDATA[配置axis环境变量<br /><p>set JAVA_HOME=D:\j2sdk1.4.1_01<br />set CATALINA_HOME=D:\Tomcat 5.0<br />set classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;<br />set Path=%Path%;%JAVA_HOME%\bin;%CATALINA_HOME%\bin</p><p>set AXIS_HOME=E:\Tomcat\webapps\axis<br />set AXIS_LIB=%AXIS_HOME%\WEB-INF\lib<br />set AXISCLASSPATH=%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery.jar;%AXIS_LIB%\commons-logging.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\activation.jar;%AXIS_LIB%\mail.jar;%AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\xmlsec.jar<br />set classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;</p><br />启动tomcat ，运行-cmd  到deploy.wsdd文件所在目录下使用命令<br />E:\Java\Tomcat 5.5\webapps\Axis1.4_samples2\WEB-INF&gt;java -Djava.ext.dirs="e:\Java\Tomcat 5.5\webapps\axis\WEB-INF\lib" org.apache.axis.client.AdminClient deploy.wsdd<br /><br />我的Tomca 5.5之间有个空格，所以需要将整个路径使用“”包含，运行这个命令后会在E:\Java\Tomcat 5.5\webapps\axis\WEB-INF 下生成一个 server-config.wsdd 这个就是我们需要的<br />原址：<a href="/libin2722/archive/2007/11/25/163011.html">http://www.blogjava.net/libin2722/archive/2007/11/25/163011.html</a><img src ="http://www.blogjava.net/javajohn/aggbug/221158.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2008-08-10 18:57 <a href="http://www.blogjava.net/javajohn/archive/2008/08/10/221158.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE门事件</title><link>http://www.blogjava.net/javajohn/archive/2008/05/09/199526.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Fri, 09 May 2008 07:58:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2008/05/09/199526.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/199526.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2008/05/09/199526.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/199526.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/199526.html</trackback:ping><description><![CDATA[
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img id="Codehighlighter1_0_58_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_58_Open_Text.style.display='none'; Codehighlighter1_0_58_Closed_Image.style.display='inline'; Codehighlighter1_0_58_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
				<img id="Codehighlighter1_0_58_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_58_Closed_Text.style.display='none'; Codehighlighter1_0_58_Open_Image.style.display='inline'; Codehighlighter1_0_58_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				<span id="Codehighlighter1_0_58_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span>
				<span id="Codehighlighter1_0_58_Open_Text">
						<span style="COLOR: #008080">/*</span>
						<span style="COLOR: #008080"> Formatted on 2008/05/31 12:29 (Formatter Plus v4.8.8) </span>
						<span style="COLOR: #008080">*/</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />MERGE </span>
				<span style="COLOR: #0000ff">INTO</span>
				<span style="COLOR: #000000"> copy_emp a<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />   USING employees b<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />   </span>
				<span style="COLOR: #0000ff">ON</span>
				<span style="COLOR: #000000"> (b.employee_id </span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000"> a.employee_id)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />   </span>
				<span style="COLOR: #0000ff">WHEN</span>
				<span style="COLOR: #000000"> MATCHED </span>
				<span style="COLOR: #0000ff">THEN</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span>
				<span style="COLOR: #0000ff">UPDATE</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </span>
				<span style="COLOR: #0000ff">SET</span>
				<span style="COLOR: #000000"> a.employee_id </span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000"> b.employee_id, a.first_name </span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000"> b.first_name,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />             a.last_name </span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000"> b.last_name, a.email </span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000"> b.email,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />             a.phone_number </span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000"> b.phone_number, a.hire_date </span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000"> b.hire_date,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />             a.job_id </span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000"> b.job_id, a.salary </span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000"> b.salary,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />             a.commission_pct </span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000"> b.commission_pct, a.manager_id </span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000"> b.manager_id,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />             a.department_id </span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000"> b.department_id<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />   </span>
				<span style="COLOR: #0000ff">WHEN</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #808080">NOT</span>
				<span style="COLOR: #000000"> MATCHED </span>
				<span style="COLOR: #0000ff">THEN</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span>
				<span style="COLOR: #0000ff">INSERT</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span>
				<span style="COLOR: #0000ff">VALUES</span>
				<span style="COLOR: #000000"> (b.employee_id, b.first_name, b.last_name, b.email,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />              b.phone_number, b.hire_date, b.job_id, b.salary,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />              b.commission_pct, b.manager_id, b.department_id);</span>
		</div>
		<p> </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">故事就这样发生了：<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="FONT-WEIGHT: bold; COLOR: #800000">1</span>
				<span style="COLOR: #000000">.删除重复记录<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />查出重复记录<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />SQL</span>
				<span style="COLOR: #808080">&gt;</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">select</span>
				<span style="COLOR: #000000"> rowid,bm,mc </span>
				<span style="COLOR: #0000ff">from</span>
				<span style="COLOR: #000000"> a </span>
				<span style="COLOR: #0000ff">where</span>
				<span style="COLOR: #000000"> a.rowid</span>
				<span style="COLOR: #808080">!=</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #0000ff">select</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #ff00ff">max</span>
				<span style="COLOR: #000000">(rowid) </span>
				<span style="COLOR: #0000ff">from</span>
				<span style="COLOR: #000000"> a b </span>
				<span style="COLOR: #0000ff">where</span>
				<span style="COLOR: #000000"> a.bm</span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000">b.bm </span>
				<span style="COLOR: #808080">and</span>
				<span style="COLOR: #000000"> a.mc</span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000">b.mc);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />删除重复记录<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />SQL</span>
				<span style="COLOR: #808080">&gt;</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">delete</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">from</span>
				<span style="COLOR: #000000"> a a </span>
				<span style="COLOR: #0000ff">where</span>
				<span style="COLOR: #000000"> a.rowid</span>
				<span style="COLOR: #808080">!=</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #0000ff">select</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #ff00ff">max</span>
				<span style="COLOR: #000000">(rowid) </span>
				<span style="COLOR: #0000ff">from</span>
				<span style="COLOR: #000000"> a b </span>
				<span style="COLOR: #0000ff">where</span>
				<span style="COLOR: #000000"> a.bm</span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000">b.bm </span>
				<span style="COLOR: #808080">and</span>
				<span style="COLOR: #000000"> a.mc</span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000">b.mc);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">查找重复记录2：</span>
				<span style="COLOR: #0000ff">select</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">column</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">from</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">table</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">group</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">by</span>
				<span style="COLOR: #000000"> clolumn </span>
				<span style="COLOR: #0000ff">having</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #ff00ff">count</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #808080">*</span>
				<span style="COLOR: #000000">)</span>
				<span style="COLOR: #808080">&gt;</span>
				<span style="FONT-WEIGHT: bold; COLOR: #800000">1</span>
		</div>
		<br />
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<strong>关于 FROM a,b 和 a LEFT JOIN b 的区别</strong>
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />给个通俗的解释吧. <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />例表a <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />aid adate <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000"> a1 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000"> a2 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">3</span>
				<span style="COLOR: #000000"> a3 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />表b <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />bid bdate <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000"> b1 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000"> b2 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">4</span>
				<span style="COLOR: #000000"> b4 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />两个表a,b相连接,要取出id相同的字段 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />select </span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000"> from a ,b where a.aid </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> b.bid这是仅取出匹配的数据. <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />此时的取出的是: <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000"> a1 b1 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000"> a2 b2 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />那么left join 指: <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />select </span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000"> from a left join b on a.aid </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> b.bid <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />首先取出a表中所有数据,然后再加上与a,b匹配的的数据 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />此时的取出的是: <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000"> a1 b1 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000"> a2 b2 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">3</span>
				<span style="COLOR: #000000"> a3 空字符 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />同样的也有right join <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />此时的取出的是: <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000"> a1 b1 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000"> a2 b2 <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #000000">4</span>
				<span style="COLOR: #000000"> 空字符 b4<br /><br /><strong>left outer join=left join</strong></span>
		</div>
		<br />
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">获取所有子节点<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000"> r_org.</span><span style="COLOR: #808080">*</span><span style="COLOR: #000000">, dor.dealer_id<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000"> connect_by_root org_id </span><span style="COLOR: #0000ff">AS</span><span style="COLOR: #000000"> root_org_id,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />               connect_by_root org_code </span><span style="COLOR: #0000ff">AS</span><span style="COLOR: #000000"> root_org_code,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />               connect_by_root org_name </span><span style="COLOR: #0000ff">AS</span><span style="COLOR: #000000"> root_org_name,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />               org_id,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />               org_code,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />               org_name<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />          </span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000"> tm_org<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         START </span><span style="COLOR: #0000ff">WITH</span><span style="COLOR: #000000"> org_code </span><span style="COLOR: #808080">LIKE</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">'</span><span style="COLOR: #ff0000">NSC%</span><span style="COLOR: #ff0000">'</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        CONNECT </span><span style="COLOR: #0000ff">BY</span><span style="COLOR: #000000"> PRIOR org_id </span><span style="COLOR: #808080">=</span><span style="COLOR: #000000"> parent_org_id) r_org,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />       tm_dealer_org_relation dor<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> </span><span style="COLOR: #0000ff">WHERE</span><span style="COLOR: #000000"> r_org.org_id </span><span style="COLOR: #808080">=</span><span style="COLOR: #000000"> dor.org_id<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">sybase数据库分页sql：<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #808080">============================</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">set</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">rowcount</span>
				<span style="COLOR: #000000"> </span>
				<span style="FONT-WEIGHT: bold; COLOR: #800000">3</span>
				<span style="COLOR: #000000">(当前记录数</span>
				<span style="COLOR: #808080">=</span>
				<span style="COLOR: #000000">当前页码</span>
				<span style="COLOR: #808080">*</span>
				<span style="COLOR: #000000">每页显示条数)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">select</span>
				<span style="COLOR: #000000"> id </span>
				<span style="COLOR: #0000ff">into</span>
				<span style="COLOR: #000000"> #lishi_operation </span>
				<span style="COLOR: #0000ff">from</span>
				<span style="COLOR: #000000"> operation a </span>
				<span style="COLOR: #0000ff">order</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">by</span>
				<span style="COLOR: #000000"> a.id </span>
				<span style="COLOR: #0000ff">asc</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">set</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">rowcount</span>
				<span style="COLOR: #000000"> </span>
				<span style="FONT-WEIGHT: bold; COLOR: #800000">5</span>
				<span style="COLOR: #000000">(每页显示条数)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">select</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #808080">*</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">from</span>
				<span style="COLOR: #000000"> operation a </span>
				<span style="COLOR: #0000ff">where</span>
				<span style="COLOR: #000000"> a.id </span>
				<span style="COLOR: #808080">not</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #808080">in</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #0000ff">select</span>
				<span style="COLOR: #000000"> id </span>
				<span style="COLOR: #0000ff">from</span>
				<span style="COLOR: #000000"> #lishi_operation) </span>
				<span style="COLOR: #0000ff">order</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">by</span>
				<span style="COLOR: #000000"> a.id </span>
				<span style="COLOR: #0000ff">asc</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">set</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">rowcount</span>
				<span style="COLOR: #000000"> </span>
				<span style="FONT-WEIGHT: bold; COLOR: #800000">0</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">drop</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">table</span>
				<span style="COLOR: #000000"> #lishi_operation</span>
		</div>
<img src ="http://www.blogjava.net/javajohn/aggbug/199526.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2008-05-09 15:58 <a href="http://www.blogjava.net/javajohn/archive/2008/05/09/199526.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>三 十 六 计</title><link>http://www.blogjava.net/javajohn/archive/2007/06/30/127197.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Sat, 30 Jun 2007 01:44:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2007/06/30/127197.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/127197.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2007/06/30/127197.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/127197.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/127197.html</trackback:ping><description><![CDATA[    <b><font color="#cc0000">○总说</font></b><br />    六六三十六，数中有术，术中有数。阴阳燮理，机在其中。机不可设，设则不中。<br /><br />    <font color="#cc0000"><b>○第一套〖胜战计〗</b></font><br />    <b>第01计  瞒天过海</b>    备周则意怠，常见则不疑。阴在阳之内，不在阳之对。太阳，太阴。<br />    <b>第02计  围魏救赵</b>    共敌不如分敌，敌阳不如敌阴。<br />    <b>第03计  借刀杀人</b>    敌已明，友未定，引友杀敌。不自出力，以《损》推演。<br />    <b>第04计  以逸待劳 </b>   困敌之势，不以战。损刚益柔。<br />    <b>第05计  趁火打劫</b>    敌之害大，就势取利，刚决柔也。<br />    <b>第06计  声东击西</b>    敌志乱萃，不虞。坤下兑上之象，利其不自主而取之。<br /><br />   <font color="#cc0000"><b> ○第二套〖敌战计〗</b></font><br />    <b>第07计  无中生有</b>    诳也，非诳也，实其所诳也。少阴、太阴、太阳。<br />    <b>第08计  暗渡陈仓 </b>   示之以动，利其静而有主，“益动而巽”。<br />    <b>第09计  隔岸观火</b>    阳乖序乱，阴以待逆。暴戾恣睢，其势自毙。顺以动豫，豫顺以动。<br />    <b>第10计  笑里藏刀</b>    信而安之，阴以图之。备而后动，勿使有变。刚中柔外也。<br />    <b>第11计  李代桃僵</b>    势必有损，损阴以益阳。<br />    <b>第12计  顺手牵羊 </b>   微隙在所必乘，微利在所必得。少阴，少阳。<br /><br />    <font color="#cc0000"><b>○第三套〖攻战计〗</b></font><br />    <b>第13计  打草惊蛇 </b>   疑以叩实，察而后动。复者，阴之媒也。<br />    <b>第14计  借尸还魂</b>    有用者，不可借；不能用者，求借。借不能用者而用之。匪我求童蒙，童蒙求我。<br />    <b>第15计  调虎离山</b>    待天以困之，用人以诱之，往蹇来返。<br />    <b>第16计  欲擒姑纵</b>    逼则反兵，走则减势。紧随勿迫，累其气力，消其斗志，散而后擒，兵不血刃。需，有孚，光。<br />    <b>第17计  抛砖引玉</b>    类以诱之，击蒙也。<br />    <b>第18计  擒贼擒王</b>    摧其坚，夺其魁，以解其体。龙战于野，其道穷也。<br /><br />    <font color="#cc0000"><b>○第四套〖混战计〗</b></font><br />    <b>第19计  釜底抽薪</b>    不敌其力，而消其势，兑下乾上之象。<br />    <b>第20计  混水摸鱼</b>    乘其阴乱，利其弱而无主。随，以向晦入宴息。<br />    <b>第21计  金蝉脱壳</b>    存其形，完其势；友不疑，敌不动。巽而止蛊。<br />    <b>第22计  关门捉贼 </b>   小敌困之。剥，不利有攸往。<br />    <b>第23计  远交近攻</b>    形禁势格，利从近取，害以远隔。上火下泽。<br />    <b>第24计  假道伐虢  </b>  两大之间，敌胁以从，我假以势。困，有言不信。<br /><br />    <font color="#cc0000"><b>○第五套〖并战计〗</b></font><br />    <b>第25计  偷梁换柱</b>    频更其阵，抽其劲旅，待其自败，而后乘之。曳其轮也。<br />    <b>第26计  指桑骂槐</b>    大凌小者，警以诱之。刚中而应，行险而顺。<br />    <b>第27计  假痴不癫</b>    宁伪作不知不为，不伪作假知妄为。静不露机，云雷屯也。<br />    <b>第28计  上屋抽梯</b>    假之以便，唆之使前，断其援应，陷之死地。遇毒，位不当也。<br />    <b>第29计  树上开花 </b>   借局布势，力小势大。鸿渐于陆，其羽可以为仪也。<br />    <b>第30计  反客为主</b>    乘隙插足，扼其主机，渐之进也。<br /><br />    <font color="#cc0000"><b>○第六套〖败战计〗</b></font><br />    <b>第31计  美人计</b>      兵强者，攻其将；将智者，伐其情。将弱兵颓，其势自萎。利用御寇，顺相保也。<br />    <b>第32计  空城计 </b>     虚者虚之，疑中生疑。刚柔之际，奇而复奇。<br />    <b>第33计  反间计</b>      疑中之疑。比之自内，不自失也。<br />    <b>第34计  苦肉计 </b>     人不自害，受害必真。假真真假，间以得行。童蒙之吉，顺以巽也。<br />    <b>第35计  连环计  </b>    将多兵众，不可以敌，使其自累，以杀其势。在师中吉，承天宠也。<br />    <b>第</b><b>36计  走为上 </b>     全师避敌。左次无咎，未失常也。<br /><img src ="http://www.blogjava.net/javajohn/aggbug/127197.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2007-06-30 09:44 <a href="http://www.blogjava.net/javajohn/archive/2007/06/30/127197.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>历史上的十大乱世枭雄：越王勾践最牛（保存）</title><link>http://www.blogjava.net/javajohn/archive/2007/06/29/126955.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Thu, 28 Jun 2007 17:06:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2007/06/29/126955.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/126955.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2007/06/29/126955.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/126955.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/126955.html</trackback:ping><description><![CDATA[
		<p>历史上的十大乱世枭雄：越王勾践最牛</p>
		<p>    历史上有这样一群人，如果他们不幸生在和平年代，只是一帮一无是处的二流子。在高高在上的正人君子眼里，他们贪婪、好色、奢侈以及为达目的不择手段，仿佛全身上下无一处不讨厌，无一处不烦人，轻财败家丧德败俗这辈子眼看就要毁了。可是有一天，世道突然乱了，所有的一切都没有了秩序，礼法被抛在了一边，道德被践踏在脚下，弱肉强食，一切都要靠枪杆子刀把子说话。正人君子们慌了，吓得纷纷从当权者的位子上跌了下来，逃到一个不被历史所注意的角落，不是凄凄惶惶的“躬耕于南阳”，就是“苟全性命于乱世，不求闻达于诸侯”。他们的理想萎缩到了最小，仅仅是守着二亩地，养活一家三口，捎带着写几本书，骂骂这个跟圣人书里描绘的完全两样儿的世界。<br />    。。。。。。许多年过去了，整个世界又渐渐平静，颠倒的乾坤又被颠倒了过来。正人君子们战战兢兢的把家门打开了一条缝，他们惊奇的发现，帮助他们理清这个乱七八糟的天下的正是那些他们原来鄙视甚至痛恨的二流子们。他们现在一个个混得人模狗样儿的，自己要是还想过的好一点的话，还得到他们手下央求这帮流氓给自己安排个差使。<br />    有些正人君子由于考虑了是否给这些流氓加文盲拍马屁还耽误了时间，连个象样的饭碗都没捧到，最后被安排给这些流氓写各种本纪和传记。毕竟气不过，于是呼利用自己手里的笔恶狠狠的给这些家伙起了个外号——枭雄。</p>
		<p>NO10刘邦<br />这是个彻头彻尾的流氓，而且是个赤裸裸的色鬼。当年在老家的时候就不学好，村东头有个酒店，店里老板娘有点儿姿色，这小子就天天去，每天都喝个烂醉还说胡话。按理说窈窕书女君子好求也没啥，更可气的是你小子要是想泡美女的话到是在人家面前表现的好一点儿啊，他偏不，还老欠人家钱！！！用现在的说法叫“蹭”，不但蹭色还蹭酒，稍微纯粹一点儿的痞子都看他不上。<br />就是这么个东西，居然讨了个美女老婆，还是县长的女儿！！！这个老婆也是蹭的，当年他老丈人吕公是县长，摆酒席请客，来巴结的人太多，最后吕公只好定规矩说想上桌的掏钱，钱多的坐前面，钱少的坐后面。这个二流子听了后就来了，在门口喊：“我出一万块！”吕太公傻了，不知道这是个什么人物，赶紧让进来坐上席。吃也吃了喝也喝了，完事儿了一抹嘴儿就走。吕公伸手要钱，该流氓脑袋一拨楞：“我没钱，反正都吃到肚子里去了，反正也吐不出来，反正我就流氓了，你想怎么着吧。”太公一听更傻了，天知道他是老年痴呆了还是真TMD未卜先知预测该流氓将来会当皇帝，居然当着众人冒了一句：“你有老婆没？没有的话当我女婿怎么样？”来喝酒的宾客听后全倒。<br />这小子娶了媳妇后也不着调，成天游手好闲，他爹看不过去，骂他：“怎么生了你这么个畜生，你瞧瞧你二哥，连种地带做买卖，现在多大的家业，我算看透了，你到死也赶不上他！！！”<br />许多年过去了，这家伙发了，买卖做的全国都是，没一块儿地不跟他家的姓。这家伙没忘了揶揄他老爹一下：“爹，当年你说我不如我二哥刘仲有出息，你看看现在谁的家业大啊？”刘老爹脸红了。。。<br />顺便提一下，这家伙原来叫刘三儿，后来富了后改了个名字，叫刘邦。<br />后来的事儿大伙都知道个大概了，他当了皇帝，可还是改不了范混的毛病。老骂粗口，动不动就来一句：你老子我怎么怎么着，不分场合，不分人物。有一次，一个大臣有事儿找他，推开门一看，我K，大白天的刘邦正在跟他小老婆戚夫人干两口子在被窝里干的事儿，赶紧退出来要跑。刘邦提着裤子就追了出来，上去就摁倒了该大臣，一下子骑人家脖子上了，笑嘻嘻的问：“你怎么看着我就跑，你把我当成什么样的皇帝了？”这个大臣实在是受不了了，心一横：“陛下，你丫挺的就是比纣王还荒淫暴虐的皇帝。”刘邦呢，没生气，哈哈大笑着放开了该大臣，拍了拍他脑袋：“好小子，你很对我的脾气。”<br />混帐指数：9</p>
		<p>NO9曹操<br />这个人就不用说了，前面也谈过了他小时候的一点儿事儿，比如离间他老爹跟叔叔不合之类的。在《裴注》里还写了这样的一个故事：武帝年轻的时候在洛阳做城门小吏，跟袁绍混的很熟，没事儿俩人就在一起喝酒。一天，城郊有一家娶新娘子，曹操跟袁绍说：“乐子来了，敢不敢干一票？”袁绍也是个闯祸的领袖，一下来了兴趣。俩人趁天黑，在人家屋子后面放火，这一家子吓坏了，连新郎带婆家人都出去救火，曹操带着袁绍冲进了新房，伸出了两双罪恶的咸猪手，开始大吃豆腐。把个新娘子吓得尖叫连连，俩人恶作剧够了才跳墙逃跑。<br />后来当了丞相后，虽然正经了一点儿，可是有时候干事儿也确实不和章法，比如前面提到的他杀掉匈奴使者的故事，人家没招惹他，就是一句话评论，心血来潮说杀就杀。还有，在《三国志。裴注》里曾经提到，曹操放荡不堪，而且纵情欢乐的时候一点儿都不注意影响，经常命令手下的一帮文人说笑话，到搞笑的时候，乐得用拳头擂桌子，还爬在桌子上大笑，弄的一脑袋菜汤也不管不顾。你说这成何体统啊。<br />混帐指数：8</p>
		<p>NO8慕容垂<br />在小学的历史课本里说：苻坚在肥水被打败了，然后就亡国了，但是灭了他的并不是东晋。那是谁呢？就是以慕容垂为首的慕容家族。<br />慕容垂跟好多枭雄一样，也受过罪。前燕没有灭国的时候，他就受排挤，被迫逃到西边来，投降了前秦。苻坚对他非常的好，自己的衣服好，就脱下来给他穿，自己吃的好，推过去给他吃。慕容垂也真是能装孙子，恭恭敬敬的侍奉苻坚，对下面呢，也是谁都不敢得罪，日子过的吧也够可怜的。<br />可是有一个人不可怜他，就是王猛，王猛怎么看怎么觉得慕容垂不安分，于是对苻坚说：“慕容垂这个人啊，在燕国的时候就很有威望，你瞧瞧他那几个儿子，个个如狼似虎、才干出众。这个人您一定要想办法除掉！”苻坚大大咧咧的说：“他是走投无路才来的，杀了的话，以后谁敢投降我们？他那几个儿子乳臭未干，没事儿，别自己吓唬自己。”王猛沉吟了一下，觉得苻坚的话头半句有一定道理，就没说什么，可是私下一直在谋划。后来慕容垂的一个小儿子由于想家，偷着逃跑了，被王猛抓了回来，王猛乐坏了，兴冲冲的跑到苻坚那里说：“好了好了，有办法了，这次可以株连到慕容垂了！”苻坚不听：“他儿子犯罪跟他有什么关系啊。”王猛苦口婆心的劝：“您什么事儿不依我都可以，就这件事儿，您一定要听我的。”苻坚说：“我什么事儿都听你的，就这件事儿不成，我一定要做一次主。”王猛吐血。慕容垂听了这事儿以后战战兢兢的来到苻坚那里，磕头如捣蒜。苻坚拉起来安慰了他，还好好鼓励他好好做事，不要听谣言。<br />几年后，王猛死了，苻坚想讨伐东晋，找了好多人商量，大家都不同意。后来找来了慕容垂，慕容垂说：“听别人的干什么？谁还能比陛下您聪明？”这一下马屁拍得正对穴位，苻坚兴奋的拍着慕容垂的肩膀：“跟我成大事的，就是你了！”<br />后来讨伐东晋，慕容垂狡猾的上书苻坚，让自己帅军殿后，果然兵败之后各路大军都受到了不同程度的损伤，只有慕容垂一枝兵马实力未损。苻坚带着亲兵来投靠慕容垂，慕容垂的儿子们劝他把握机会干掉苻坚。慕容垂阴笑着说：“皇帝现在是死定了，回国后肯定叛乱四起，咱们杀了他那就是独自担当了罪名，我才没那么傻呢。不如好好优待他，送他一程，然后在跟他多要点兵，趁机离开他！”于是优待苻坚，苻坚非常感动，傻忽忽的对手下说：“瞧瞧瞧瞧，王景略当年还要我杀了他，我说慕容垂是个好人吧。”结果慕容垂一路收集败散的兵马，势力得到了进一步扩充，过了黄河后，慕容垂趁机对苻坚说：“河北那一带有点儿骚动，让我去办理吧。”苻坚想都没想就答应了。<br />慕容垂渡过黄河，抵达了故国，真如蛟龙入海，立刻打起旗号召集旧部，实力疯长，还利用苻坚给他的合法身份大肆扩充军队。苻坚这个时候才有点儿后悔，让宗师的苻飞龙占据了邺，监视慕容垂，并命令自己手下能征贯战的大将石越进军河北。这个时候慕容垂开始翻脸，买通了丁零族的人，纠集了20多万大军围攻邺郡。并命令儿子慕容农对抗石越的援军。苻坚听说慕容垂开始叛变的时候还不当回事儿：“慕容垂居然用一个小孩子来对抗我的石越！石越的军队装备精良，全都穿着精钢打造的铠甲，而且石越多年征战，经验丰富，慕容垂马上就完蛋！”<br />没有想到慕容农趁夜偷袭，一举摧毁了骄傲轻敌的石越大军，把河北的形势搅得是一片糜烂。关中地区慕容家族的慕容冲、慕容弘趁机造反，不几年，苻坚的政权彻底被摧毁，苻坚在五将山被俘虏杀害。<br />奸雄指数：8.5</p>
		<p>NO7石勒<br />我们都知道闻鸡起舞吧，那闻鸡起舞的租逖过长江，讨伐的主要是谁呢？就是当时北方各国中实力最强大的后赵石勒。<br />石勒建国的时候，西边有势力强大的后秦姚弘，东边有强大的燕国。他代表的是五胡中实力比较若的一胡——羯族，但是他充分的利用了燕国内部的矛盾，极力分化瓦解，一会儿跟这个联盟，一会儿又跟那个联盟。把个欣欣向荣的燕国给搞得乱七八糟，同时出了好几个皇帝。最后燕国的几支子人死的死亡得亡，最后只剩下了慕容德一个，逃到了山东中南部一带搞了个小国家，历史上称做南燕。<br />石勒不怎么认字儿，看书的时候要靠别人读给他听。不过这个人聪明过人，一点就透。比如有一次手下给他读《汉书》，说到：有个谋士给刘邦出主意，让他重新扶植六国的王，用来招揽人心。石勒听到这里大惊：“坏了坏了，听这个人的主意可就完蛋了！”手下赶紧说：“陛下，没事儿，后来张良又劝阻了。”石勒这才放心下来。<br />他还非常倚重一个汉族的知识分子叫——张宾，封他做右侯。给自己出主意，后来张宾死了，他很伤心：“我的右侯死了，我可怎么办啊。”<br />奸雄指数：7</p>
		<p>NO6刘裕<br />这个人的外号叫——寄奴，可见他出身的寒践。小时候有几个铁哥们，一个叫刘毅、另一个就叫做何无忌，仨人怎么认识的呢？在赌桌上认识的，刘毅喜欢赌博，自己呢又没什么钱，还老赌得特别大，有一次在赌场上跟人争吵，被刘裕和何无忌看上了，也不知道为什么，非常对脾气，就开始结交了。后来东晋内部一个姓孙（孙什么来着给忘了）的起来造反，这哥仨终于找了个机会去投军，从此出头。<br />平定叛乱后，他做了个官，可当时在东晋政权里，谁都没有注意到他。当时控制朝廷大权的是宰相桓玄，桓玄呢这个人志大才疏，老想当皇帝，把自己的异己杀了个差不多以后，就谋划着当皇帝。这个时候刘裕觉得机会来了，就跟他两个铁哥们开始举旗造反。桓玄吓坏了，他手下不明白，就问：“这么几个赌棍能成什么事儿啊？”桓玄说：“不是，刘裕这个人足可以称得上是当代英雄了；刘毅呢？一分钱没有，可是赌博的时候却压上了千万身家，可见这个人的胆子；何无忌聪明勇武，跟他舅舅刘牢之（东晋肥水大战的头号功臣）很象，这几个人叛乱，可不能大意。”<br />后来刘裕果然干掉了桓玄，取得了东晋的实权。这时候刘毅不服他了，觉得自己才华怎么看也不在刘裕之下，就开始不满，并在江陵一带准备造反。刘裕假装不知道，还亲哥哥热弟弟的对待刘毅，使他放松了警惕，同时秘密的命令自己的大将王镇恶率领船队秘密的偷袭江陵，等到王镇恶打到江陵的时候，刘毅还没明白怎么回事儿呢就被抓了。<br />后来王镇恶的功劳越来越大，带兵作为先锋进攻关中，一举攻克长安。刘裕把太子留在了关中，他对王镇恶并不放心，就对同时留守的大将沈田子说：“你们给我盯着王镇恶一点儿。”沈田子本来就对王镇恶不服，有点抱怨的说：“怎么盯？兵权在他手里。”刘裕狡猾的说：“咳，你们这么多人，还对付不了他，军队多，他能天天都栓在身边？”后来果然，沈田子出于嫉妒王镇恶就把他杀了，王镇恶功劳大，威望高，举朝尊敬。一听说这个事儿，都齐声痛骂沈田子。这个时候刘裕翻了脸，一边儿给王镇恶正名，一边发布诏书痛骂沈，把沈给逼的最后只好投了外国。<br />后来北魏的皇帝拓拔硅跟大臣崔浩聊天，拓拔硅说：“你说刘裕跟慕容垂相比，谁更厉害点儿？”崔浩想都没想：“当然是刘裕了。”皇帝问：“为什么？”崔浩答道：“慕容垂本来就是亡国的贵族，在故国有一套自己的人际关系，回去以后稍微利用一下，就能纠集起一支队伍。刘裕本身出身是个地痞无赖，身份寒微，短短几年就做了皇帝，当然还是刘裕厉害了！”<br />奸雄指数：9</p>
		<p>NO5高欢<br />高欢死后的庙号叫“神武帝”，他也真行，不亏这个称号，真是又神又武。他年轻的时候吧，跟着北魏的天柱大将军尔朱荣打天下，跟随尔朱荣一举灭掉了河北葛荣发动的叛乱，在战斗中勇猛机智，深得赏识。后来尔朱荣呢？不安分，干脆带兵进攻洛阳，一下子就掌握了北魏的实权。按理说做到这儿也就差不多了，可是尔朱荣这个大老粗他瞎搞，生怕大臣们不服，结果把三百多个大臣给捆起来扔到洛水里去了，还杀害了当朝太后！一下子把自己的名声给搞臭了，这个时候呢？他还是不管，破罐子破摔，一气的胡来，什么强奸宫女啊，侮辱皇帝啊，什么恶心他干什么。<br />高欢这个时候就发现尔朱荣成不了什么事，开始注意疏远他。有人就对尔朱荣说：“高欢这小子不识抬举，干脆别搭理他了。”尔朱荣一阵冷笑：“你们觉得谁以后能代替我？继承我的基业？”手下人说：“当然是您儿子尔朱兆了。”尔朱荣说：“错啦，我那儿子有勇无谋，顶多让他带三千骑兵。你们看着吧，以后统领大军的，一定是贺六混（高欢的小名。）。”高欢听了后很害怕。<br />尔朱荣临死的时候对儿子说：“你要么推高欢做军中的主人，要么就杀了他，反正你别妄想去笼络他。”尔朱兆没怎么往心里去，后来他招高欢来祭奠尔朱荣，高欢真的就来了。上去抱着尔朱荣的灵牌号啕大哭，哭得比尔朱兆还伤心！！！尔朱兆手下有个谋士对他说：“高欢这个家伙是个奸雄，赶快杀了他！”尔朱兆抹着眼泪说：“你瞧瞧人家哭的多伤心，亲爸爸死了也就这样了，太感人了，太感人了。你个没心没肺的东西居然还要我杀这样的好人！”高欢哭完了后，对尔朱兆说：“行了，来了也哭了，总算了了一件心事，我得回去了。”尔朱兆就放他走了，他手下的谋士一个劲儿的怂恿：“高欢回去了，这是放虎归山！”尔朱兆架不住一顿说，就带了人马去追，到了黄河边上，追上了，高欢也带了些兵，驻扎在河边上。尔朱兆让他到自己军中说话，高欢不干，尔朱兆说：“我去你军中，总可以了吧。”这小子还真够胆色，单枪匹马的就来到了高欢的中军，高欢和尔朱荣抱在了一起，放声痛哭：“天柱将军死了，以后我就依靠少主子了！还敢有什么其他的心思啊。”还安排尔朱荣在自己军中住了一夜，手下好多人都劝高欢杀了尔朱兆，高欢死活不干：“你们傻啊，尔朱荣儿子那么多，都想当皇帝，你杀了一个，就帮了其他人的忙。还把我们放在一个众矢之的的位置。留着他，让他们哥几个窝里反，省我们多少事儿！”<br />后来高欢回到了自己的驻地，开始招兵买马，任用了吕婆楼、慕容绍宗一帮文臣武将迅速崛起。可是还是没有公开跟尔朱兆翻脸，后来听说尔朱兆打了一个大败仗，高欢乐坏了，拍着大腿儿叫道：“这下子算是反定了！”军中推他做讨伐尔朱兆的领袖，他还假装不干：“你们没看见葛荣吗？号称百万军队，还是完蛋了，你们拥戴我，除非把命都交到我手里，让我有生杀大权，否则我不干。”推了好几次，最后大家终于答应了。<br />后来高欢就当了北魏的丞相，有个大臣叫宇文泰的跟他不合，这小子也是个奸雄，就劫持了皇帝跑到长安去了。高欢只好另立一个皇帝，从此以后北魏分裂成了两个国家——东魏和西魏。<br />在讨伐西魏的玉碧之战中，由于老打不下来，高欢郁闷死了，临死前对儿子说：“大臣们对我都很忠心，就是侯景不安分，不过没关系，你提拔一下慕容绍宗，以后侯景如果造反，他可以对付。”后来果然侯景造反了，也果然被慕容绍宗打败了，高欢死了死了还不忘记算计人，一代枭雄不让曹操。<br />奸雄指数：9.5</p>
		<p>NO4朱温<br />这家伙前后跟了两个主子，后来看看都不着调，干脆干掉了皇帝自己当主子。张飞骂吕布是三姓家奴，朱温其实也差不多。<br />开始的时候跟着黄巢打天下，也算是一号人物吧，黄巢横扫江南的时候这小子就出了不少的力，后来回军关中攻克长安，朱温也立了功，黄巢就给他一个大官做，把他看成自己的心腹。后来唐朝借了沙陀兵两面夹击黄巢，黄巢有点儿顶不住，朱温这小子看准机会临阵反水，结果黄巢军一下子就完蛋了。<br />他投降了唐朝，由于灭黄巢功劳大，官儿当到了上将军。这小子还有一个优点是嘴甜，看谁巴结谁。有一次开军事会，他看到了沙陀的将领李克用，上去就恭维，说李将军英明神武，是大唐的中流砥柱，而自己呢舔列将位，实在是不称职。李克用是沙陀名将，出身高贵，很瞧不起这种低级马屁，况且他看不上朱温这样的墙头草。翻了下眼皮：“你？还舔列将位？你是个滑头，看着黄巢不行了，找准机会就反草，真是太滑头了。”朱温心里这个气啊，回去以后越想越气，就派兵半夜去围住李克用的府邸。李克用根本没想到朱温这么下三滥，幸亏媳妇和干儿子李存孝都很厉害，保护李克用冲出了重围，可是李克用的家人有不少被乱兵杀死了，从此两帮人结了大仇。<br />朱温赶走了李克用后，自己独抓朝政，这个时候就想起了当皇帝，就派人逼迫皇帝写退位诏书。写了，也拿来了，他还不干，还要玩儿什么“三辞”。假惺惺拉拉扯扯好几回，终于是当上了。按理说禅让禅让，你总得给原来的皇帝皇帝一个好归宿吧，曹丕也没杀汉献帝不是？他不干，还是整了点儿毒药把皇帝给弄死了。这小子也真对不起皇帝给他起的新名字——朱全忠。<br />这一杀可给了李克用一个大把柄，李克用开始号召天下诸侯讨伐朱温，可惜李克用短命，没几年就死了。朱温这个后梁皇帝又稳当了，稳当了以后就开始干坏事儿。这家伙好色，自己有几十个老婆还不满足，宫女他也不放过，最后统统都糟蹋了一遍后又看上了自己的两个儿媳妇！每次出兵打仗自己坐大车，一边搂着自己一个儿媳妇。每次跟士兵训话，士兵们都交头接耳的说：“看，皇帝带着儿媳妇出来了。”<br />奸雄指数：6.5混帐指数：10</p>
		<p>NO3赵匡胤<br />自古开国皇帝没有不奸的，赵匡胤名声算好的了，可是阴事儿也没少干了。比如：<br />例子一：那就要算黄桥兵变了。按道理来说，后周的几个皇帝对赵匡胤非常不错，尤其是周世宗柴荣，对他相当好。提拔、升官、给兵权。柴荣死后赵匡胤年纪轻轻的就做了检点的大官，柴荣还把儿子柴宗训托付给了赵匡胤，可是赵匡胤不满足，想当皇帝，想到周朝对自己不错，不好意思说，老长吁短叹的。就嘱咐自己的铁哥们什么石守信啊、高怀德之流啊就开始为他想办法，后来捏造了个契丹入侵边境，那当然得这个检点出兵讨伐了，到了黄桥这个地方。石守信他们就开始鼓动士兵哗变，非要推他当天子，赵匡胤也真行，死活不答应，还哭着喊着说那样对不起世宗。士兵们不干，上去就把皇帝的衣服给他穿上了，硬架着他回京城。<br />结果后周的孤儿寡母哪儿顶得住这帮虎狼的催逼，写了退位诏书，这就是著名的黄袍加身了。结果呢？赵匡胤登了皇帝位比谁都绝，一刀一个把小皇帝柴宗训和太后给杀了。当然最后毕竟过意不去，对老柴家还是比较优待的，我们看《水浒》为什么那个柴大官人那么牛，什么犯人都敢收留呢？因为他也老柴家的后代，受宋王朝的礼遇，也算是赵匡胤给自己积的点儿阴德吧。<br />例子二：杯酒释兵权；赵匡胤有一点儿不错，什么事儿都喜欢拐弯抹角的干，也不直说，不声不响的把事儿办了还不伤别人的面子。有一次他跟手下一帮将军喝酒，喝着喝着就开始叹气，石守信他们纳闷，就问：“您这是怎么啦？当了皇帝还这么难受？”赵匡胤吧嗒吧嗒嘴叹道：“就是当了皇帝才难受，不瞒哥几个，我现在天天失眠。”几个将军傻了：“为什么啊？”赵匡胤盯着他们把声音放低：“我是你们拥戴的，假如某一天，你们的手下也把黄袍穿到你们身上上，硬逼着你们当皇帝，那你们不干都不成。”石守信他们吓的尿了裤子：“皇上，您给指条活路吧。”赵匡胤说：“你们呢？把兵权交给我，回家去好好的养老，我呢，对待你们还象哥们，以后呢我还要跟你们接亲家，到时候没事儿咱们互相串串门什么的不挺好吗？”这几个将军都听傻了。。。<br />例子三：五代的时候宰相的权利很大，这也成了赵匡胤的一个心事。当时宰相跟皇帝议事的时候都坐着，赵匡胤当了皇帝就觉得这样不爽。于是有一天，他把宰相范质给找来谈事儿。范质捧着个折子大模大样的坐在赵匡胤对面，吐沫星子四贱的在那说，赵匡胤皱着眉头想办法。。。等说的个差不多了，赵匡胤好象不经意的说：“有几处没听明白，你把折子拿过来我看看。”范质站起来走到皇帝跟前把折子递了上去，退回来正要坐，查点蹲了屁墩——凳子让太监给撤了！！！好在范质并不呆，没有傻忽忽的跟皇帝要椅子，就顺势站在了下面，从此以后大宋朝就有了规矩，皇帝坐着，大臣站着。。。<br />奸雄指数：7.5</p>
		<p>NO2朱元璋<br />朱元璋打小也有一帮好哥们，什么徐达啊、汤和啊、邓愈之类的，家都在凤阳。小时候给地主放牛，几个人饿了，没东西吃，朱元璋出主意：“咱们把牛给吃了吧。”这帮孩子都听他的，就动手把牛杀了吃了。吃完后开始发愁回去怎么交代，朱元璋说：“这事儿简单。”于是走到悬崖边把牛尾巴夹在两块石头中间，回去报告说牛自己掉悬崖下面去了，自己拉尾巴也没拉住。把个地主弄得没办法。<br />后来投靠郭子兴的红巾军，郭很喜欢他，就做主把后来的马皇后许配给了他。要说朱元璋真找了个好老婆，一次朱犯事儿被郭关了起来，不给吃的，马皇后就弄了几张烙饼送进去。这个时候郭的手下来了，马皇后赶紧把饼放在衣服里，等那个手下走了后，马皇后把饼拿出来，饼太烫，居然在胸口烫了个大红印，朱元璋摸着马皇后的烫伤哭了。后来郭死了，朱代替了他的位置，势力越来越大。正当他要做大事的时候，坏消息来了，北方的刘福通败了，把红巾军推举的皇帝韩林儿送了过来，朱元璋也是红巾军啊，这个皇帝就成了烫手的山芋，不想要又不能不要。于是就安排手下大将傅友德去接这个韩林儿，在过长江的时候，也不知道这个船是怎么搞的，漏了，傅友德呢自己会水，扔下船跑了，把个皇帝活脱脱的给淹死了！！！为这事儿朱元璋没少哭鼻子，可是傅友德呢？照样当他的大将！一点儿事儿都没有。<br />还有一件事情《明史》就没有记载了，说徐达病了，这个病不能吃发的食品，比如鹅。朱元璋呢？硬给徐达送了个烧鹅，皇帝送的啊，徐达没办法，硬着头皮吃了，果然吃死了。后来把这个历史事件叫——蒸鹅之赐，很多资料中转载过，不知道是真是假。不过看看朱元璋对待功臣的态度，应该差不多。<br />奸雄指数：9<br />NO1越王勾践<br />写到最后才想起这个人来，我的十大里无论如何也要给他留个位置。这小子本来就是个无赖角色，吴越之间是怎么结的仇？就是这个家伙干的好事儿。当年人家孙子伍员讨伐楚国，由于伍员做的太过火，被楚国人借秦兵给打了回来。勾践一看机会来了，就开始骚扰吴的边境，吴王阖闾气不过，带兵过来打。勾践呢？也真行，知道自己打不过，就弄了一帮死刑犯放在阵前，当然事先都重重的赏赐了他们家属。这些死刑犯呢就对吴军大喊：“我们都是越国的士兵，由于以前打了败仗，觉得羞愧，回去没法见故乡人，今天当着敌人自杀！”说完后齐刷刷的抹脖子！！！吴国的军队再厉害也没见过这样的流氓的啊，都腿肚子转筋，于是勾践指挥大军一通杀，把吴国打败了，还把阖闾打得重伤，死了。<br />这小子这一仗靠流氓打法取胜了，可是还有更流氓的呢，他趁着吴大丧，又出兵伐吴！这下子吴同仇敌忾，把他俘虏了。这小子更能装孙子，鞍前马后的侍奉夫差，夫差病了，他居然上去给人家尝粪！！！真是够狠！后来损着更是一个接一个，送美女，送珠宝，捎带着还给离间吴国的两个宰相伍员和伯痞，生生的把个大英雄伍员给弄死了！！！<br />有一件事情也很有代表性，有一次越歉收，向吴借稻种，吴很慷慨的给了越。等吴国歉收了，向越借种子，越居然把种子全部煮了一遍送给了吴，结果粮食没种出来还饿死了不少老百姓。勾践还大言不惭的说吴国的土地不适合种越国的种子，夫差呢，还真信了。<br />后来的事儿大家都知道了，勾践还是趁吴举国远征的时候偷袭了一把，把个吴给弄的疲惫不堪，后来灭了吴。这事儿听起来就觉得吴很冤，从头到尾招谁惹谁了？<br />勾践的所作所为他的大臣范黎看得很清楚，功成之后就找个理由走掉了。临走的时候有点舍不得多年的老伙计文种，忍不住提醒了一下：“大王这个人啊，阴险毒辣，只能共患难，不能同享乐啊，你还是跟我一起走吧。”文种正陶醉在成功的喜悦里，哪里舍得挪窝啊：“吃了这么多年的苦，现在总算出了头，你痴呆啊，就这么走了？”范黎没有办法，自己跑掉了。<br />果然勾践上台后的头一件大事就是处死两个人，一个是伯痞，另一个就是文种。他笑眯眯的给了文种一把剑：“你给我提供了五条灭吴的计谋，我用了三条就把吴给灭了，剩下的两条我也不想听了，你去地下说给先王们听吧。”文种：“。。。。。。”<br />奸雄指数：10</p>
<img src ="http://www.blogjava.net/javajohn/aggbug/126955.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2007-06-29 01:06 <a href="http://www.blogjava.net/javajohn/archive/2007/06/29/126955.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>以史为鉴----也论项目管理</title><link>http://www.blogjava.net/javajohn/archive/2007/06/29/126947.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Thu, 28 Jun 2007 16:16:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2007/06/29/126947.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/126947.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2007/06/29/126947.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/126947.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/126947.html</trackback:ping><description><![CDATA[
		<font style="BACKGROUND-COLOR: #ffffff">
				<strong>     首先说明评选十大伪君子的标准：第一，他们是伪君子，不是大恶人，所以凶狠好杀的秦始皇、楚霸王等人都不算；第二，他们都是隐蔽得很好的伪君子，到现在还受到称赞，至少还存在争议，象王莽那种生前就被揭穿的，虽然也是伪君子，但属于不高明的伪君子，所以也没有列入。<br /><br />舜： <br />舜本来出生贫寒，他的父亲是个盲乐师，知子没如父，瞎眼的老音乐家对自己儿子的底细知道得一清二楚，几次想杀了他，可都被舜逃脱了。后来舜得到了尧的信赖而步步高升，等到掌握了大权之后，就把尧的儿子丹朱杀死，把尧囚禁起来，强迫尧把王位“禅让”给他，另外还接收了尧的两个女儿。他是中国历史上第一个搞“禅让”的人。曹丕娶了汉献帝两个女儿，又逼迫汉献帝禅让之后，得意洋洋地说：“现在我才知道古代的禅让是怎么回事了！” <br /><br />伊尹： <br />伊尹是汤的宰相，汤死后，他辅佐汤的儿子太甲，但不久以后，他就罗列了一堆太甲的罪名，把太甲囚禁在桐宫，自立为王。三年后，太甲在忠于自己的臣子帮助下逃脱，回来诛杀了伊尹。后来，伊尹的形象受到美化，主要是一些执掌权力的大臣想用伊尹做例子，废除他们所不喜欢的皇帝。只要看看后来那些自命伊尹的人，他们和皇帝其实都是你死我活的关系：霍光（死后全家被杀）、董卓（被杀）、孙竣（后来全家被杀）、司马昭（死后儿子篡权）…… <br /><br />刘备： <br />当人们说吕布是三姓家奴的时候，常常把刘备给忘了。刘备起先跟着刘焉，再追随公孙瓒，陶谦给了他一些军队他就投了陶谦，没多久陶谦不明不白死了，两个儿子也死于非命。刘备在徐州混不多久地盘让吕布夺去，他就厚着脸皮在托庇在吕布门下，但吕布终究不信任他，他就随曹操灭了吕布，可一到京城，他又企图对曹操下毒手，最后在徐州反曹，失败后投袁绍，看袁绍不行又投刘表，刘表死后，一个儿子投降了曹操，另一个儿子在刘备手里，年轻轻地据说酒色过度死了。周瑜打败曹仁得到荆州，刘备却厚着脸皮借了荆州一直不肯还，直到最后决裂。刘备最后一次背叛是老上司刘焉的儿子刘璋，《三国演义》里说他不肯夺同宗的地盘，那是胡说八道，他可热心着呢。 <br /><br />诸葛亮： <br />诸葛亮在刘备死后，排挤原来益州的大臣李严等人，执掌大权，还用老子教训儿子的口气对刘禅说话，开一堆名单要刘禅信任，还说宫中府中，俱为一体，意思是全得听他诸葛亮的。可惜诸葛亮死得早，他死的时候儿子也还小，所以没来得及篡位，但是南诸葛，北司马，他们的招数是相似的。 <br /><br />李世民： <br />这个一代明君，有过屠城的记录，也有过杀害兄弟，劫持父亲，篡夺皇位的历史，而且把弟媳妇也收罗进宫来做自己的妃子，完全是个残忍、好杀、好色的家伙，不过唐太宗很会做秀，他杀死兄弟后见高祖，吮着高祖的乳头大哭那一段实在有点恶心人。他不仅改写了历史，还故意在史书里留一段故事，表示他自己是无权过问史书记录的。唐太宗曾嘲笑秦皇汉武迷信不老金丹，最后自己因为吃了金丹中毒而死。 <br /><br />赵构： <br />当人们世世代代通骂秦桧的时候，可曾想到，秦桧不过是一个帮凶而已，没有皇帝的旨意，哪里来十二道金牌，没有皇帝的默许，秦桧怎么可能把一个地位相当于副宰相的大将军以莫须有的罪名冤杀，后来秦桧等人作为替罪羊永远跪在岳飞墓前，宋高宗却啥事没有。 <br /><br />朱熹： <br />朱熹是程朱理学的代表人物，主张“存天理、灭人欲”，在道德上要求非常苛刻，他还用程伊川“饿死事小，失节事大”的理论劝友人的妹妹守节，但他自己却有过逼嫁守寡的弟媳妇以侵夺亡弟产业的隐事。另外，朱熹为了打击报复不赞成自己观点的唐仲友，将一名叫严蕊的妓女严刑拷打，企图逼她承认与唐有男女关系，结果被严蕊拒绝，从这件事看，这个道德家的思想境界不如一个妓女。 <br /><br />海瑞： <br />海瑞有个女儿，才七岁，因为偷吃了别人一个饼，海瑞逼她活活饿死，其实这么小的孩子还不可能自杀，实在是被饿死的。管仲说：易牙为了讨齐恒公的欢心，把自己儿子煮了给他吃，这种人残忍到极点，为了荣华富贵什么事也做得出来，千万不能信任。相比之下，海瑞为了维护自己清官的声誉，能把自己七岁的女儿饿死，其实他的本质和易牙是一丘之貉。 <br /><br />宏历： <br />乾隆帝宏历是个文化的摧残者，但他不象秦始皇那样焚书坑儒，弄得血出刮拉，而是大力提倡小学，让儒们皓首穷经，不问世事。他编订的四库全书，收罗了大量珍本孤本，肆意篡改，再把原著毁掉，许多文字都被改得走了样，特别是涉及对女真人和满人的地方，甚至骂“虏”、“鞑”的都不能幸免。另外乾隆还有一个嗜好，就是把他鉴赏过的古书画都盖上一个八寸见方的“乾隆御赏”，有些画宽不过一尺，也照盖不误，很多名画就被他盖得大煞风景。 <br /><br />洪秀全： <br />一个落第书生，摇身一变成了邪教总头目，还建立了一个政教合一的割据政权，把基督教的教义改得滑稽可笑的闹剧。本来他身死国灭，已经证明了他人间天堂神话的破产，但后来又被不同的人所利用，把他打扮成农民的代言人，民族英雄，所以这个人还是要拎出来揭露一下。</strong>
				<br />
				<font color="#ff0000">以上为转载<br /></font>
				<br />
		</font>
<img src ="http://www.blogjava.net/javajohn/aggbug/126947.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2007-06-29 00:16 <a href="http://www.blogjava.net/javajohn/archive/2007/06/29/126947.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>acegi源码学习之用户登录篇</title><link>http://www.blogjava.net/javajohn/archive/2006/12/06/85898.html</link><dc:creator>javajohn</dc:creator><author>javajohn</author><pubDate>Wed, 06 Dec 2006 09:33:00 GMT</pubDate><guid>http://www.blogjava.net/javajohn/archive/2006/12/06/85898.html</guid><wfw:comment>http://www.blogjava.net/javajohn/comments/85898.html</wfw:comment><comments>http://www.blogjava.net/javajohn/archive/2006/12/06/85898.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/javajohn/comments/commentRss/85898.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javajohn/services/trackbacks/85898.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: acegi								源码学习之用户登录篇								一、查看				applicationContext-acegi-security.xml				配置文件，涉及到登录的配置为：														 1				．																																		&lt;				...&nbsp;&nbsp;<a href='http://www.blogjava.net/javajohn/archive/2006/12/06/85898.html'>阅读全文</a><img src ="http://www.blogjava.net/javajohn/aggbug/85898.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javajohn/" target="_blank">javajohn</a> 2006-12-06 17:33 <a href="http://www.blogjava.net/javajohn/archive/2006/12/06/85898.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>