本文目錄一覽:
java 如何計算線程執行時間
記錄一個起始時間,記錄一個結束時間,兩個相減就是程序運行時間,代碼如下
long start = System.currentTimeMillis(); // 記錄起始時間
try {
Thread.sleep(5000); // 線程睡眠5秒,讓運行時間不那麼小
} catch (InterruptedException e) {
e.printStackTrace();
}
long end = System.currentTimeMillis(); // 記錄結束時間
System.out.println(end-start); // 相減得出運行時間
得出的單位是毫秒。
java 如何設定時間執行程序
用Timer可以實現~~
Timer的schedule方法可以指定第一次運行的時刻,和重複間隔
具體可以參考API
timer.schedule(task, firstTime, period)
指定firstTime為21:00:00,period為一天的毫秒數24*3600*1000就成了。。
或者可以自己寫個線程,放個while循環,每分鐘檢查一次,如果到時間了就執行任務,如果沒到就sleep一分鐘。。當然,這種方法比較土。。
更複雜點的可以藉助現有的包,比如quartz,有興趣可以研究下~~
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程序執行時間的幾種方法
最簡單的就是直接獲取開始時間、結束時間,計算時間差
public class Demo {
public static void main(String[] args) {
long startTime = System.currentTimeMillis(); //獲取開始時間
doSomething(); //測試的代碼段
long endTime = System.currentTimeMillis(); //獲取結束時間
System.out.println(“程序運行時間:” + (endTime – startTime) + “ms”); //輸出程序運行時間
}
}
java 如何設定時間執行程序?
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Test {
public static void main(String[] args) {
//timer1();
timer2();
//timer3();
//timer4();
}
// 第一種方法:設定指定任務task在指定時間time執行 schedule(TimerTask task, Date time)
public static void timer1() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println(“——-設定要指定任務——–“);
}
}, 2000);// 設定指定的時間time,此處為2000毫秒
}
// 第二種方法:設定指定任務task在指定延遲delay後進行固定延遲peroid的執行
// schedule(TimerTask task, long delay, long period)
public static void timer2() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println(“——-設定要指定任務——–“);
}
}, 1000, 1000);
}
// 第三種方法:設定指定任務task在指定延遲delay後進行固定頻率peroid的執行。
// scheduleAtFixedRate(TimerTask task, long delay, long period)
public static void timer3() {
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
System.out.println(“——-設定要指定任務——–“);
}
}, 1000, 2000);
}
// 第四種方法:安排指定的任務task在指定的時間firstTime開始進行重複的固定速率period執行.
// Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
public static void timer4() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 12); // 控制時
calendar.set(Calendar.MINUTE, 0); // 控制分
calendar.set(Calendar.SECOND, 0); // 控制秒
Date time = calendar.getTime(); // 得出執行任務的時間,此處為今天的12:00:00
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
System.out.println(“——-設定要指定任務——–“);
}
}, time, 1000 * 60 * 60 * 24);// 這裡設定將延時每天固定執行
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/151187.html