|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
进而能拉拢大多数程序员用windows产品。并且从ASP.NETAJAX可以跨平台这一点上,间接证明了我们的推断,至少证明了微软做过这方面的研究。所以如果哪一天突然听说了.net可以跨平台了,那么请不要吃惊,如果这一天真的到来,java就到了真正和.net决战的时刻。因为不到万不得以的时候微软是不会推出跨平台的.net的,如果跨平台的.net还不足以对抗java的话,那么微软还剩的手段就是开源了,呵呵。js<Pstyle="TEXT-INDENT:2em">PrimeNumbers.java 注重,该Servlet要用到后面给出的ServletUtilities.java。别的还要用到:PrimeList.java,用于在背景线程中创立一个素数的Vector;Primes.java,用于随机天生BigInteger范例的年夜数字,反省它们是不是是素数。(此处略往PrimeList.java和Primes.java的代码。)
packagehall;
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
importjava.util.*;
publicclassPrimeNumbersextendsHttpServlet{
privatestaticVectorprimeListVector=newVector();
privatestaticintmaxPrimeLists=30;
publicvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsServletException,IOException{
intnumPrimes=ServletUtilities.getIntParameter(request,"numPrimes",50);
intnumDigits=ServletUtilities.getIntParameter(request,"numDigits",120);
PrimeListprimeList=findPrimeList(primeListVector,numPrimes,numDigits);
if(primeList==null){
primeList=newPrimeList(numPrimes,numDigits,true);
synchronized(primeListVector){
if(primeListVector.size()>=maxPrimeLists)
primeListVector.removeElementAt(0);
primeListVector.addElement(primeList);
}
}
VectorcurrentPrimes=primeList.getPrimes();
intnumCurrentPrimes=currentPrimes.size();
intnumPrimesRemaining=(numPrimes-numCurrentPrimes);
booleanisLastResult=(numPrimesRemaining==0);
if(!isLastResult){
response.setHeader("Refresh","5");
}
response.setContentType("text/html");
PrintWriterout=response.getWriter();
Stringtitle="Some"+numDigits+"-DigitPrimeNumbers";
out.println(ServletUtilities.headWithTitle(title)+
"<BODYBGCOLOR=\"#FDF5E6\">\n"+
"<H2ALIGN=CENTER>"+title+"</H2>\n"+
"<H3>Primesfoundwith"+numDigits+
"ormoredigits:"+numCurrentPrimes+".</H3>");
if(isLastResult)
out.println("<B>Donesearching.</B>");
else
out.println("<B>Stilllookingfor"+numPrimesRemaining+
"more<BLINK>...</BLINK></B>");
out.println("<OL>");
for(inti=0;i<numCurrentPrimes;i++){
out.println("<LI>"+currentPrimes.elementAt(i));
}
out.println("</OL>");
out.println("</BODY></HTML>");
}
publicvoiddoPost(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
//反省是不是存在同范例哀求(已完成,大概正在盘算)。
//如存在,则前往现有了局而不是启动新的背景线程。
privatePrimeListfindPrimeList(VectorprimeListVector,
intnumPrimes,
intnumDigits){
synchronized(primeListVector){
for(inti=0;i<primeListVector.size();i++){
PrimeListprimes=(PrimeList)primeListVector.elementAt(i);
if((numPrimes==primes.numPrimes())&&
(numDigits==primes.numDigits()))
return(primes);
}
return(null);
}
}
}
PrimeNumbers.html
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<TITLE>年夜素数盘算</TITLE>
</HEAD>
<CENTER>
<BODYBGCOLOR="#FDF5E6">
<FORMACTION="/servlet/hall.PrimeNumbers">
<B>要盘算几个素数:</B>
<INPUTTYPE="TEXT"NAME="numPrimes"VALUE=25SIZE=4><BR>
<B>每一个素数的位数:</B>
<INPUTTYPE="TEXT"NAME="numDigits"VALUE=150SIZE=3><BR>
<INPUTTYPE="SUBMIT"VALUE="入手下手盘算">
</FORM>
</CENTER>
</BODY>
</HTML>
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点, |
|