「java方法执行时间长」java代码执行速度
本篇文章给大家谈谈java方法执行时间长,以及java代码执行速度对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java中怎么计算一个方法执行时,耗费多少毫秒
1.后台统计方法执行时间,显示为秒级别
long
startTime=System.currentTimeMillis();
//执行方法
long
endTime=System.currentTimeMillis();
float
excTime=(float)(endTime-startTime)/1000;
System.out.println("执行时间:"+excTime+"s");
2.前台统计时间,显示为秒级别
var
st=new
Date();
//执行方法
var
et=new
Date();
var
execTime=(et-st)/1000;
var
et
=
document.getElementById("time");
et.innerHTML
="执行时间:"+execTime+"s";
不过从Firefox的firebug调试工具统计时间来看,前台统计时间比真实时间短,
调试工具统计的时间跟后台统计的时间相近,且稍长,合情理,所以前台统计数据直接从后台取。
3.得出查询速度的方法是:
在各个select语句前加:
declare
@d
datetime
set
@d=getdate()
并在select语句后加:
select
[语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())
java代码运行10次的时间
此方法为 Java 内置的方法,使用 System.currentTimeMillis 来执行统计的时间(统计单位:毫秒)(统计单位:毫秒),示例代码如下:
public class TimeIntervalTest {
public static void main(String[] args) throws InterruptedException {
// 开始时间
long stime = System.currentTimeMillis();
// 执行时间(1s)
Thread.sleep(1000);
// 结束时间
long etime = System.currentTimeMillis();
// 计算执行时间
System.out.printf("执行时长:%d 毫秒.", (etime - stime));
}
}
以上程序的执行结果为:
执行时长:1000 毫秒.
方法二:System.nanoTime
此方法为 Java 内置的方法,使用 System.nanoTime 来统计执行时间(统计单位:纳秒),它的执行方法
java 方法 执行超时处理
java 1.5以上的Future类可以执行超时处理。
jdk1.5自带的并发库中Future类中重要方法包括get()和cancel(),get()获取数据对象,如果数据没有加载,就会阻塞直到取到数据,而 cancel()是取消数据加载。另外一个get(timeout)操作,表示如果在timeout时间内没有取到就失败返回,而不再阻塞。
代码如下:
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import com.sun.corba.se.impl.orbutil.closure.Future;
import com.sun.corba.se.impl.orbutil.threadpool.TimeoutException;
public class ThreadTest {
public static void main(String[] args) throws InterruptedException,
ExecutionException {
final ExecutorService exec = Executors.newFixedThreadPool(1);
CallableString call = new CallableString() {
public String call() throws Exception {
//开始执行耗时操作
Thread.sleep(1000 * 5);
return "线程执行完成.";
}
};
try {
FutureString future = exec.submit(call);
String obj = future.get(1000 * 1, TimeUnit.MILLISECONDS); //任务处理超时时间设为 1 秒
System.out.println("任务成功返回:" + obj);
} catch (TimeoutException ex) {
System.out.println("处理超时啦....");
ex.printStackTrace();
} catch (Exception e) {
System.out.println("处理失败.");
e.printStackTrace();
}
// 关闭线程池
exec.shutdown();
}
}
一个java方法耗时过长如何诊断
比如你的例子,方法里面有很多功能不同的语句,到肯定是独立的语句,就在它们上下输出时间,即可查看耗时
java方法执行时间长的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java代码执行速度、java方法执行时间长的信息别忘了在本站进行查找喔。