<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/SilentVoid" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/SilentVoid" type="application/rss+xml"></fs:self_link><lastBuildDate>Wed, 09 Jul 2008 17:56:00 GMT</lastBuildDate><title>太虚幻境</title><description>Something mysterious is formed, born in the SilentVoid.</description><item><title>long time no see</title><link>http://blog.csdn.net/SilentVoid/archive/2008/07/09/2629954.aspx</link><wfw:comment>comments/2629954.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2629954.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2629954</trackback:ping><description>差点都忘记了这个blog了……转眼已经工作一年，我是否有什么改变呢？&lt;img src =&quot;aggbug/2629954.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Thu, 10 Jul 2008 01:56:00 +0800</pubDate><author>SilentVoid</author><comments>http://blog.csdn.net/SilentVoid/archive/2008/07/09/2629954.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/SilentVoid/archive/2008/07/09/2629954.aspx</guid><dc:creator>SilentVoid</dc:creator></item><item><title>提醒</title><link>http://blog.csdn.net/SilentVoid/archive/2007/08/19/1750815.aspx</link><wfw:comment>comments/1750815.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/1750815.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1750815</trackback:ping><description>爱因斯坦说：每个人都是宇宙的一部分，是时间和空间都有限的一部分。他把自己的思想和感觉，当成与宇宙其他部分无关的独立经验——这是对自己的心识的一种光学错觉。这种错觉是一种监狱，把我们限制在个人的欲望和身边几个人的感情上。&lt;img src =&quot;aggbug/1750815.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Mon, 20 Aug 2007 06:28:00 +0800</pubDate><author>SilentVoid</author><comments>http://blog.csdn.net/SilentVoid/archive/2007/08/19/1750815.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/SilentVoid/archive/2007/08/19/1750815.aspx</guid><dc:creator>SilentVoid</dc:creator></item><item><title>jstl:优雅的代价</title><link>http://blog.csdn.net/SilentVoid/archive/2007/06/10/1647065.aspx</link><wfw:comment>comments/1647065.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/1647065.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1647065</trackback:ping><description>在毕业设计中用到JSP,转而注意到jstl。缘于对



....
而如果我们使用jstl的标签后:

    select * from friend where username  = ${param.username}


${record.friend_name}

对，就这么短．我们要为此付出的代价仅仅是看看jstl的standard-examples

实际上，所有scriptlet能够做的事情，jstl都可以做，而且更优美．

有一次看到网上有人问道，jstl如何取得服务器端时间？
嗯，是个难题！一不小心，就得把搬出来了，有必要吗？没有！


${now}           //输出时间！

显然，优美的方案是需要少许代价的，就是灵活变通&lt;img src =&quot;aggbug/1647065.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Mon, 11 Jun 2007 04:22:00 +0800</pubDate><author>SilentVoid</author><comments>http://blog.csdn.net/SilentVoid/archive/2007/06/10/1647065.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/SilentVoid/archive/2007/06/10/1647065.aspx</guid><dc:creator>SilentVoid</dc:creator></item><item><title>钱穆《国史大纲-前言、引论》</title><link>http://blog.csdn.net/SilentVoid/archive/2007/03/22/1537854.aspx</link><wfw:comment>comments/1537854.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/1537854.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1537854</trackback:ping><description>凡读本书请先具下列诸信念：
　　一、当信任何一国之国民，尤其是自称知识在水平线以上之国民，对其本国已往历史，应该略有所知。否则最多只算一有知识的人，不能算一有知识的国民。
　　二、所谓对其本国已往历史略有所知者，尤必附随一种对其本国已往历史之温情与敬意。否则只算知道了一些外国史，不得云对本国史有知识。
　　三、所谓对其本国已往历史有一种温情与敬意者，至少不会对其本国历史抱一种偏激的虚无主义，即视本国已往历史为无一点有价值，亦无一处足以使彼满意。亦至少不会感到现在我们是站在已往历史最高之顶点，此乃一种浅薄狂妄的进化观。而将我们当身种种罪恶与弱点，一切诿卸于古人。此乃一种似是而非之文化自谴。
　　四、当信每一国家必待其国民具备上列诸条件者比较渐多，其国家乃再有向前发展之希望。否则其所改进，等于一个被征服国或次殖民地之改进，对其自身国家不发生关系。换言之，此种改进，无异是一种变相的文化征服，乃其文化自身之萎缩与消灭，并非其文化自身之转变与发皇。

引论
一

