⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0162.htm

📁 JspServlet教程专栏 对javaservlet讲述的非常详细
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center"><big><strong>一个计时类</strong></big></p>
<div align="right">---&nbsp;(文/SonyMusic)</div>

<br>package&nbsp; sony.utils;<br>
<br>
import&nbsp; java.util.*;<br>
import&nbsp; javax.servlet.jsp.*;<br>
/**<br>
*&nbsp; 一个计时类。<br>
*&nbsp; 创建日期:(2000-11-6&nbsp; 13:09:38)<br>
*&nbsp; 作者:SonyMusic(sonymusic@china.com)<br>
*/<br>
public&nbsp; class&nbsp; Timing{<br>
private&nbsp; ArrayList&nbsp; nameArray=new&nbsp; ArrayList();<br>
private&nbsp; ArrayList&nbsp; timeArray=new&nbsp; ArrayList();<br>
private&nbsp; javax.servlet.jsp.JspWriter&nbsp; out;<br>
private&nbsp; boolean&nbsp; inJsp=false;<br>
/**<br>
*&nbsp; 这个构造器是在JAVA中用的。<br>
*/<br>
public&nbsp; Timing()&nbsp; {<br>
super();<br>
this.inJsp=false;<br>
}<br>
/**<br>
*&nbsp; Timing&nbsp; 构造,这个构造 器是在JSP中用的。<br>
*/<br>
public&nbsp; Timing(javax.servlet.jsp.PageContext&nbsp; pageContext)&nbsp; {<br>
super();<br>
this.out=pageContext.getOut();<br>
this.inJsp=true;<br>
}<br>
/**<br>
*&nbsp; 此处插入方法说明。<br>
*&nbsp; 创建日期:(2000-11-6&nbsp; 13:40:36)<br>
*&nbsp; @param&nbsp; name&nbsp; java.lang.String<br>
*/<br>
public&nbsp; void&nbsp; add(String&nbsp; name)&nbsp; {<br>
if(name==null&nbsp; //&nbsp; name.length()==0)&nbsp; name="Default";<br>
//if(name.length()>7)&nbsp; name=name.substring(0,7);<br>
nameArray.add(name);<br>
timeArray.add(Calendar.getInstance());<br>
}<br>
/**<br>
*&nbsp; 这里是在JAVA中用法。<br>
*&nbsp; 创建日期:(2000-11-6&nbsp; 14:39:43)<br>
*&nbsp; @param&nbsp; args&nbsp; java.lang.String[]<br>
*/<br>
public&nbsp; static&nbsp; void&nbsp; main(String[]&nbsp; args)&nbsp; {<br>
Timing&nbsp; time=new&nbsp; Timing();<br>
time.add("Start");<br>
Random&nbsp; ran=new&nbsp; Random();<br>
int&nbsp; i=0,j=0;<br>
for(i=0;i&lt;10000000;i++)<br>
j+=ran.nextInt();<br>
time.add("After&nbsp; 100");<br>
for(i=0;i&lt;100000;i++)<br>
j+=ran.nextInt();<br>
time.add("After&nbsp; 100000");<br>
for(i=0;i&lt;100000;i++)<br>
j+=ran.nextInt();<br>
time.add("After&nbsp; 100000");<br>
time.show();<br>
}<br>
/**<br>
*&nbsp; 此处插入方法说明。<br>
*&nbsp; 创建日期:(2000-11-6&nbsp; 13:43:24)<br>
*/<br>
public&nbsp; void&nbsp; show()&nbsp; {<br>
if(inJsp)<br>
showInJsp();<br>
else<br>
showInJava();<br>
<br>
}<br>
/**<br>
*&nbsp; 此处插入方法说明。<br>
*&nbsp; 创建日期:(2000-11-6&nbsp; 13:46:06)<br>
*/<br>
private&nbsp; void&nbsp; showInJava()&nbsp; {<br>
if(nameArray.isEmpty()){<br>
System.out.println("尚未增加计时点!");<br>
return;<br>
}<br>
Calendar&nbsp; oldCal=null,cal=null,firstCal;<br>
//=Calendar.getInstance()<br>
String&nbsp; name;<br>
firstCal=(Calendar)timeArray.get(0);<br>
System.out.println("序号\t\t名称\t\t\t\t时间\t\t\t\t耗时(秒)");<br>
for(int&nbsp; i=0;i&lt;nameArray.size();i++){<br>
name=(String)nameArray.get(i);<br>
cal=(Calendar)timeArray.get(i);<br>
System.out.print(i+1);<br>
System.out.print("\t\t\t");<br>
System.out.print(name+"\t\t\t\t");<br>
System.out.print(cal.get(Calendar.HOUR_OF_DAY)+":"+cal.get(Calendar.MINUTE)+":"+cal.get(Calendar.SECOND)+"."+cal.get(Calendar.MILLISECOND));<br>
System.out.print("\t\t\t\t");<br>
if(oldCal==null){<br>
System.out.println("无");<br>
}<br>
else{<br>
long&nbsp; diffTime=cal.getTime().getTime()-oldCal.getTime().getTime();<br>
System.out.println((double)diffTime/1000);<br>
}<br>
oldCal=cal;<br>
}<br>
System.out.println("");<br>
if(nameArray.size()==1){<br>
System.out.println("只增加了一个计时点,无法统计时间!");<br>
}<br>
else{<br>
long&nbsp; diffTime=oldCal.getTime().getTime()-firstCal.getTime().getTime();<br>
System.out.println("总计耗时:&nbsp; "+(double)diffTime/1000+"&nbsp; 秒");<br>
}<br>
}<br>
/**<br>
*&nbsp; 此处插入方法说明。<br>
*&nbsp; 创建日期:(2000-11-6&nbsp; 13:57:56)<br>
*/<br>
private&nbsp; void&nbsp; showInJsp()&nbsp; {<br>
try&nbsp; {<br>
if&nbsp; (nameArray.isEmpty())&nbsp; {<br>
return;<br>
}<br>
Calendar&nbsp; oldCal&nbsp; =&nbsp; null,&nbsp; cal&nbsp; =&nbsp; null,&nbsp; firstCal;<br>
String&nbsp; name;<br>
long&nbsp; diffTime;<br>
firstCal&nbsp; =&nbsp; (Calendar)&nbsp; timeArray.get(0);<br>
System.out.println("序号\t\t名称\t\t\t\t时间\t\t\t\t耗时(秒)");<br>
String&nbsp; str&nbsp; =&nbsp; "";<br>
str&nbsp; +=&nbsp; "&lt;table&nbsp; width=\"400\"&nbsp; border=\"1\"&nbsp; cellspacing=\"0\"&nbsp; cellpadding=\"0\">";&nbsp; <br>
str&nbsp; +=&nbsp; "&lt;tr>&lt;td>序号&lt;/td>&lt;td>名称&lt;/td>&lt;td>时间&lt;/td>&lt;td>耗时(秒)&lt;/td>&lt;/tr>";<br>
for&nbsp; (int&nbsp; i&nbsp; =&nbsp; 0;&nbsp; i&nbsp; &lt;&nbsp; nameArray.size();&nbsp; i++)&nbsp; {<br>
str&nbsp; +=&nbsp; "&lt;tr>";<br>
name&nbsp; =&nbsp; (String)&nbsp; nameArray.get(i);<br>
cal&nbsp; =&nbsp; (Calendar)&nbsp; timeArray.get(i);<br>
str&nbsp; +=&nbsp; "&lt;td>";<br>
str&nbsp; +=&nbsp; i&nbsp; +&nbsp; 1;<br>
str&nbsp; +=&nbsp; "&lt;/td>";<br>
str&nbsp; +=&nbsp; "&lt;td>"&nbsp; +&nbsp; name&nbsp; +&nbsp; "&lt;/td>";<br>
str&nbsp; +=&nbsp; "&lt;td>"<br>
+&nbsp; cal.get(Calendar.HOUR_OF_DAY)<br>
+&nbsp; ":"<br>
+&nbsp; cal.get(Calendar.MINUTE)<br>
+&nbsp; ":"<br>
+&nbsp; cal.get(Calendar.SECOND)<br>
+&nbsp; "."<br>
+&nbsp; cal.get(Calendar.MILLISECOND)<br>
+&nbsp; "&lt;/td>";&nbsp; <br>
if&nbsp; (oldCal&nbsp; ==&nbsp; null)&nbsp; {<br>
//System.out.println("无");<br>
str&nbsp; +=&nbsp; "&lt;td>无&lt;/td>";<br>
}&nbsp; else&nbsp; {<br>
diffTime&nbsp; =&nbsp; cal.getTime().getTime()&nbsp; -&nbsp; oldCal.getTime().getTime();<br>
str&nbsp; +=&nbsp; "&lt;td>"&nbsp; +&nbsp; (double)&nbsp; diffTime&nbsp; /&nbsp; 1000&nbsp; +&nbsp; "&lt;/td>";<br>
}<br>
oldCal&nbsp; =&nbsp; cal;<br>
str&nbsp; +=&nbsp; "&lt;/tr>";<br>
}<br>
str&nbsp; +=&nbsp; "&lt;tr>&lt;td&nbsp; colspan=\"4\">";<br>
<br>
if&nbsp; (nameArray.size()&nbsp; ==&nbsp; 1)&nbsp; {<br>
str&nbsp; +=&nbsp; "只增加了一个计时点,无法统计时间!";<br>
}&nbsp; else&nbsp; {<br>
diffTime&nbsp; =&nbsp; oldCal.getTime().getTime()&nbsp; -&nbsp; firstCal.getTime().getTime();<br>
str&nbsp; +=&nbsp; "总计耗时:&nbsp; "&nbsp; +&nbsp; (double)&nbsp; diffTime&nbsp; /&nbsp; 1000&nbsp; +&nbsp; "&nbsp; 秒";<br>
}<br>
str&nbsp; +=&nbsp; "&nbsp;&lt;/td>&lt;/tr>";<br>
str&nbsp; +=&nbsp; "&lt;/table>";<br>
out.println(str);<br>
}&nbsp; catch&nbsp; (java.io.IOException&nbsp; e)&nbsp; {<br>
}<br>
<br>
}<br>
}<br>
<br>
<br>
以下是在JSP中的用法<br>
<br>
&lt;%@&nbsp; page&nbsp; contentType="text/html;charset=gb2312"%><br>
&lt;%@&nbsp; page&nbsp; import="sony.utils.*,java.util.*"%><br>
&lt;html><br>
&lt;head><br>
&lt;title>Untitled&lt;/title><br>
&lt;/head><br>
<br>
&lt;body><br>
&lt;%<br>
Timing&nbsp; time=new&nbsp; Timing(pageContext);<br>
time.add("Start");<br>
Random&nbsp; ran=new&nbsp; Random();<br>
int&nbsp; i=0,j=0;<br>
for(i=0;i&lt;1000000;i++)<br>
j+=ran.nextInt();<br>
<br>
time.add("After&nbsp; 100");<br>
for(i=0;i&lt;100000;i++)<br>
j+=ran.nextInt();<br>
time.add("After&nbsp; 100000");<br>
for(i=0;i&lt;100000;i++)<br>
j+=ran.nextInt();<br>
time.add("After&nbsp; 100000");<br>
<br>
time.show();<br>
%><br>
&lt;/body><br>
&lt;/html>

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -