java实现定时器的四种方式_java中定时器的实现原理

java实现定时器的四种方式_java中定时器的实现原理Java定时器在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。在WEB项目中可能需要每隔一段时间自动生成静态页,自动检测是否有新邮件,定时自动备份文件等操作。这些都可以通过定时器Timer来解决。这里仅提供定时器的部分方法和说明,静态页生成等操作读者可以通过相关方法自行解决。。。。百度空间贴代码总是很让人头疼,排好的代码拿到这里就出现混乱。(1)Timer.schedule(T…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Java定时器

在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。在WEB项目中可能需要每隔一段时间自动生成静态页,自动检测是否有新邮件,定时自动备份文件等操作。这些都可以通过定时器Timer来解决。

这里仅提供定时器的部分方法和说明,静态页生成等操作读者可以通过相关方法自行解决。

。。。百度空间贴代码总是很让人头疼,排好的代码拿到这里就出现混乱。

(1)Timer.schedule(TimerTask task,Date time)安排在制定的时间执行指定的任务。

(2)Timer.schedule(TimerTask task,Date firstTime ,long period)安排指定的任务在指定的时间开始进行重复的固定延迟执行.

(3)Timer.schedule(TimerTask task,long delay)安排在指定延迟后执行指定的任务.

(4)Timer.schedule(TimerTask task,long delay,long period)安排指定的任务从指定的延迟后开始进行重复的固定延迟执行.

(5)Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)安排指定的任务在指定的时间开始进行重复的固定速率执行.

(6)Timer.scheduleAtFixedRate(TimerTask task,long delay,long period)安排指定的任务在指定的延迟后开始进行重复的固定速率执行.

下边写一个简单的测试类:

import java.io.IOException;

import java.util.Timer;

public class TimerTest {

public static void main(String[] args){

Timer timer = new Timer();

timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒

while(true){//这个是用来停止此任务的,否则就一直循环执行此任务了

try {

int ch = System.in.read();

if(ch-‘c’==0){

timer.cancel();//使用这个方法退出任务

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

static class MyTask extends java.util.TimerTask{

@Override

public void run() {

// TODO Auto-generated method stub

System.out.println(“我是来测试的。。我两秒出来一次”);

}

}

}

这样,每隔两秒钟就会在控制台输出语句。

下边说下定时器在JSP中的应用。在JSP中可以靠监听器和定时器的结合来解决某些问题。(Spring提供定时器的高级实现读者可以执行研究,这里这说一个简单的实现。)

先来一个定时器的任务:

package com.kanba.init;

import java.util.Date;

import java.ut

相关文档:

Java传递参数有两种 :值传递,引用传递

一般引用类型 是引用传递,值类型是值传递

值类型是原始数据类型 包括 int,byte,char short long,boolean,float,double

引用类型就是一般的class类 当然也包括原始数据的封装类型 比如int的

封装类型为Integer

一般情况下:

值传递:

例子 1 public  void show1(int str ……

package org.mingyuan.fetcher;

import java.io.BufferedOutputStream;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.URL;

import java.util.ArrayList;

i ……

要理类加载体系结构,就必须清楚如下几点比较基本的原则:

1. classLoader是一种父子树形结构(注:这里不是指类继承的父子关系)

2. 父classLoader无法看到子classLoader加载的类

3、虚拟机遵守双亲委托加载原则,即任何子classLoader须首先委托父classLoader先加载需要的类,当父classLoader加载不到时再由子classLoa ……

Reflection 的简单应用,包括field, method,constructor的应用。

package com.gaoqian.reflection;

import java.lang.reflect.Array;

import java.lang.reflect.Constructor;

import java.lang.reflect.Field;

import java.lang.reflect.Method;

import java.lang.reflect.Modifier;

import java.lang.reflect.Typ ……

package thread;

class TestThread extends Thread {

public void run(){

while(true){

System.out.println(Thread.currentThread().getName());

}

}

}

public class ThreadDemo {

/**

* @param args

*/

public static void ……

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/192057.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 多路复用技术_码分多路复用

    多路复用技术_码分多路复用多路复用:数据通信系统或计算机网络系统中,传输媒体的带宽或容量往往会大于传输单一信号的需求,为了有效地利用通信线路,希望一个信道同时传输多路信号,这就是所谓的多路复用技术(Multiplexing)。

  • sql error 904_mysql报2005错误

    sql error 904_mysql报2005错误mysql清除relay-log文件方法详解mysql清除relay-log文件方法详解今天在本机的mysql数据目录下发现了许多类似hostname-relay-bin.0000*的文件,该文件一般是在mysqlslave实例上存在。主要用途是记录主从同步的信息,正常情况下会自动删除的。本机未配置过master、slave,…文章白及882016-02-245754浏览量exp导出出现…

  • centos7纯手动安装kubernetes-v1.11版本

    centos7纯手动安装kubernetes-v1.11版本

  • 微信小程序使用MQTT.js连接阿里云IoT物联网平台[通俗易懂]

    微信小程序使用MQTT.js连接阿里云IoT物联网平台[通俗易懂]前言最近公司要做物联网控制,觉得写app不能够兼容Android和iOS,于是选定了微信小程序来作为控制端,为了能够实时的监听到设备的状态变化,需要服务器能够主动推消息给小程序,一开始考虑了websocket,由服务器进行上报的数据监听,小程序使用websocket连接服务器接收消息,虽然能实现,但是加上业务逻辑之后就太复杂终归不好(因为服务器也是自己写–泪奔)于是想着,websocket既然…………………

  • Linux安装软件命令&&快捷键

    安装软件命令(1)、rpm和yum命令介绍rpm:rpm是由RedHat公司开发的一种软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载等工作,但是使用rpm命令安装rpm软件包,不能自己解决软件包之间的依赖性问题,需要自己一个一个去安装依赖的软件包。yum:Yum(全称为YellowdogUpdater,Modified):是一…

  • 超级P2P搜索引擎

    超级P2P搜索引擎
    搜索Google大家都用过吧?我们正是利用它强劲的搜索功能来突破封锁下载,Google搜索和限制下载有什么关系,没可能实现吧?不要不相信哦,往下看哦!

    http://www.google.com/intl/zh-CN/
    http://www.3721.com/
    http://www.baidu.com/

      首先打开Google,在关键词输入框中输入“indexof/“inurl:lib(双引号为英文状态下),选择“搜索简体中文

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号