- 浏览: 1369840 次
- 性别:
- 来自: 江西
文章分类
- 全部博客 (287)
- oracle (30)
- Java (73)
- MySQL (16)
- Myeclipse/eclipse (12)
- javascript (15)
- JSP/Servlet (7)
- maven (14)
- AJAX (2)
- JQuery (9)
- tomcat (8)
- spring (21)
- Linux (28)
- PHP (9)
- UI (1)
- 编程错误及处理 (38)
- 多线程 (18)
- hibernate (10)
- Web Service (3)
- struts2 (6)
- log4j (3)
- SVN (4)
- DWR (1)
- lucene (1)
- 正则表达式 (4)
- jstl (2)
- SSL (3)
- POI (1)
- 网络编程 (1)
- 算法 (2)
- xml (4)
- 加密解密 (1)
- IO (7)
- jetty (2)
- 存储过程 (1)
- SQL Server (1)
- MongoDB (1)
- mybatis (1)
- ETL (1)
- Zookeeper (1)
- Hadoop (5)
- Redis (1)
- spring cloud (1)
最新评论
-
ron.luo:
牛逼,正解!
maven设定项目编码 -
lichaoqun:
java.sql.SQLException: Can't call commit when autocommit=true -
Xujian0000abcd:
Thanks...
Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the clas -
renyuan2ni:
[i][b][u]引用[list]
[*][img][flas ...
Manual close is not allowed over a Spring managed SqlSession -
851228082:
宋建勇 写道851228082 写道<!-- 文件拷贝时 ...
maven设定项目编码
/** * TraditionalTimer.java * cn.com.songjy.test.socket.thread * Function: TODO * * version date author * ────────────────────────────────── * 1.0 2013-8-15 songjy * * Copyright (c) 2013, TNT All Rights Reserved. */ package cn.com.songjy.test.socket.thread; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * ClassName:TraditionalTimer * * @author songjy * @version 1.0 * @since v1.0 * @Date 2013-8-15 下午9:33:29 */ public class TraditionalTimer { private static Log log = LogFactory.getLog(TraditionalThread.class); private static long count; public static void main(String[] args) { /************ 定时Bomb ***********/ new Timer().schedule(new TimerTask() { @Override public void run() { log.info("炸毁目标!"); } }, 10 * 1000l);// 10秒后炸毁目标 /************ 连环Bomb ***********/ new Timer().schedule(new TimerTask() { @Override public void run() { log.info("连环Bomb启动,目标销毁,哦也!"); } }, 10 * 1000l, 3 * 1000l);// 10秒后启动第一个Bomb,然后每隔3秒启动一个Bomb!(连环炸,够爽,o(∩_∩)o // 哈哈) /************ 子母Bomb ***********/ new Timer().schedule(new TimerTask() { @Override public void run() { log.info("母Bomb启动,目标销毁,哦也!"); new Timer().schedule(new TimerTask() { @Override public void run() { log.info("子Bomb启动,目标销毁,哦也!"); } }, 2 * 1000l); } }, 2 * 1000l); class MyBomb01 extends TimerTask { @Override public void run() { count = (count + 1) % 2; log.info("连环子母Bomb启动,目标销毁,哦也!"); new Timer().schedule(new MyBomb01(), 2 * 1000l + 2000 * count); } } /************ 连环子母Bomb一 ***********/ new Timer().schedule(new MyBomb01(), 2 * 1000l);// 第一个Bomb2秒后启动,间隔4秒后第二个Bomb启动,如此循环!(够狠的,嘻嘻) /************ 连环子母Bomb二 ***********/ new Timer().schedule(new MyBomb02(), 2 * 1000l);//第一个Bomb与第二个Bomb2秒后启动,第三个间隔4秒后启动,此后与上一个【连环子母Bomb一】一样的规律 String t = "2013-08-15 22:45:00"; Date firstTime = null; try { firstTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(t); } catch (ParseException e) { log.error(e.getMessage(), e); } /************ 定时Bomb,2013-08-15晚上10点45分,启动Bomb ***********/ new Timer().schedule(new TimerTask() { @Override public void run() { log.info("终于到了2013-08-15晚上10点45分,启动Bomb,目标销毁,任务完成,睡觉去,o(∩_∩)o 哈哈"); } }, firstTime); /************ 定时Bomb,每天晚上10点45分,启动Bomb ***********/ new Timer().schedule(new TimerTask() { @Override public void run() { log.info("现在又是晚上10点45分,启动Bomb,目标销毁,任务完成,又该睡觉去,(*^__^*) 嘻嘻"); } }, firstTime, 24 * 60 * 60 * 1000l); // 为了查看效果,可以添加以下代码 while (true) { log.info(Calendar.getInstance().get(Calendar.SECOND));// 输出当前的秒数 try { Thread.sleep(1 * 1000l); } catch (InterruptedException e) { log.error(e.getMessage(), e); } } } } class MyBomb02 extends TimerTask { private static Log log = LogFactory.getLog(MyBomb02.class); @Override public void run() { log.error("连环子母Bomb启动,目标销毁,哦也!"); new Timer().schedule(new MyBomb03(), 2 * 1000l); } } class MyBomb03 extends TimerTask { private static Log log = LogFactory.getLog(MyBomb03.class); @Override public void run() { log.error("连环子母Bomb启动,目标销毁,哦也!"); new Timer().schedule(new MyBomb02(), 4 * 1000l); } }
引自:http://down.51cto.com/data/443407
发表评论
-
java.io.NotSerializableException: java.util.ArrayList$SubList
2016-03-15 11:36 2810错误信息: 原代码: if (null != dto ... -
java.lang.NoSuchMethodError
2015-10-30 19:50 1108在执行命令 java -Djava.ext.dirs=./de ... -
OutOfMemoryError
2015-01-07 10:49 656错误信息: 执行命令(修改前): java -Djava. ... -
自定义ClassLoader
2014-12-14 17:13 867一、自定义类加载器代码: package foo; im ... -
ExecutorService.shutdown()应该是在线程执行完毕后,才会去关闭
2014-04-29 13:03 19514看到一个博客,如下 Jav ... -
URL传递中文参数乱码问题
2014-03-14 12:55 1123项目特殊要求,form表单使用get方式提交,由此出现了中文乱 ... -
Java使用正则进行奇偶替换
2013-12-30 11:20 1567/** * 将位于偶数位的数字1替换为2 */ ... -
Java调用ping命令
2013-11-26 10:26 3656package cn.com.songjy; impor ... -
Linux开机启动Java程序
2013-11-25 15:26 3553一、编写启动Java程序shell脚本(smssend.sh) ... -
单例模式
2013-11-05 09:58 767Java之美[从菜鸟到高手演变]之设计模式 Java开发中 ... -
判定2个对象相等之重写equals方法
2013-10-18 11:03 1066package cn.com.songjy.test; ... -
SAX解析XML文件示例
2013-09-13 17:32 1020package cn.com.songjy.test.xml; ... -
二分查找算法(Binary Search)
2013-09-13 17:01 2385项目中遇到需要从数组中查找数据,但是算法很多,于是根据项目需求 ... -
Iterate over rows and cells(EXCEL文件的读取)
2013-09-13 14:13 4072package cn.com.songjy.test.exce ... -
jdk1.5的Exchanger同步工具
2013-08-27 14:04 672package cn.com.songjy.test.sock ... -
jdk1.5的CountDownLatch同步工具
2013-08-27 13:37 777package cn.com.songjy.test.sock ... -
jdk1.5的Semaphere同步工具
2013-08-23 14:20 1069package cn.com.songjy.test.so ... -
jdk1.5条件阻塞Condition的应用
2013-08-23 09:42 1340package cn.com.songjy.test.sock ... -
jdk1.5读写锁技术的妙用
2013-08-19 22:00 1375/** * ReadWriteLockTest.java ... -
jdk1.5的线程锁技术
2013-08-19 20:25 948/** * LockTest.java * cn.co ...
相关推荐
资源名称:Java多线程与并发库高级应用视频教程22集资源目录:【】01传统线程技术回顾【】02传统定时器技术回顾【】03传统线程互斥技术【】04传统线程同步通信技术【】04传统线程同步通信技术_分割纪录【】05线程...
定时器技术应用2.zip
555定时器 555定时器 555定时器 555定时器
辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 定时器计算器辅助软件 ...
可编程的计数器/定时器是为了方便计算机系统的设计和应用而研制的,很容易和系统总线连接。它综合了软件定时和硬件定时的双重优点,定时时间很容易地通过软件设置和改变,定时过程通过硬件实现,当定时时间到时,可...
在Windows编程环境中,MFC(Microsoft Foundation Classes)库提供了一种方便的方式来实现应用程序中的定时功能,这就是MFC定时器。MFC定时器主要用于在特定时间间隔后触发一个事件,这在许多应用场景中都非常有用,...
如果先初始化从模式定时器3,定时器3工作在触发模式下,TRGI信号来源为定时器2的TRGO,而定时器2还未初始化,故TRGO信号来源默认是UG位,故在定时器2初始化过程中会置位UG位,从而触发定时器3的从模式触发模式,导致...
标题提到的“多定时器复用一个硬件定时器”是一种高效利用硬件资源的技术,能够减少硬件成本并优化系统性能。 硬件定时器通常由微处理器中的计数器/定时器模块提供,它们可以按照预设的时间间隔产生中断。然而,...
STM32定时器级联是STM32微控制器中一种高效利用硬件资源、扩展定时功能的方法。在STM32系列芯片中,定时器可以被配置为级联模式,以实现更复杂的定时或计数任务,比如产生精确的PWM输出、高分辨率的计数等。下面我们...
计算机定时器技术PPT学习教案.pptx
在VC++编程环境中,定时器(Timer)是一个非常重要的组件,它允许程序在特定时间间隔后执行特定的任务。定时器广泛应用于各种应用中,如动画更新、后台数据刷新、用户界面响应等。以下是对VC++定时器使用进行的详细...
**ACE完整牛逼定时器详解** ACE(Adaptive Communication Environment)是一个开源的、跨平台的C++库,专为分布式实时系统设计,提供了一系列高级网络编程接口和工具。在这个“ACE完整牛逼定时器”中,我们将深入...
555集成定时器 555集成定时器 555集成定时器
在嵌入式系统开发中,ARM处理器是一种广泛应用的微处理器架构,它提供了丰富的硬件资源,包括定时器。本文将深入探讨ARM处理器中的定时器0和定时器1,并结合PROTEUS仿真工具进行讲解。 定时器在嵌入式系统中扮演着...
51定时器计算工具是一款专为51单片机编程者设计的应用软件,它简化了51系列定时器的设置和计算过程。51单片机是广泛应用在电子工程、物联网设备、自动化控制等领域的微控制器,其内部包含了多个定时器资源,用于执行...
使用74LS192及74LS48芯片做的定时器,都是一些数电的知识,电路中使用的芯片资料可以在www.icpdf.com 网站上面查找的到。有问题请各位指出,
在VC++编程环境中,开发人员经常需要实现定时任务,例如更新UI、执行周期性操作或者进行性能测试等。默认的Windows消息循环...通过学习这些资料,开发者可以更好地理解和应用这种高效定时器技术,提升自己的编程技能。
STM32定时器计算工具是专为STM32微控制器设计的一款实用软件,它简化了在嵌入式系统开发过程中对定时器配置的复杂计算。STM32是意法半导体(STMicroelectronics)推出的基于ARM Cortex-M内核的微控制器系列,广泛...
STM32F2系列技术培训 通用定时器 TIM
- 使用防抖(debounce)或节流(throttle)技术,减少不必要的函数调用,优化性能。 6. 混合开发中的定时器问题: - 当在H5环境下,uni-app的定时器与原生浏览器的定时器并无太大区别,但在小程序环境中,需要考虑其...