中国为世界上历史最完备之国家，举其特点有三。一者“悠久”。从黄帝传说以来约得4600余年。从《古竹书纪年》载夏以来，&lt;img src =&quot;aggbug/1537854.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Fri, 23 Mar 2007 02:31:00 +0800</pubDate><author>SilentVoid</author><comments>http://blog.csdn.net/SilentVoid/archive/2007/03/22/1537854.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/SilentVoid/archive/2007/03/22/1537854.aspx</guid><dc:creator>SilentVoid</dc:creator></item><item><title>用电子管的主板？</title><link>http://blog.csdn.net/SilentVoid/archive/2007/01/20/1488200.aspx</link><wfw:comment>comments/1488200.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/1488200.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1488200</trackback:ping><description>了解计算机的人很肯能此时脑中第一个念头就是ENIAC．而实际上在看到计算机界绝迹已久的电子管赫然出现在Aopen的 主板上，我的下巴差点掉到地上去．
当然这个已经不是新闻了．．．是我孤陋寡闻现在才知道,不过Aopen确实也够大胆的，居然真敢就这样把一个电子管直接弄到主板上去，看来对自己的工艺相当有信心啊．．不过再有信心也没有用，毕竟主板上电磁干扰剧烈，就算是上胆管，也是治标不治本的事情．．．再说，又没有给单独的电源，能行么？真要是有敬业精神，应该在机箱面板上戳个洞，把前极装上去，灯泡伸到外面来～朝机箱内的那一面罩个金属壳，再用独立电源供电，那就相当完美了如果再用上好的 Pioneer CD机作信号源那就相当之爽了．．
对不起，稍激动了一下下  LoL
&lt;img src =&quot;aggbug/1488200.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Sat, 20 Jan 2007 09:50:00 +0800</pubDate><author>SilentVoid</author><comments>http://blog.csdn.net/SilentVoid/archive/2007/01/20/1488200.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/SilentVoid/archive/2007/01/20/1488200.aspx</guid><dc:creator>SilentVoid</dc:creator></item><item><title>Solaris10下mysql的pkg安装方法</title><link>http://blog.csdn.net/SilentVoid/archive/2007/01/19/1488099.aspx</link><wfw:comment>comments/1488099.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/1488099.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1488099</trackback:ping><description>花了一晚上才把Apache+PHP+MySQL在Solaris上面搞定，而mysql的安装的确是很容易出问题！


以root登录系统
1从dev.mysql.com网站下载安装文件mysql-5.1.11-beta-solaris10-sparc-64bit.pkg.gz保存到/tmp
2解压缩gz格式安装文件gunzip mysql-5.1.11-beta-solaris10-sparc-64bit.pkg.gz
3建立mysql用户组和用户，并为用户指定home目录
groupadd mysql
useradd -g mysql mysql
mkdir /export/home/mysql
chgrp mysql /export/home/mysql
chown mysql /export/home/mysql
usermod -d /export/home/mysql mysql
可以用su - mysql验证mysql能否登录
4安装pkg
pkgadd -d mysql-5.1.11-beta-solaris10-sparc-64bit.pkg&lt;img src =&quot;aggbug/1488099.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Sat, 20 Jan 2007 06:32:00 +0800</pubDate><author>SilentVoid</author><comments>http://blog.csdn.net/SilentVoid/archive/2007/01/19/1488099.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/SilentVoid/archive/2007/01/19/1488099.aspx</guid><dc:creator>SilentVoid</dc:creator></item><item><title>玩转ptrace(二)</title><link>http://blog.csdn.net/SilentVoid/archive/2007/01/08/1477515.aspx</link><wfw:comment>comments/1477515.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/1477515.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1477515</trackback:ping><description>by Pradeep Padala

Created 2002-11-01 02:00

翻译: Magic.D

 

在第一部分中我们已经看到ptrace怎么获取子进程的系统调用以及改变系统调用的参数。在这篇文章中，我们将要研究如何在子进程中设置断点和往运行中的程序里插入代码。实际上调试器就是用这种方法来设置断点和执行调试句柄。与前面一样，这里的所有代码都是针对i386平台的。

 

附着在进程上

 

在第一部分钟，我们使用ptrace(PTRACE_TRACEME, …)来跟踪一个子进程，如果你只是想要看进程是怎么进行系统调用和跟踪程序的，这个做法是不错的。但如果你要对运行中的进程进行调试，则需要使用 ptrace( PTRACE_ATTACH, ….)

 

