java+timer+退出,java timer 兌現在指定時間執行方法

java timer 實現在指定時間執行方法

最近在弄一個定時發送的項目,需要定時執行方法,于是用到了Timer,但是我想要的功能網絡上的資源比較少,所以自己研究了一下。

下面是我寫的一些代碼

import java.util.Calendar;

import java.util.Date;

import java.util.Timer;

public class TimerTest {

/*

* 定時執行方法

*/

public void Timing(String sssString , int[] dateTime){

Timer timer = new Timer();

Calendar calendar = Calendar.getInstance();

calendar.set(dateTime[0], dateTime[1]-1, dateTime[2], dateTime[3], dateTime[4], dateTime[5]);//第二的參數要主要,月是從0開始的,所以要-1.

Date date = calendar.getTime();//網絡上很多都是用Date date = new Date(year, month, date, hrs, min, sec)

// System.out.println(date);

try {

timer.schedule(new NowTask( timer,sssString), date);//可以傳遞參數進去定時任務類

} catch (Exception e) {

e.printStackTrace();

}

}

/*

* 實現時間字符串轉化為int數組,便于傳遞參數

*/

public int[] String2Int(String timeString){

String year = timeString.substring(0, 4);

String month = timeString.substring(5, 7);

String date = timeString.substring(8, 10);

String hour =timeString.substring(11, 13);

String min = timeString.substring(14, 16);

String sec = timeString.substring(17,19);

int[] time = new int [6];

String[] timeStrings = new String[]{year,month,date,hour,min,sec};

for (int i = 0; i < timeStrings.length; i++) {

time[i]=Integer.valueOf(timeStrings[i]);

}

return time;

}

public static void main(String[] args) {

TimerTest timerTest = new TimerTest();

String timeString ="2012/04/11 16:46:00";

timerTest.Timing("成功了", timerTest.String2Int(timeString));

}

}

然后是NowTask類

import java.util.Timer;

import java.util.TimerTask;

