java里测试时间代码

来源:互联网 发布:淘宝店铺交易数据分析 编辑:程序博客网 时间:2024/05/17 21:56

-------------------------------------------------------------------------

long start=System.currentTimeMillis();//获取最初时间 

createBatch(); //测试的代码段,通常可以将主要算法封装在这里

long end=System.currentTimeMillis();//获取运行结束时间  

System.out.println("程序运行时间:"+(end-start)+"ms");

---------------------------------------------------------------------------------

long start = System.currentTimeMillis();
  createBatch();
  long end = System.currentTimeMillis();
  System.out.println("程序所用时间:" + (end - start) + "ms");

-----------------------------------------------------------------------------------

以运行1000次为例子:

程序所用时间:26601ms
--------------------------------------

源代码如下:

-----------------------------------

package cn.itcase.jdbc2;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class BatchTest {

 /**
  * 批处理
  * @param args
  * @throws SQLException
  */
 public static void main(String[] args) throws SQLException {
  long start = System.currentTimeMillis();
  createBatch();
  long end = System.currentTimeMillis();
  System.out.println("程序所用时间:" + (end - start) + "ms");
  
 }

static void create(int i) throws SQLException {
  Connection conn = null;
  PreparedStatement ps = null;
  ResultSet rs = null;
  try {
   conn = JdbcUtils.getConnection();
   String sql = "insert into user(name,birthday,money) values (?,?,?)";
   ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);//设置主键
   ps.setString(1, "batch name" + i);
   ps.setDate(2, new Date(System.currentTimeMillis()));
   ps.setFloat(3, 100f + i);
   
   ps.executeUpdate();
  } finally {
   JdbcUtils.free(rs, ps, conn);
  }
 }
  
 static void createBatch() throws SQLException {
  Connection conn = null;
  PreparedStatement ps = null;
  ResultSet rs = null;
  try {
   conn = JdbcUtils.getConnection();
   String sql = "insert into user(name,birthday,money) values (?,?,?)";
   ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);//设置主键
   for(int i = 0; i < 10; i++){
   ps.setString(1, "batch name" + i);
   ps.setDate(2, new Date(System.currentTimeMillis()));
   ps.setFloat(3, 100f + i);
   
   ps.addBatch();
   }
   
   int[] is = ps.executeBatch();
  } finally {
   JdbcUtils.free(rs, ps, conn);
  }
 }

}

 

原创粉丝点击