??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲Av永久无码精品一区二区,亚洲人成色777777精品,亚洲中文字幕无码中文字在线http://www.tkk7.com/sybil/zh-cnSat, 10 May 2025 19:10:59 GMTSat, 10 May 2025 19:10:59 GMT60U程?/title><link>http://www.tkk7.com/sybil/archive/2007/02/04/97847.html</link><dc:creator>SYBIL@BLOGJAVA</dc:creator><author>SYBIL@BLOGJAVA</author><pubDate>Sun, 04 Feb 2007 04:28:00 GMT</pubDate><guid>http://www.tkk7.com/sybil/archive/2007/02/04/97847.html</guid><wfw:comment>http://www.tkk7.com/sybil/comments/97847.html</wfw:comment><comments>http://www.tkk7.com/sybil/archive/2007/02/04/97847.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/sybil/comments/commentRss/97847.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/sybil/services/trackbacks/97847.html</trackback:ping><description><![CDATA[ <h1> <font size="4">100行Java代码构徏一个线E池</font> </h1> <p>在现代的操作pȝ中,有一个很重要的概念――线E,几乎所有目前流行的操作pȝ都支持线E,U程来源于操作系l中q程的概念,q程有自q虚拟地址I间以及(qing)正文Dc(din)数据段?qing)堆栈,而且各自占有不同的系l资源(例如文g、环境变量等{)(j)。与此不同,U程不能单独存在Q它依附于进E,只能pE派生。如果一个进E派生出?jin)两个线E,那这两个U程׃n此进E的全局变量和代码段Q但每个U程各拥有各自的堆栈Q因此它们拥有各自的局部变量,U程在UNIXpȝ中还被进一步分为用L(fng)U程Q由q程自已来管理)(j)和系lU程Q由操作pȝ的调度程序来理Q?br /><br />  既然有了(jin)q程Qؓ(f)什么还要提出线E的概念呢?因ؓ(f)与创Z个新的进E相比,创徏一个线E将?x)耗费得多的pȝ资源Q对于一些小型的应用Q可能感觉不到这点,但对于那些ƈ发进E数特别多的应用Q用线E会(x)比用进E获得更好的性能Q从而降低操作系l的负担。另外,U程׃n创徏它的q程的全局变量Q因此线E间的通讯~程?x)更简单,完全可以抛弃传统的进E间通讯的IPC~程Q而采用共享全局变量来进行线E间通讯?br /><br />  有了(jin)上面q个概念Q我们下面就q入正题Q来看一下线E池I竟是怎么一回事Q其实线E池的原理很单,cM于操作系l中的缓冲区的概念,它的程如下Q先启动若干数量的线E,q让q些U程都处于睡眠状态,当客L(fng)有一个新hӞ׃(x)唤醒U程池中的某一个睡眠线E,让它来处理客L(fng)的这个请求,当处理完q个h后,U程又处于睡眠状态。可能你也许?x)问Qؓ(f)什么要搞得q么ȝ(ch)Q如果每当客L(fng)有新的请求时Q我创Z个新的线E不完?jin)?q也许是个不错的Ҏ(gu)Q因为它能得你~写代码相对Ҏ(gu)一些,但你却忽略了(jin)一个重要的问题――性能Q就拿我所在的单位来说Q我的单位是一个省U数据大集中的银?a class="wordstyle" target="_blank"><font color="#002c99">|络</font></a>中心(j)Q高峰期每秒的客L(fng)hq发数超q?00Q如果ؓ(f)每个客户端请求创Z个新U程的话Q那耗费的CPU旉和内存将是惊人的Q如果采用一个拥?00个线E的U程池,那将?x)节U大量的的系l资源,使得更多的CPU旉和内存用来处理实际的商业应用Q而不是频J的U程创徏与销毁?br /><br />  既然一切都明白?jin),那我们就开始着手实C个真正的U程池吧Q线E编E可以有多种语言来实玎ͼ例如C、CQ+、java{等Q但不同的操作系l提供不同的U程API接口Qؓ(f)?jin)让你能更明白线E池的原理而避免陷入烦(ch)琐的API调用之中Q我采用?jin)JAVA语言来实现它Q由于JAVA语言是一U跨q_的语aQ因此你不必Z用不同的操作pȝ而无法编译运行本E序而苦|只要你安装了(jin)JDK1.2以上的版本,都能正确地编译运行本E序。另外JAVA语言本n内|了(jin)U程对象Q而且JAVA语言是完全面像对象的Q因此能够让你更清晰C(jin)解线E池的原理,如果你注意看一下本文的标题Q你?x)发现整个示例程序的代码只有大?00行?br /><br />  本示例程序由三个cL成,W一个是TestThreadPoolc,它是一个测试程序,用来模拟客户端的hQ当你运行它Ӟpȝ首先?x)显C线E池的初始化信息Q然后提CZ从键盘(sh)输入字符Ԍq按下回车键Q这时你?x)发现屏q上昄信息Q告诉你某个U程正在处理你的hQ如果你快速地输入一行行字符Ԍ那么你会(x)发现U程池中不断有线E被唤醒Q来处理你的hQ在本例中,我创Z(jin)一个拥?0个线E的U程池,如果U程池中没有可用U程?jin),pȝ?x)提CZ相应的警告信息,但如果你E等片刻Q那你会(x)发现屏幕上会(x)陆陆l箋(hu)提示有线E进入了(jin)睡眠状态,q时你又可以发送新的请求了(jin)?br /><br />  W二个类是ThreadPoolManagerc,֐思义Q它是一个用于管理线E池的类Q它的主要职责是初始化线E池Qƈ为客L(fng)的请求分配不同的U程来进行处理,如果U程池满?jin),它?x)对你发出警告信息?br /><br />  最后一个类是SimpleThreadc,它是Threadcȝ一个子c,它才真正对客L(fng)的请求进行处理,SimpleThread在示例程序初始化旉处于睡眠状态,但如果它接受C(jin)ThreadPoolManagercdq来的调度信息,则会(x)自己唤醒,q对hq行处理?<br /><br /><br />  首先我们来看一下TestThreadPoolcȝ源码Q?br /><br /><br /><br />//TestThreadPool.java<br />1 import java.io.*;<br />2<br />3<br />4 public class TestThreadPool<br />5 {<br />6 public static void main(String[] args)<br />7 {<br />8 try{<br />9 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));<br />10 String s;<br />11 ThreadPoolManager manager = new ThreadPoolManager(10);<br />12 while((s = br.readLine()) != null)<br />13 {<br />14 manager.process(s);<br />15 }<br />16 }catch(IOException e){}<br />17 }<br />18 } <br /><br /><br /><br />  ׃此测试程序用C(jin)输入输入c,因此W?行导入了(jin)JAVA的基本IO处理包,在第11行中Q我们创Z(jin)一个名为manager的类Q它lThreadPoolManagercȝ构造函C递了(jin)一个gؓ(f)10的参敎ͼ告诉ThreadPoolManagerc:(x)我要一个有10个线E的池,l我创徏一个吧Q第12行至15行是一个无限@环,它用来等待用L(fng)键入Qƈ键入的字符串保存在s变量中,q调用ThreadPoolManagercȝprocessҎ(gu)来将q个hq行处理?br /><br />  下面我们再进一步跟t到ThreadPoolManagercM去,以下是它的源代码Q?br /><br /><br /><br />//ThreadPoolManager.java<br />1 import java.util.*;<br />2<br />3<br />4 class ThreadPoolManager<br />5 {<br />6<br />7 private int maxThread;<br />8 public Vector vector;<br />9 public void setMaxThread(int threadCount)<br />10 {<br />11 maxThread = threadCount;<br />12 }<br />13<br />14 public ThreadPoolManager(int threadCount)<br />15 {<br />16 setMaxThread(threadCount);<br />17 System.out.println("Starting thread pool...");<br />18 vector = new Vector();<br />19 for(int i = 1; i <= 10; i++)<br />20 {<br />21 SimpleThread thread = new SimpleThread(i);<br />22 vector.addElement(thread);<br />23 thread.start();<br />24 }<br />25 }<br />26<br />27 public void process(String argument)<br />28 {<br />29 int i;<br />30 for(i = 0; i < vector.size(); i++)<br />31 {<br />32 SimpleThread currentThread = (SimpleThread)vector.elementAt(i);<br />33 if(!currentThread.isRunning())<br />34 {<br />35 System.out.println("Thread "+ (i+1) +" is processing:" +<br />argument);<br />36 currentThread.setArgument(argument);<br />37 currentThread.setRunning(true);<br />38 return;<br />39 }<br />40 }<br />41 if(i == vector.size())<br />42 {<br />43 System.out.println("pool is full, try in another time.");<br />44 }<br />45 }<br />46 }//end of class ThreadPoolManager <br /><br /><br /><br />  我们先关注一下这个类的构造函敎ͼ然后再看它的process()Ҏ(gu)。第16Q?4行是它的构造函敎ͼ首先它给ThreadPoolManagercȝ成员变量maxThread赋|maxThread表示用于控制U程池中最大线E的数量。第18行初始化一个数lvectorQ它用来存放所有的SimpleThreadc,q时候就充分体现?jin)JAVA语言的优性与艺术性:(x)如果你用C语言的话Q至要?00行以上的代码来完成vector的功能,而且C语言数组只能容纳cdl一的基本数据类型,无法容纳对象。好?jin),闲话说Q第19Q?4行的循环完成q样一个功能:(x)先创Z个新的SimpleThreadc,然后它攑օvector中去Q最后用thread.start()来启动这个线E,Z么要用start()Ҏ(gu)来启动线E呢Q因是JAVA语言中所规定的,如果你不用的话,那这些线E将永远得不到激z,从而导致本CZE序Ҏ(gu)无法q行?br /><br />  下面我们再来看一下process()Ҏ(gu)Q第30Q?0行的循环依次从vector数组中选取SimpleThreadU程Qƈ(g)查它是否处于Ȁzȝ态(所谓激zȝ态是指此U程是否正在处理客户端的hQ,如果处于Ȁzȝ态的话,那(h)l查找vector数组的下一,如果vector数组中所有的U程都处于激zȝ态的话,那它?x)打印出一条信息,提示用户E候再试。相反如果找C(jin)一个睡眠线E的话,那第35Q?8行会(x)Ҏ(gu)q行处理Q它先告诉客L(fng)是哪一个线E来处理q个hQ然后将客户端的hQ即字符串argument转发lSimpleThreadcȝsetArgument()Ҏ(gu)q行处理Qƈ调用SimpleThreadcȝsetRunning()Ҏ(gu)来唤醒当前线E,来对客户端请求进行处理?br /><br />  可能你还对setRunning()Ҏ(gu)是怎样唤醒U程的有些不明白Q那我们现在p入最后一个类QSimpleThreadc,它的源代码如下:(x)<br /><br />//SimpleThread.java<br />1 class SimpleThread extends Thread<br />2 {<br />3 private boolean runningFlag;<br />4 private String argument;<br />5 public boolean isRunning()<br />6 {<br />7 return runningFlag;<br />8 }<br />9 public synchronized void setRunning(boolean flag)<br />10 {<br />11 runningFlag = flag;<br />12 if(flag)<br />13 this.notify();<br />14 }<br />15<br />16 public String getArgument()<br />17 {<br />18 return this.argument;<br />19 }<br />20 public void setArgument(String string)<br />21 {<br />22 argument = string;<br />23 }<br />24<br />25 public SimpleThread(int threadNumber)<br />26 {<br />27 runningFlag = false;<br />28 System.out.println("thread " + threadNumber + "started.");<br />29 }<br />30<br />31 public synchronized void run()<br />32 {<br />33 try{<br />34 while(true)<br />35 {<br />36 if(!runningFlag)<br />37 {<br />38 this.wait();<br />39 }<br />40 else<br />41 {<br />42 System.out.println("processing " + getArgument() + "... done.");<br />43 sleep(5000);<br />44 System.out.println("Thread is sleeping...");<br />45 setRunning(false);<br />46 }<br />47 }<br />48 } catch(InterruptedException e){<br />49 System.out.println("Interrupt");<br />50 }<br />51 }//end of run()<br />52 }//end of class SimpleThread <br /><br />  如果你对JAVA的线E编E有些不太明白的话,那我先在q里单地讲解一下,JAVA有一个名为Thread的类Q如果你要创Z个线E,则必要从ThreadcMl承Qƈ且还要实现Threadcȝrun()接口Q要ȀzM个线E,必须调用它的start()Ҏ(gu)Qstart()Ҏ(gu)?x)自动调用run()接口Q因此用户必drun()接口中写入自q应用处理逻辑。那么我们怎么来控制线E的睡眠与唤醒呢Q其实很单,JAVA语言为所有的对象都内|了(jin)wait()和notify()Ҏ(gu)Q当一个线E调用wait()Ҏ(gu)Ӟ则线E进入睡眠状态,像停在?jin)当前代码上了(jin),也不会(x)?h)l执行它以下的代码了(jin)Q当调用notify()Ҏ(gu)Ӟ则会(x)从调用wait()Ҏ(gu)的那行代码(h)l执行以下的代码Q这个过E有点像~译器中的断点调试的概念。以本程序ؓ(f)例,W?8行调用了(jin)wait()Ҏ(gu)Q则q个U程像凝固?jin)一样停在了(jin)38行上?jin),如果我们在?3行进行一个notify()调用的话Q那U程?x)从W?8行上唤醒Q(h)l从W?9行开始执行以下的代码?jin)?br /><br />  通过以上的讲qͼ我们现在׃隄解SimpleThreadcM(jin)Q第9Q?4行通过讄一个标志runningFlagȀzd前线E,W?5Q?9行是SimpleThreadcȝ构造函敎ͼ它用来告诉客L(fng)启动的是W几可E。第31Q?0行则是我实现的run()接口Q它实际上是一个无限@环,在@环中首先判断一下标志runningFlagQ如果没有runningFlag为false的话Q那U程处理睡眠状态,否则W?2Q?5行会(x)q行真正的处理:(x)先打印用户键入的字符Ԍ然后睡眠5U钟Qؓ(f)什么要睡眠5U钟呢?如果你不加上q句代码的话Q由于计机处理速度q远过你的键盘输入速度Q因此你看到的LW?L(fng)E来处理你的hQ从而达不到演示效果。最后第45行调用setRunning()Ҏ(gu)又将U程|于睡眠状态,{待新请求的到来?br /><br />  最后还有一点要注意的是Q如果你在一个方法中调用?jin)wait()和notify()函数Q那你一定要此Ҏ(gu)|ؓ(f)同步的,即synchronizedQ否则在~译时会(x)报错Qƈ得到一个莫名其妙的消息Q“current thread not owner”(当前U程不是拥有者)(j)?br /><br />  x(chng)为止Q我们完整地实现?jin)一个线E池Q当?dng)q个U程池只是简单地客L(fng)输入的字W串打印C(jin)屏幕上,而没有做M处理Q对于一个真正的企业U运用,本例q是q远不够的,例如错误处理、线E的动态调整、性能优化、(f)界区的处理、客L(fng)报文的定义等{都是值得考虑的问题,但本文的目的仅仅只是让你?jin)解U程池的概念以及(qing)它的单实玎ͼ如果你想成ؓ(f)q方面的高手Q本文是q远不够的,你应该参考一些更多的资料来深入地?jin)解它?br /></p> <img src ="http://www.tkk7.com/sybil/aggbug/97847.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/sybil/" target="_blank">SYBIL@BLOGJAVA</a> 2007-02-04 12:28 <a href="http://www.tkk7.com/sybil/archive/2007/02/04/97847.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>q就不行?jin)?/title><link>http://www.tkk7.com/sybil/archive/2007/02/02/97577.html</link><dc:creator>SYBIL@BLOGJAVA</dc:creator><author>SYBIL@BLOGJAVA</author><pubDate>Fri, 02 Feb 2007 07:54:00 GMT</pubDate><guid>http://www.tkk7.com/sybil/archive/2007/02/02/97577.html</guid><wfw:comment>http://www.tkk7.com/sybil/comments/97577.html</wfw:comment><comments>http://www.tkk7.com/sybil/archive/2007/02/02/97577.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.tkk7.com/sybil/comments/commentRss/97577.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/sybil/services/trackbacks/97577.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_30_192_Open_Image" onclick="this.style.display='none'; Codehighlighter1_30_192_Open_Text.style.display='none'; Codehighlighter1_30_192_Closed_Image.style.display='inline'; Codehighlighter1_30_192_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /> <img id="Codehighlighter1_30_192_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_30_192_Closed_Text.style.display='none'; Codehighlighter1_30_192_Open_Image.style.display='inline'; Codehighlighter1_30_192_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /> <span style="COLOR: #0000ff">for</span> <span style="COLOR: #000000"> (tng)(</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000"> (tng)i (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #000000">1</span> <span style="COLOR: #000000">; (tng)i (tng)</span> <span style="COLOR: #000000"><=</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #000000">10</span> <span style="COLOR: #000000">; (tng)i</span> <span style="COLOR: #000000">++</span> <span style="COLOR: #000000">) (tng)</span> <span id="Codehighlighter1_30_192_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"> <img src="http://www.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_30_192_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /></span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)int (tng)i (tng)= (tng)7;</span> <span style="COLOR: #008000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span> <span style="COLOR: #000000"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)MNPClientThread (tng)mnpct (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #0000ff">new</span> <span style="COLOR: #000000"> (tng)MNPClientThread(i);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)mnpct.start();<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)System.out.println(i);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)}</span> </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 id="Codehighlighter1_30_60_Open_Image" onclick="this.style.display='none'; Codehighlighter1_30_60_Open_Text.style.display='none'; Codehighlighter1_30_60_Closed_Image.style.display='inline'; Codehighlighter1_30_60_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /> <img id="Codehighlighter1_30_60_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_30_60_Closed_Text.style.display='none'; Codehighlighter1_30_60_Open_Image.style.display='inline'; Codehighlighter1_30_60_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000"> (tng)MNPClientThread(</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000"> (tng)i) (tng)</span> <span id="Codehighlighter1_30_60_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"> <img src="http://www.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_30_60_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)</span> <span style="COLOR: #0000ff">this</span> <span style="COLOR: #000000">.count (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)i;<br /><img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /> (tng) (tng) (tng) (tng)}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> <br /> <img id="Codehighlighter1_85_886_Open_Image" onclick="this.style.display='none'; Codehighlighter1_85_886_Open_Text.style.display='none'; Codehighlighter1_85_886_Closed_Image.style.display='inline'; Codehighlighter1_85_886_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /> <img id="Codehighlighter1_85_886_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_85_886_Closed_Text.style.display='none'; Codehighlighter1_85_886_Open_Image.style.display='inline'; Codehighlighter1_85_886_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /> (tng) (tng) (tng) (tng)</span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #0000ff">void</span> <span style="COLOR: #000000"> (tng)run() (tng)</span> <span id="Codehighlighter1_85_886_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"> <img src="http://www.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_85_886_Open_Text"> <span style="COLOR: #000000">{<br /><img id="Codehighlighter1_99_813_Open_Image" onclick="this.style.display='none'; Codehighlighter1_99_813_Open_Text.style.display='none'; Codehighlighter1_99_813_Closed_Image.style.display='inline'; Codehighlighter1_99_813_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_99_813_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_99_813_Closed_Text.style.display='none'; Codehighlighter1_99_813_Open_Image.style.display='inline'; Codehighlighter1_99_813_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)</span> <span style="COLOR: #0000ff">try</span> <span style="COLOR: #000000"> (tng)</span> <span id="Codehighlighter1_99_813_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"> <img src="http://www.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_99_813_Open_Text"> <span style="COLOR: #000000">{<br /><img id="Codehighlighter1_139_803_Open_Image" onclick="this.style.display='none'; Codehighlighter1_139_803_Open_Text.style.display='none'; Codehighlighter1_139_803_Closed_Image.style.display='inline'; Codehighlighter1_139_803_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_139_803_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_139_803_Closed_Text.style.display='none'; Codehighlighter1_139_803_Open_Image.style.display='inline'; Codehighlighter1_139_803_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)</span> <span style="COLOR: #0000ff">for</span> <span style="COLOR: #000000">(</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000"> (tng)i</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">1</span> <span style="COLOR: #000000">;i</span> <span style="COLOR: #000000"><=</span> <span style="COLOR: #000000">800000</span> <span style="COLOR: #000000">;i</span> <span style="COLOR: #000000">++</span> <span style="COLOR: #000000">)</span> <span id="Codehighlighter1_139_803_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"> <img src="http://www.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_139_803_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)StringBuffer (tng)phoneNumber (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #0000ff">new</span> <span style="COLOR: #000000"> (tng)StringBuffer(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">88600</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)phoneNumber.append(count);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)phoneNumber.append(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">0000</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)phoneNumber.append(i);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)Thread.sleep(</span> <span style="COLOR: #000000">800</span> <span style="COLOR: #000000">);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /></span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)System.out.println("****************"+phoneNumber.toString());</span> <span style="COLOR: #008000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span> <span style="COLOR: #000000"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)MNPClientTest (tng)client (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #0000ff">new</span> <span style="COLOR: #000000"> (tng)MNPClientTest();<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)client.runTest(phoneNumber.toString());<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /></span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)java.util.Date (tng)d2 (tng)= (tng)new (tng)java.util.Date();</span> <span style="COLOR: #008000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span> <span style="COLOR: #000000"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)System.out.println(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">Thread (tng)</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #000000">+</span> <span style="COLOR: #000000"> (tng)count (tng)</span> <span style="COLOR: #000000">+</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000"> (tng)Runs</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /></span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)System.out.println(new (tng)java.util.Date());<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /></span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)System.out.println(i);</span> <span style="COLOR: #008000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> </span> <span style="COLOR: #000000"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)}</span> </span> <span style="COLOR: #000000"> <br /> <img id="Codehighlighter1_836_880_Open_Image" onclick="this.style.display='none'; Codehighlighter1_836_880_Open_Text.style.display='none'; Codehighlighter1_836_880_Closed_Image.style.display='inline'; Codehighlighter1_836_880_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /> <img id="Codehighlighter1_836_880_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_836_880_Closed_Text.style.display='none'; Codehighlighter1_836_880_Open_Image.style.display='inline'; Codehighlighter1_836_880_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)}</span> </span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #0000ff">catch</span> <span style="COLOR: #000000"> (tng)(Exception (tng)ex) (tng)</span> <span id="Codehighlighter1_836_880_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"> <img src="http://www.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_836_880_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)ex.printStackTrace();<br /><img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /> (tng) (tng) (tng) (tng)}</span> </span> </div> <br />q行3时左右Q发?jin)不?0Wquery挂?jin)?Q?<br />报这个:(x)<br /><span style="COLOR: #008000; FONT-FAMILY: vt100">Exception in thread "Thread-1" java.lang.OutOfMemoryError: Java heap space<br /><br />我加?Xms128m -Xmx800m q是不行Q是内存泄露吗?Q?/span><img src ="http://www.tkk7.com/sybil/aggbug/97577.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/sybil/" target="_blank">SYBIL@BLOGJAVA</a> 2007-02-02 15:54 <a href="http://www.tkk7.com/sybil/archive/2007/02/02/97577.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>links readhttp://www.tkk7.com/sybil/archive/2007/01/25/95885.htmlSYBIL@BLOGJAVASYBIL@BLOGJAVAThu, 25 Jan 2007 03:59:00 GMThttp://www.tkk7.com/sybil/archive/2007/01/25/95885.htmlhttp://www.tkk7.com/sybil/comments/95885.htmlhttp://www.tkk7.com/sybil/archive/2007/01/25/95885.html#Feedback0http://www.tkk7.com/sybil/comments/commentRss/95885.htmlhttp://www.tkk7.com/sybil/services/trackbacks/95885.html ENUM:
http://www.ptsn.net.cn/article_new/show_article.php?article_id=expert_9039d306-6d61-d622-14d5-43c49c788fef

