润乾的调度器功能很强大,不仅能够按自己定制的方式推送运算后的报表到指定的地方,还提供好用的用户组管理,但好用归好用,他是要收钱的,对于我们Java程序员来说,总是不想花钱,那就自己做一个简单的吧:)跟我来,我教你做--》go!go!go!!!!!

在本文中,你将学会:

  1. 怎么定时运行java程序
  2. 怎么使用java程序运算快逸报表
  3. 怎么把生成的报表推送到指定的邮件

一、搞清什么是Timer类,他是做什么用的
1.概览
Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。
TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。

简单的一个例程:

import java.util.Timer;
import java.util.TimerTask;

/**
* Simple demo that uses java.util.Timer to schedule a task to execute
* once 5 seconds have passed.
*/

public class Reminder {
Timer timer;

public Reminder(int seconds) {
timer = new Timer();
timer.schedule(new RemindTask(), seconds*1000);
}

class RemindTask extends TimerTask {
public void run() {
System.out.println("Time's up!");
timer.cancel(); //Terminate the timer thread
}
}

public static void main(String args[]) {
System.out.println("About to schedule task.");
new Reminder(5);
System.out.println("Task scheduled.");
}
}

运行这个小例子,你会首先看到:

About to schedule task.

5秒钟之后你会看到:

Time's up!

这个小例子可以说明一些用Timer线程实现和计划执行一个任务的基础步骤:
1、实现自定义的TimerTask的子类,run方法包含要执行的任务代码,在这个例子里,这个子类就是RemindTask。
2、实例化Timer类,创建计时器后台线程。
3、实例化任务对象 (new RemindTask()).
4、制定执行计划。这里用schedule方法,第一个参数是TimerTask对象,第二个参数表示开始执行前的延时时间(单位是milliseconds,这里定义了5000)。还有一种方法可以指定任务的执行时间,如下例,指定任务在11:01 p.m.执行:
//Get the Date corresponding to 11:01:00 pm today.
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 1);
calendar.set(Calendar.SECOND, 0);
Date time = calendar.getTime();

timer = new Timer();
timer.schedule(new RemindTask(), time);

好了,今天就讲这么多,我们已经学会怎么去用java定时执行一定的程序了。
下一篇文章,我将讲解使用java运算报表,并导出特定的格式。
学会第一篇文章后,你就可以定时运算生成报表了,如月报,呵呵

 
[url]http://99reporter.itpub.net/[/url]<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

转载于:https://blog.51cto.com/figo886/46652

学习Timer类,定制自己的调度器一相关推荐

  1. go语言学习笔记(四):调度器基础-爬上那座山

    目录 调度器概述 调度器初始化 第一个goroutine,main goroutine的创建 第一个goroutine,main goroutine的调度 非main goroutine的创建.退出以 ...

  2. 调度器学习笔记一:合作式调度器

    最近看了很多关于调度方面的文章,看的云里雾里,现整理如下,还请大神们多多指教. 目前MCU大部分是不上操作系统的,基本都是裸编.也就是说,我们自己要去管理任务的调度,举个大家常用的例子: main() ...

  3. 【Linux 内核】CFS 调度器 ⑤ ( CFS 调度器类 fair_sched_class 源码 | next 赋值 | enqueue_task 赋值 | dequeue_task 赋值 )

    文章目录 一.调度器类 sched_class 简介 二.CFS 调度器类源码 三.next 赋值 四.enqueue_task 赋值 五.dequeue_task 赋值 一.调度器类 sched_c ...

  4. 【Linux 内核】CFS 调度器 ① ( CFS 完全公平调度器概念 | CFS 调度器虚拟时钟 Virtual Runtime 概念 | 四种进程优先级 | 五种调度类 )

    文章目录 一.CFS 调度器概念 ( 完全公平调度器 ) 二.CFS 调度器虚拟时钟概念 ( Virtual Runtime ) 三.进程优先级 ( 调度优先级 | 静态优先级 | 正常优先级 | 实 ...

  5. Linux进程调度 - 实时调度器 LoyenWang

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...

  6. [ImportNew]Java中的Timer类和TimerTask类

    http://www.importnew.com/9978.html java.util.Timer是一个实用工具类,该类用来调度一个线程,使它可以在将来某一时刻执行. Java的Timer类可以调度 ...

  7. Linux进程调度:完全公平调度器 Completely Fair Scheduler 内幕| linux-2.6

    https://www.ibm.com/developerworks/cn/linux/l-completely-fair-scheduler/index.html? 目录 Linux 调度器简史 C ...

  8. linux 进程状态显示dl,Linux系统中的实时调度器DL调度器的原理是什么?详细概述...

    一.概述 实时系统是这样的一种计算系统:当事件发生后,它必须在确定的时间范围内做出响应.在实时系统中,产生正确的结果不仅依赖于系统正确的逻辑动作,而且依赖于逻辑动作的时序.换句话说,当系统收到某个请求 ...

  9. 第十四课 k8s源码学习和二次开发原理篇-调度器原理

    第十四课 k8s源码学习和二次开发原理篇-调度器原理 tags: k8s 源码学习 categories: 源码学习 二次开发 文章目录 第十四课 k8s源码学习和二次开发原理篇-调度器原理 第一节 ...

最新文章

  1. 一种加速WiFi模块一键配网速度的实现
  2. SpringBoot 2.x 监控中心:Actuator
  3. windows下git命令的使用
  4. Spring集成redis(Spring Data Redis)
  5. python大鱼吃小鱼程序代码_最近跟导师学Python,熬夜弄了两个晚上写出来个大鱼吃小鱼游戏!...
  6. 【Kafka】kafka消费组查看lag
  7. 菜鸟的学习之路(9) — ArrayList类
  8. jquery 引号问题
  9. JAVAWeb项目 微型商城项目-------(六)管理员登录
  10. Mysql 的ERROR 1005 (HY000): Can't create table 'xxx' (errno: 150)
  11. camera - 滤镜格式 (原生RGGB、RCCB、RCCC、RGB-IR和Monochrome(单色传感器))
  12. R语言机器学习系列-决策树回归代码
  13. linux查看udp端口占用命令,详解Linux查看端口占用
  14. Qt2D游戏开发引擎QtGameEngine使用入门5——创建一个敌对的怪物角色并自动攻击
  15. maven的依赖下载不下来,解决的几种方法(包括手动下载导入)
  16. gif图片体积过大怎么办?手把手教你快速压缩gif动图
  17. 微信小程序实现简单的瀑布流式布局
  18. MQ延迟队列实现延迟消息
  19. 计算机科学格鲁吉亚理工,乔治亚理工大学计算机科学专业大学排名
  20. [转载] 七龙珠第一部——第036话 恐怖的玛斯鲁塔

热门文章

  1. 宏的使用总结和高级应用
  2. react-native-svg 绘制异形遮罩层 实现曲线模糊背景效果
  3. texstudio本地编译\emph不显示
  4. 论推动问题,情绪管理,归纳总结,会议主持
  5. 新生报到管理系统毕业设计,新生报到系统代码论文需求分析,新生报到系统数据库设计开题需求分析
  6. 2012-07-08-1
  7. 新浪微博 爬取实现之微博登录
  8. 使用MircoPython转换PUD编码发送中文短信
  9. stm32分散加载学习_倡导联合学习的天才使隐私分散化
  10. 云贝餐饮外卖020v2 v1.7.5 O2O新零售 外卖/店内/预定