当 ptrace( PTRACE_ATTACH, …)在被调用的时候传入了子进程的pid时， 它大体是与ptrace( PTRACE_TRACEME, …)的行为相同的，它会向子进程发送SIGSTOP信号，于是我们可以察看和修改子进程，然后使用 ptrace( PTRACE_&lt;img src =&quot;aggbug/1477515.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Tue, 09 Jan 2007 05:17:00 +0800</pubDate><author>SilentVoid</author><comments>http://blog.csdn.net/SilentVoid/archive/2007/01/08/1477515.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/SilentVoid/archive/2007/01/08/1477515.aspx</guid><dc:creator>SilentVoid</dc:creator></item><item><title>玩转ptrace(一)</title><link>http://blog.csdn.net/SilentVoid/archive/2007/01/08/1477439.aspx</link><wfw:comment>comments/1477439.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/1477439.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1477439</trackback:ping><description>by Pradeep Padala

Created 2002-11-01 02:00

翻译: Magic.D

 

使用ptrace，你可以在用户层拦截和修改系统调用(sys call)

 

你想过怎么实现对系统调用的拦截吗？你尝试过通过改变系统调用的参数来愚弄你的系统kernel吗？你想过调试器是如何使运行中的进程暂停并且控制它吗？

 

你可能会开始考虑怎么使用复杂的kernel编程来达到目的，那么，你错了。实际上Linux提供了一种优雅的机制来完成这些：ptrace系统函数。 ptrace提供了一种使父进程得以监视和控制其它进程的方式，它还能够改变子进程中的寄存器和内核映像，因而可以实现断点调试和系统调用的跟踪。


 

&lt;img src =&quot;aggbug/1477439.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Tue, 09 Jan 2007 03:04:00 +0800</pubDate><author>SilentVoid</author><comments>http://blog.csdn.net/SilentVoid/archive/2007/01/08/1477439.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/SilentVoid/archive/2007/01/08/1477439.aspx</guid><dc:creator>SilentVoid</dc:creator></item><item><title>HUST JudgeOnline 开发日记 3</title><link>http://blog.csdn.net/SilentVoid/archive/2006/12/30/1469113.aspx</link><wfw:comment>comments/1469113.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/1469113.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1469113</trackback:ping><description>关于online judge性能的思考
今年清华大学和上海大学的网络预赛中都出现了比较严重的服务器负载问题，所以我觉得性能问题必须得仔细推敲一下了。有人说可以使用多线程，可是在这里我想帮助是不大的，因为这里基本不存在多少等待的情况，而多线程只是为了将其他进程处在等待某种响应的时候，空闲出来的时间和资源利用起来的方式，对于ACM 题目，这样作的意义不大，因为这里消耗的很多时间是在算法运行过程中的CPU时间，对于计算机来讲，这个时间是守恒的，不会因为来个多线程就多出一些 CPU时间来，相反，在这里使用多线程还会带来附加的开销。我想我们要做的，就是实现一个judge的任务队列，并尽量保证足够的系统资源使得Web Server在任何时候都能够对参赛选手产生及时的信息反馈，我想，在网页上显示一个Pending...总比半天刷不出网页或者干脆是爆出一个错误页面好。
对于我们现有的服务器: P4 2.4 HT, 1G DDR, 我做了一个大概的极限负载估算
假设有200个队伍
总共有8道题目
每个队伍对每道题都提交5次
每次提交，服务器都花2s的时间来处理( 评判时间 + 数据库操作时间&lt;img src =&quot;aggbug/1469113.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Sat, 30 Dec 2006 22:08:00 +0800</pubDate><author>SilentVoid</author><comments>http://blog.csdn.net/SilentVoid/archive/2006/12/30/1469113.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/SilentVoid/archive/2006/12/30/1469113.aspx</guid><dc:creator>SilentVoid</dc:creator></item><item><title>HUST JudgeOnline 开发日记 2</title><link>http://blog.csdn.net/SilentVoid/archive/2006/12/26/1462302.aspx</link><wfw:comment>comments/1462302.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/1462302.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1462302</trackback:ping><description>在上一次的方案中，我用setrlimit来限制子进程对资源的使用量，用非阻塞的wait4函数来进行进程状态的连续监控，还有WIFEXIT, WTERMMSG等一组宏，可以做到对子进程的精确监视与限制，可是内存使用峰值却不能准确测出来。原方案是这样的，在每一轮wait4的时候查看 /proc/$pid/statm或者/proc/$pid/status文件，其中保存有进程的内存使用情况。这样做有一个弊端，就是当进程运行时间相当短的话，是测不到有用的值的，因为我用vfork来产生子进程，此时父进程和子进程是并行的，这样一来，一旦两者相差的时间片比较多，便会有很大误差了，这就好比对连续信号的采样，肯定会有信息丢失的，原方案于是被否决了。那怎么样才能真正正确的监视呢？除非能够对子进程进行逐指令的监控，一旦发现有内存分配相关的syscall,便作统计，显然，当前进程内存占用 ＝ 累计分配内存 － 累计释放内存。
linux下有一个系统函数能够做到这一点:ptrace,功能非常强大，可以对进程进行调试。在网上的资料是非常稀少，这里是一篇相当经典的文章：
Playing with ptrace P&lt;img src =&quot;aggbug/1462302.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Tue, 26 Dec 2006 19:38:00 +0800</pubDate><author>SilentVoid</author><comments>http://blog.csdn.net/SilentVoid/archive/2006/12/26/1462302.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/SilentVoid/archive/2006/12/26/1462302.aspx</guid><dc:creator>SilentVoid</dc:creator></item></channel></rss>