e164:
http://www.mc21st.net/old/faq/reply.asp?ID=7471

IMSI:
http://zhidao.baidu.com/question/7853752.html

http://baike.baidu.com/view/715091.htm



SYBIL@BLOGJAVA 2007-01-25 11:59 发表评论
]]>
……忘?sh)(jin){正这件事?/title><link>http://www.tkk7.com/sybil/archive/2007/01/21/95119.html</link><dc:creator>SYBIL@BLOGJAVA</dc:creator><author>SYBIL@BLOGJAVA</author><pubDate>Sun, 21 Jan 2007 05:08:00 GMT</pubDate><guid>http://www.tkk7.com/sybil/archive/2007/01/21/95119.html</guid><wfw:comment>http://www.tkk7.com/sybil/comments/95119.html</wfw:comment><comments>http://www.tkk7.com/sybil/archive/2007/01/21/95119.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/sybil/comments/commentRss/95119.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/sybil/services/trackbacks/95119.html</trackback:ping><description><![CDATA[一a隑ְ<img src ="http://www.tkk7.com/sybil/aggbug/95119.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/sybil/" target="_blank">SYBIL@BLOGJAVA</a> 2007-01-21 13:08 <a href="http://www.tkk7.com/sybil/archive/2007/01/21/95119.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>W一?思考题?sh)练习(fn)题[原]http://www.tkk7.com/sybil/archive/2007/01/12/93510.htmlSYBIL@BLOGJAVASYBIL@BLOGJAVAFri, 12 Jan 2007 10:51:00 GMThttp://www.tkk7.com/sybil/archive/2007/01/12/93510.htmlhttp://www.tkk7.com/sybil/comments/93510.htmlhttp://www.tkk7.com/sybil/archive/2007/01/12/93510.html#Feedback0http://www.tkk7.com/sybil/comments/commentRss/93510.htmlhttp://www.tkk7.com/sybil/services/trackbacks/93510.html W一?span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) (tng) 思考题?sh)练习(fn)?/span>

 (tng)

1Q?/span> 什么是Ud通信Q能否说Ud通信是“无U电(sh)通信”?Z么?

Ud通信是指通信双方或至有一方在Ud中进行信息交换的通信方式?/span>

不能Q移动通信是有Uѝ无U相l合的通信方式?/span>

2Q?/span> Ud通信有哪些特点?存在的问题分别用哪些Ҏ(gu)解决Q?/span>

Ud通信是有Uѝ无U相l合的通信方式Q电(sh)波传播条件恶劣,存在严重的多径衰落;强干扰条件下工作Q具有多卜勒效应Q存在阴影区Q盲区)(j)Q用L(fng)常移动?/span>

Ud台必MU要、重量要轅R操作用要便安全,另外Q其成本要低Q在q行Ud通信pȝ的设计时Q必d有一定的抗衰落的能力和储备;Ud通信讑֤必须h良好的选择性,使用自动功率控制?sh)\Q移动通信pȝ在组|时Q必考虑同频q扰Q锁相技术;考虑阴媄(jing)区在|络规划、设|基站时Q位|登记、越区切换及(qing)漫游讉K{跟t交换技术?/span>

3Q?/span> Ud通信常用的工作方式有哪些Q公用蜂H移动电(sh)话系l中使用哪些Q?/span>

单工方式Q半双工方式Q双工方式?/span>

双工?/span>

4Q?/span> 什么是区ӞZ么小区制既能解决频道数有限和用户数增大的矛盾Q又能不断适应用户数增大的需要?

区制是整个服务区划分q个无U区Q每个小无线区分别设|一个基站负责本区的Ud通信的联l和控制Q同时又可在 MSC 的统一控制下,实现区间移动通信的{接及(qing)与市(jng)话网的联pR?/span>

区制中Q每个小Z用一l频道,邻近区使用不同的频道。由于小区内基站服务区域~小Q同频复用距d,所以在整个服务ZQ同一l频道可以多ơ重复用,因而大大提高(sh)(jin)频率利用率。另外,在区域内可根据用L(fng)多少定区的大。随着用户数目的增加,区q可以(h)l划,卛_现“小区分裂”,以适应用户数的增加。因此,区制解决了(jin)大区制中存在的频道数有限而用h不断增加的矛盾,可用户定w大大增加?/span>

5Q?/span> 无线区域的划分ؓ(f)什么采用正六边形小区ŞӞ正六边Ş无线区群构成应满什么条Ӟ

假定整个服务区的地Ş地物相同Qƈ且基站采用全向天U,覆盖面积大体上上一个圆Q即无线区是圆形的。由考虑到多个小区彼此邻接来覆盖整个区域Q用圆内接正多边形代替圆。圆内接正多边Ş彼此L构成q面Ӟ只能是正三角形、正方Ş和正六边形三U面状区域。正六边形,其相d区的中心(j)距离最,便于实现跟踪交换Q其覆盖面积最大,对于同样大小的服务区域,采用正六边Ş构成区制所需的小区数最,x(chng)需基站数最;所需的频率个数最,频率利用率高?/span>

满以下两个条gQ一是若q单位无U区能彼此LQ二是相d位无U区中的同频小Z?j)间隔相{?/span>

6Q?/span> 什么是多信道共用?有何优点Q?/span>

多信道共用是指在|内的大量用户共同n有若q无U信道,q与?jng)话用户共同享有中?h)U相cM。相对于独立信道方式来说Q可以显著提高(sh)道利用率?/span>

