菜雞的Java筆記 常用類庫 CommonClassLibrary
CommonClassLibrary 常用類庫
定時排程
定時排程指的是每到一個時刻,都會自動的產生某些特定的操作形式
content (內容)
如果要想實現定時排程可以使用兩個類: Timer TimerTask 類
1.Timer 類
設定具體的排程時刻:
排程: public void schedule(TimerTask 排程操作類,long 延遲開始時間,long 重複的間隔)
排程: public void schedule(TimerTask 排程操作類,Date 延遲的開始,long 重複的間隔)
2. TimerTask 類
這個類主要是負責排程的具體要求。此類定義如下:
public abstract class TimerTaskextends Objectimplements Runnable
這是一個 Runnable 介面的子類,在這個子類中定義有一個抽象方法:
public abstract void run()
定時排程的本質 = 延遲 + 遞迴呼叫
package cn.mysterious.study3; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask; class MyTask extends TimerTask{ @Override public void run() { // TODO Auto-generated method stub SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); System.out.println("當前時間:" + sdf.format(new Date())); } } public class CommonClassLibrary { public static void main(String[] args) { // TODO Auto-generated method stub Timer timer = new Timer(); timer.schedule(new MyTask(), 1000,3000); // 延遲1秒5後開始執行排程,每3秒重複執行 } }
定時排程不肯離開伺服器的執行環境
總結
在許多的網際網路公司中會經常使用到定時排程的操作
UUID 類
content (內容)
如果說現在需要你隨機生成一個不會重複的字串,你的首選是什麼?
電腦的IP地址 + 時間戳 + 任意幾位的隨機數 + 移位操作 = 幾乎不會重複的資料
可是如果由使用者自己來處理這些操作實在是過於麻煩了,所以為了方便處理,專門有一個 java.util.UUID 的程式類
這個類可以生成以上格式的字串資訊
這個類主要使用一個: public static UUID randomUUID()
package cn.mysterious.study3; import java.util.UUID; public class CommonClassLibrary { public static void main(String[] args) { UUID uid = UUID.randomUUID(); System.out.println(uid); } }
正因為 UUID 產生的資料幾乎沒有重複的資訊,所以在開發中可以使用它生成唯一的字串
這種方式可以使用在檔案的自動命名上使用,或者資料庫中的主鍵上也可以使用
總結
以後的開發一定會使用到