Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 351|回复: 0

[jsp学习]jsp或者说JAVA到底有多快?

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-1 12:12:35 | 显示全部楼层 |阅读模式
    这里是一个计时类,看java虚拟机做10200000次加法操作需要多少时间,同时支持JAVA application和JSP。 一、测试的java版本:(这个结果应与CPU有关)
    D:java>java -version
    java version "1.4.2_03"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
    Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)  

      
      
    程序的运行结果:  D:java>java Timing
    序号   名称                           时间            耗时(秒)
    1     10000000次加法操作      9:11:2.354    无
    2     10000000次加法完毕      9:11:3.215    0.861
    3     做100000次加法完毕      9:11:3.225    0.01
    4     做100000次加法完毕      9:11:3.235    0.01 总计耗时: 0.881 秒 D:java> 二、点击这里在JSP中测试 三、源码
      
       
       
         
       

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

      
      
       
       

         
       

         
       
      



    源码下载:http://file.javaxxz.com/2014/10/1/121235031.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-1 10:44 , Processed in 0.369018 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表