7Q?/span> 大容量的Ud通信pȝ采用何种信道选择方式Q有什么优~点Q?/span>

专用呼叫信道方式?/span>

处理一ơ呼叫过E所需的时间很短,所以设立一个专用呼叫信道就可以处理成百上千个用L(fng)呼叫Q适用于大定wpȝ中;׃专门抽出一个信道作呼叫信道Q相对而言Q减了(jin)通话信道的数目,因此对小定wpȝ来说Q是不合的?/span>

8Q?/span> 若需设计一Ud通信pȝQ用户容量要求ؓ(f) 600 P每天每个用户q_呼叫 5 ơ,每次q_占用信道旉?/span> 60 U,呼损率要求ؓ(f) 10% Q忙时击中率?/span> 0.125 Q问需要多信道才能满?/span> 600 个用L(fng)需要?

A/A 用户 =600

A 用户 =CTK/3600=5*60*0.125=37.5/3600

A=6.25

查表得:(x) 9

9Q?/span> 话务量是怎样定义的?什么是呼损率?呼损率与接通话务量的关pd何?

单位旉Q?/span> 1 时Q内呼叫ơ数与每ơ呼叫的q_占用信道旉之积?/span>

当多个信道共用时Q通常L用户数大于信道数Q当多个用户同时要求服务而信道数不够Ӟ只能让一部分用户先通话Q另一部分用户{信道空闲时在通话。后一部分用户因无I闲信道而不能通话Q即为呼叫失败,U呼损。在一个通信pȝ中,造成呼叫p|的概率称为呼叫损失概率,U呼损率?/span>

呼损率ؓ(f)呼叫p|的次Cd叫次C癑ֈ比?/span>

10Q?span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) 爱尔兰呼损表应用的条件是什么?已知 A 用户 =0.02Erl/ 用户Q如果要求呼损率?/span> 10% Q现?/span> 70 个用P需q的频道数为多?如果 920 个用户共?/span> 18 个频道,那么呼损率是多少Q?/span>

每次呼叫相对独立Q互不相养I卛_叫具有随机性,也就是说Q一个用戯求通话的概率与正在通话的用h无关Q每ơ呼叫在旉上都有相同的概率?/span>

A/n=70*0.02/n, A=1.4, 查表?/span> n=4

A/n=920*0.02/n, A=18.4, 查表得呼损率?/span> 20%

11Q?span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) 如何提高频率利用?/a>Q?/span>

频率复用、频率协调和频率规划

12Q?span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) pȝ对移动交换机有哪些特D要求?

用户数据的存储;用户位置的登讎ͼd用户的信令系l识别及(qing)处理Q越区频道{换的处理Q过hӞq距L案存取;路由的控制等?/span>

13Q?span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) 什么是位置登记、一齐呼叫、越区切换、O游?

位置登记是指Ud台向基站发送报文,表明自己所处的位置的过E?/span>

若位|信息表明被呼移动用户在某个位置区,但不知其所处的具体区Q因此,位置区内所有基站一齐呼?gu)呼移动用戯别码Q被叫移动用户应{后Q即由应{小区提供接l服务,pȝ的这U功能称为“一齐呼叫”?/span>

Z(jin)保证通信的连l性,正在通话的移动台从一个小入相?c)另一区Ӟ工作频道从一个无限频道上转换到另一个无限频道上Q而通话不中断,q就是越区切换?/span>

在联|的Ud通信pȝ中,UdC一?/span> MSC 区到另一?/span> MSC 区后Q仍能入|用的通信服务功能UCؓ(f)漫游?/span>



SYBIL@BLOGJAVA 2007-01-12 18:51 发表评论
]]>
junt 4&static importhttp://www.tkk7.com/sybil/archive/2007/01/09/92684.htmlSYBIL@BLOGJAVASYBIL@BLOGJAVATue, 09 Jan 2007 10:02:00 GMThttp://www.tkk7.com/sybil/archive/2007/01/09/92684.htmlhttp://www.tkk7.com/sybil/comments/92684.htmlhttp://www.tkk7.com/sybil/archive/2007/01/09/92684.html#Feedback0http://www.tkk7.com/sybil/comments/commentRss/92684.htmlhttp://www.tkk7.com/sybil/services/trackbacks/92684.htmlhttp://www.ibm.com/developerworks/cn/java/j-junit4.html

