一、概述
定時計劃任務(wù)功能在Java中主要使用的就是Timer對象,它在內(nèi)部使用多線程的方式進(jìn)行處理,所以它和多線程技術(shù)還是有非常大的關(guān)聯(lián)的。在JDK中Timer類主要負(fù)責(zé)計劃任務(wù)的功能,也就是在指定的時間開始執(zhí)行某一個任務(wù),但封裝任務(wù)的類卻是TimerTask類。
二、應(yīng)用場景
我們使用timer的時候,一般有4種情況:
1.指定時間執(zhí)行;
2.指定時間執(zhí)行后間隔指定時間重復(fù)執(zhí)行;
3.啟動任務(wù)之后多久執(zhí)行;
4.啟動任務(wù)后多久執(zhí)行,執(zhí)行之后指定間隔多久重復(fù)執(zhí)行
三、使用方法
1.首先要通過繼承TimerTask類并實現(xiàn)run()方法來自定義要執(zhí)行的任務(wù)(當(dāng)然也可以寫成匿名內(nèi)部類),
2.需要創(chuàng)建一個定時器(Timer類對象),并通過Timer.schedule(TimerTasktask,Datetime)方法執(zhí)行時間運行任務(wù)
具體代碼如下:
這里的schedule方法有4個,分別對應(yīng)上面說的四種情況:
四.啟動方法
1.在jar工程下啟動
把jar工程打成jar包,通過java-jartimer.jar運行
2.這web工程下啟動
spring中我們可以通過實現(xiàn)接口ApplicationListener,并重寫publicvoidonApplicationEvent(ApplicationEventevent){}可以在容器初始話的時候執(zhí)行這個方法
下面展示下web工程下每天00:00執(zhí)行任務(wù)的代碼:
以上就是長沙一度軟件培訓(xùn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java timer的使用和啟動”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。