public class NowTask extends TimerTask{

private Timer timer;

private String string;

/*

* 構造器

*/

public NowTask(){

}

public NowTask(String string){

this.string = string;

}

public NowTask(Timer timer){

this.timer =timer;

}

public NowTask(Timer timer , String string){

this.timer = timer;

this.string =string;

}

//屬性的get、set方法

public Timer getTimer() {

return timer;

}

public void setTimer(Timer timer) {

this.timer = timer;

}

public String getString() {

return string;

}

public void setString(String string) {

this.string = string;

}

/*

* (non-Javadoc)

* @see java.util.TimerTask#run()

* 執行方法

*/

@Override

public void run(){

//這里寫需要定時執行的方法

System.out.println(string);

timer.cancel();//傳遞timer進來就是為了在方法執行完后退出,必須退出

System.out.println("結束");

}

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530523.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530523.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530523.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux下安裝mysql5.7.19,Linux下MySQL5.1升級到高版本MySQL5.7.19詳解 | zifangsky的個人博客...

一 數據備份(1)查看當前版本&#xff1a;Shell[rootcentos ~]# mysql -V1[rootcentos~]# mysql -V(2)備份數據&#xff1a;Shell[rootcentos ~]# mysqldump -u root -h 127.0.0.1 -P 3306 -p --all-databases > databases.sql1[rootcentos~]# mysqldump -u root -h 127.0.0.…

mysql event使用,用MySQL的Event設置定時任務執行sql語句 | 老瘋子

想在每天某個特定時間段定時執行一條sql語句命令&#xff0c;來進行數據庫的備份或者更新刪除等&#xff0c;可以直接使用MySQL自帶的定時任務Event事件來執行操作。需要注意的是Event事件是在MySQL 5.1版本中新增的&#xff0c;還有一點就是確保你有MySQL數據庫的root管理權限…

php如何配置微信公眾號環境,微信公眾平臺開發之配置與請求

一、配置參數define(WEIXIN_APPID, wxzzzzzzzz);define(WEIXIN_APPSECRET, ouewjdsaudsamkh);define(WEIXIN_TOKEN, 9973833232232);define(WEIXIN_NOTIFY_URL, http://xx.com/xx/xx);define(WEIXIN_MCHID, 322221121);define(WEIXIN_KEY, xddsdswewew);1)微信公眾號開發中IDWE…

MATLAB設置x為0到10所有數,MATLAB教學_10數值微積分

本文學習視頻地址&#xff1a;https://www.bilibili.com/video/av68228488?p10課堂PPT以及本人學習代碼已上傳。本文學習內容&#xff1a;多項式的微分和積分數值的微分和積分目錄多項式的表示方法polyval()polyder()16分鐘練習conv()polyint()Numerical Differentiation39分鐘…

php header 404 nginx,ThinkPHP在nginx下怎么設置?路由統統404,瘋了~

本地用MAMP跑的代碼&#xff0c;運行沒問題。但是部署到CENTOS 6.8 NGINX服務器上的時候&#xff0c;路由地址都404了&#xff01;[可以訪問] http://something.com/API/public/index.php[404] http://something.com/API/public/index.php/consult_add折騰一晚上了。。簡直了&a…

vue怎么使用php調取數據,vue 數據操作

pushpopshiftunshiftsplicesortreverse{{ item.message }} #var example new Vue({el: #example,data: {items: [{message: Foo },{message: Bar },{message: Baz }],addValue:{message:match}},methods:{push(){//接收任意數量的參數&#xff0c;把它們逐個添加到數組末尾&am…

php strchr 截斷,PHP strchr() 函數

w3school 教程PHP String 函數查找 "world" 在 "Hello world!" 中的第一次超并返回此字符串的其余個別&#xff1a;echo strchr("Hello world!","world");?>運行實例strchr() 函數搜他串在另一字符串中的第一次常該函數是 strstr(…

matlab與專業應用,MATLAB應用技術--在電氣工程與自動化專業中的應用

第1章 MATLAB基本知識.1.1 MATLAB簡介1.1.1 概述1.1.2 MATLAB安裝與運行1.2 MATLAB的基本操作1.2.1 MATLAB語言結構1.2.2 MATLAB常用命令1.2.3 MATLAB的M文件1.2.4 輸入與輸出函數1.3 MATLAB的矩陣運算1.3.1 矩陣的實現1.3.2 矩陣的運算1.4 MATLAB的向量運算1.5 MATLAB的控制語…

php 單一職責原則,Laravel深入學習8 - 單一責任原則

聲明&#xff1a;本文并非博主原創&#xff0c;而是來自對《Laravel 4 From Apprentice to Artisan》閱讀的翻譯和理解&#xff0c;當然也不是原汁原味的翻譯&#xff0c;能保證90%的原汁性&#xff0c;另外因為是理解翻譯&#xff0c;肯定會有錯誤的地方&#xff0c;歡迎指正。…

matlab aic sic,sic是什么意思_sic的翻譯_音標_讀音_用法_例句_愛詞霸在線詞典

全部In the mud -- En ange e il mondo ! [ sic ] ( 6 )污泥里 —— Efangoeilmondo! ( 六 )漢英文學 - 圍城Fixed - seal & rotational - seal are made of various msterials, SIC, Carbon, Ceramic and can withstand various chemicals.固定環 及 轉動環由各種不同材質…

centos6.3 nginx php,CentOS 6.3下nginx、php-fpm、drupal快速部署

一切本著從簡原則來做&#xff0c;能yum/rpm的&#xff0c;堅決不手工編譯 :)本次部署環境基于CentOS 6.3 x86_64系統。0. 準備工作#更新yum[rootimysql ~]# yum -y update[rootimysql ~]# yum install libaio-devel.x86_64#drupal 8.0需要用到curl模塊[rootimysql ~]# yum ins…

鏈路追蹤php,easyswoole鏈路追蹤

TrackerEasyswoole提供了一個基礎的追蹤組件&#xff0c;方便用戶實現基礎的服務器狀態監控&#xff0c;與調用鏈記錄。組件要求php: >7.1.0ext-swoole: ^4.4.0easyswoole/component: ^2.0安裝方法composer require easyswoole/tracker倉庫地址調用鏈Easyswoole的調用鏈跟蹤…

razor java,如何在Razor中聲明局部變量?

我正在asp.net mvc 3中開發一個Web應用程序。我對它很新。 在使用剃刀的視圖中&#xff0c;我想聲明一些局部變量并在整個頁面中使用它。 如何才能做到這一點&#xff1f;能夠執行以下操作似乎相當微不足道&#xff1a;bool isUserConnected string.IsNullOrEmpty(Model.Creat…

amp 符號 php,php中引用符號(amp;)的使用詳解_PHP教程

與&#xff23;語言中的指針是有差別的&#xff0e;&#xff23;語言中的指針里面存儲的是變量的內容在內存中存放的地址變量的引用.PHP 的引用允許你用兩個變量來指向同一個內容復制代碼 代碼如下:$a"ABC";$b &$a;echo $a;//這里輸出:ABCecho $b;//這里輸出:ABC…

oracle ora 00283,【案例】Oracle報錯ORA-16433非歸檔丟失redo無法啟動的恢復過程

天萃荷凈Oracle研究中心案例分析&#xff1a;運維DBA反映Oracle數據庫處理非歸檔模式&#xff0c;redo文件損壞常規修復無法正常open數據庫。本站文章除注明轉載外&#xff0c;均為本站原創&#xff1a; 轉載自love wife & love life —Roger 的Oracle技術博客本文鏈接地址…

win7卸載oracle12c,Windows7上完全卸載Oracle 12c操作步驟

Windows7上完全卸載Oracle 12c操作步驟1.關閉Oracle所有的服務,按【winR】運行【services.msc】找到所有Oracle開頭的服務(OracleVssWriterORCLOracleServiceORCLOracleOraDB12Home1TNSListenerOracleOraDB12Home1MTSRecoveryServiceOracleJobSchedulerORCL),點擊停止。2.使用O…

圖像灰度映射實驗MATLAB,圖像灰度變換實驗報告

實驗2a 圖像的灰度變換一、實驗目的&#xff1a;學會用Matlab軟件對圖像進行運算和灰度變換。二、實驗內容&#xff1a;用、-、*、/、imabsdiff、imadd、imcomplment、imdivide、imlincomb、immultiply、imsubtract和imadjust等函數生成各類灰度變換圖像。三、實驗相關知識1、代…

oracle深度巡檢指標,oracle DBA 巡檢項目

11.Oracle審計-AUD$占用空間較大處理方案truncate 或者 delete sys.aud$ 表在delete 之前&#xff0c;可以先把aud$表exp備份一下&#xff0c;注意&#xff0c;不要直接exp&#xff0c;先創建一張臨時表&#xff0c;然后將臨時表exp。sql>create table audit_record tablesp…

eclipse oracle驅動位置,【求助】eclipse導入了Oracle的驅動包連不上Oracle

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓代碼&#xff1a;package com.sp;import java.sql.*;//演示JDBC連接public class OraDemo2 {public static void main(String[] args) throws ReflectiveOperationException, SQLException {// TODO Auto-generated method stub//1…