逐渐挖掘Static Import
更简单的讉K?rn)态成?br />http://blog.csdn.net/avius/archive/2004/08/27/86744.aspx


SYBIL@BLOGJAVA 2007-01-09 18:02 发表评论
]]>
说说希望…?/title><link>http://www.tkk7.com/sybil/archive/2007/01/06/92177.html</link><dc:creator>SYBIL@BLOGJAVA</dc:creator><author>SYBIL@BLOGJAVA</author><pubDate>Sat, 06 Jan 2007 15:54:00 GMT</pubDate><guid>http://www.tkk7.com/sybil/archive/2007/01/06/92177.html</guid><wfw:comment>http://www.tkk7.com/sybil/comments/92177.html</wfw:comment><comments>http://www.tkk7.com/sybil/archive/2007/01/06/92177.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/sybil/comments/commentRss/92177.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/sybil/services/trackbacks/92177.html</trackback:ping><description><![CDATA[ (tng) (tng) (tng) 《妙手h?》,廖碧儿和一脑科ȝ刚刚做医生,看到急症室一病h无论如何也抢救不q来Q一阵唏嘘……林保A走过去,问他们做ȝ是ؓ(f)?jin)什么?两个医生说是救L伤……林否定Q说人的生命不是ȝ能够掌握的,你们不必耿耿于怀。随后,两h问林Q那你ؓ(f)什么要做医生?林答Q希望,l病人希望…?br /> (tng) (tng) (tng) 另:(x)……这个省略号以前一直不知道是怎么打出来的Q刚看韩寒的blog有说Q终于学?x)?jin)Q原来他也不?x),哈哈……再也不用。。。。。。了(jin)<br /> (tng) (tng) (tng) C?jin)是谢夫特?哦^^<img src ="http://www.tkk7.com/sybil/aggbug/92177.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/sybil/" target="_blank">SYBIL@BLOGJAVA</a> 2007-01-06 23:54 <a href="http://www.tkk7.com/sybil/archive/2007/01/06/92177.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JUnit使用l验(1)(2)(3)http://www.tkk7.com/sybil/archive/2007/01/05/92031.htmlSYBIL@BLOGJAVASYBIL@BLOGJAVAFri, 05 Jan 2007 09:01:00 GMThttp://www.tkk7.com/sybil/archive/2007/01/05/92031.htmlhttp://www.tkk7.com/sybil/comments/92031.htmlhttp://www.tkk7.com/sybil/archive/2007/01/05/92031.html#Feedback1http://www.tkk7.com/sybil/comments/commentRss/92031.htmlhttp://www.tkk7.com/sybil/services/trackbacks/92031.htmlhttp://www.z6688.com/info/27393-1.htm

