2017.12.07 定时任务
来源:互联网 发布:golang syscall.exec 编辑:程序博客网 时间:2024/06/07 04:05
一、replace()和repalceAll()
(1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换。
(2)replaceAll的参数是regex,即基于规则表达式的替换。比如,可以通过replaceAll(“\d”, “*”)把一个字符串所有的数字字符都换成星号。
相同点:都是全部替换,如果只想替换第一次出现的,可以使用replaceFirst(),这个方法也是基于规则表达式的替换。
如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的。
执行了替换操作后,源字符串的内容是没有发生改变的。(替换后返回新的字符串,原来的不变)
二、字符串equals()和==
equals()判断字面是否相同(对象->类型->长度->逐个),==判断是不是同一个对象引用。
三、定时任务
1.简介
(1)在java中一个完整定时任务需要由Timer、TimerTask两个类来配合完成。
(2)Timer:一种工具,线程用其安排以后再后台线程中执行的任务。
(3)TimerTask:Timer把TimerTask安排为一次执行或重复执行的任务。(继承TimerTask的子类要实现run()方法)
2.Timer类
(1)Timer是线程安全的,理解为要获得Timer对象的“key”才能使用这个对象。
(2)Timer的计时器?
(3)schedule方法:
①schedule(TimerTask task, Date time):安排在指定的时间执行指定的任务。
②schedule(TimerTask task, Date firstTime, long period) :安排指定的任务在指定的时间开始进行重复的固定延迟执行。
③schedule(TimerTask task, long delay) :安排在指定延迟后执行指定的任务。
④schedule(TimerTask task, long delay, long period) :安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。
(4)scheduleAtFixedRate方法:
①scheduleAtFixedRate(TimerTask task, Date firstTime, long period):安排指定的任务在指定的时间开始进行重复的固定速率执行。
②scheduleAtFixedRate(TimerTask task, long delay, long period):安排指定的任务在指定的延迟后开始进行重复的固定速率执行。
3.TimerTask类:TimerTask是一个抽象类,每一个具体的任务类都必须继承TimerTask,然后重写run()方法。
4.使用实例
public class TimerTest01 { Timer timer; public TimerTest01(int time){ timer = new Timer(); timer.schedule(new TimerTaskTest01(), time * 1000); } public static void main(String[] args) { System.out.println("timer begin...."); new TimerTest01(3); }} public class TimerTaskTest01 extends TimerTask{ public void run() { System.out.println("Time's up!!!!"); } }
5.Timer缺陷
(1)首先Timer对调度的支持是基于绝对时间的,而不是相对时间,所以它对系统时间的改变非常敏感。
(2)Timer线程是不会捕获异常的,如果TimerTask抛出的了未检查异常则会导致Timer线程终止,同时Timer也不会重新恢复线程的执行,他会错误的认为整个Timer线程都会取消。同时,已经被安排单尚未执行的TimerTask也不会再执行了,新的任务也不能被调度。
6.用ScheduledExecutorService代替Timer
ScheduledExecutorService scheduExec = Executors.newScheduledThreadPool(2);
http://blog.csdn.net/chenssy/article/details/32703499
- 2017.12.07 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- 定时任务
- OpenCV3.0的坑
- mybatis 的 like 查询
- CentOS7下安装Anaconda3和Tensorflow
- Ubuntu安装sendmail失败卡死问题解决方案
- 解决cookie中文乱码问题
- 2017.12.07 定时任务
- 10034---mysql更新记录时设置自动更新时间戳
- oracle11G EM ORA-28001: the password has expired (DBD ERROR: OCISessionBegin)
- 线程池的状态及KeepAliveTime参数
- CSS书写规范、顺序
- PHP软件编码规范
- CentOS7 64位下MySQL5.7安装与配置(YUM)
- python图片合成
- liunx的基础命令-03