http://www.z6688.com/info/27394-1.htm

http://www.z6688.com/info/27392-1.htm

比较有用的是试执行序那锅和不必写捕获异常的那锅?img src ="http://www.tkk7.com/sybil/aggbug/92031.html" width = "1" height = "1" />

SYBIL@BLOGJAVA 2007-01-05 17:01 发表评论
]]>
links read 1.3http://www.tkk7.com/sybil/archive/2007/01/03/91625.htmlSYBIL@BLOGJAVASYBIL@BLOGJAVAWed, 03 Jan 2007 12:53:00 GMThttp://www.tkk7.com/sybil/archive/2007/01/03/91625.htmlhttp://www.tkk7.com/sybil/comments/91625.htmlhttp://www.tkk7.com/sybil/archive/2007/01/03/91625.html#Feedback0http://www.tkk7.com/sybil/comments/commentRss/91625.htmlhttp://www.tkk7.com/sybil/services/trackbacks/91625.html
http://zhidao.baidu.com/question/5236768.html?si=3

SYBIL@BLOGJAVA 2007-01-03 20:53 发表评论
]]>
Blog linkshttp://www.tkk7.com/sybil/archive/2006/12/25/89904.htmlSYBIL@BLOGJAVASYBIL@BLOGJAVAMon, 25 Dec 2006 06:48:00 GMThttp://www.tkk7.com/sybil/archive/2006/12/25/89904.htmlhttp://www.tkk7.com/sybil/comments/89904.htmlhttp://www.tkk7.com/sybil/archive/2006/12/25/89904.html#Feedback0http://www.tkk7.com/sybil/comments/commentRss/89904.htmlhttp://www.tkk7.com/sybil/services/trackbacks/89904.html
http://zhidao.baidu.com/question/14085848.html?si=5

http://zhidao.baidu.com/question/11419446.html?md=3



SYBIL@BLOGJAVA 2006-12-25 14:48 发表评论
]]>
վ֩ģ壺 avպavŷv| ůůձ| ˾þþƷӰԺ| ƬaëƬ| þùƷѹۿ| ɫһëƬѿ| ɫϰƵ߹| þ޾Ʒ| | ޹ƷYW߹ۿ| þþƷaһվ| ߹ۿƵ| һaƬػ߹ۿѿ һa | ѿһëƬ| **ʵëƬѹۿ| 97Ƶ| һѵӰ| ŮվƵ| avƷר߹ۿ| Ƶһ߲| AVպAVþþ| ޳avƬ߹ۿ벻| ˳վɫ| Ƶ߹ۿ| ȾѾƷ| ԻƤȫƵѹ30| Ұ߹ۿ| Ʒɫѿ| þþþþþƷͼƬ| ŮƵƵƵҳ| aƬѹۿ| AVվ| ԻȫƵ߹ۿ| ĻƷ| ˿appַios| þëƬѿһ| þþþþþþþѾƷ| ¾þþþa| ˶wwwҹվ| 99ƵֻоƷ| 99þù-99þù|