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)


相关推荐

  • 好未来第一届PHP开源技术大会资料分享「建议收藏」

    好未来第一届PHP开源技术大会资料分享

  • 2021 pycharm专业版永久激活码破解方法

    2021 pycharm专业版永久激活码破解方法,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • python爬虫文件代码大全-23个Python爬虫开源项目代码

    python爬虫文件代码大全-23个Python爬虫开源项目代码今天为大家整理了23个Python爬虫项目。整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心。所有链接指向GitHub,祝大家玩的愉快1、WechatSogou[1]–微信公众号爬虫。基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。2、DouBanSpider[2]–豆瓣读书爬虫。可以爬下豆瓣读书标签下的所有…

  • groupby函数详解

    groupby函数详解pandas中groupby函数用法详解1groupby()核心用法2groupby()语法格式3groupby()参数说明4groupby()典型范例1groupby()核心用法(1)根据DataFrame本身的某一列或多列内容进行分组聚合,(a)若按某一列聚合,则新DataFrame将根据某一列的内容分为不同的维度进行拆解,同时将同一维度的再进行聚合,(b)若按某多列聚合,则新D…

  • 卡盟销售官网源码php,卡盟整站程序源码 php版「建议收藏」

    卡盟销售官网源码php,卡盟整站程序源码 php版「建议收藏」卡盟整站源码是该网站的内核程序,内核是Ecshop,类似平台开钻之类整站程序,也是重要的源码文件,其中包含了各种源码类型文件,比较全,安装操作比较简单。卡盟整站源码是一个点卡销售/充值平台程序,可以开钻,自动发货点卡,充值点卡,充值QB,如果自己想搭建卡盟的朋友可以下载使用。卡盟整站程序源码功能模块介绍系统公告、行业新闻、帮助信息、网址导航、用户注册,购卡中心。后台可以进行商品管理、订单管理、用户…

  • mac pro M1(ARM)安装:VMWare Fusion及linux(centos7/ubuntu)(一)

    mac pro M1(ARM)安装:VMWare Fusion及linux(centos7/ubuntu)(一)0.引言最近正好在macM1上安装centos虚拟机以及开发环境,特记录下,以供后续有需要的同学参考1.下载1.1安装VMwareFusion我选择在VMware上运行虚拟机,所以需要下载VMwareFusion下载地址:VMwareFusionforM1选择ARM版本下载,目前是官方推出的针对M1的试用版本,无需激活,后续是否收费还未可知下载后双击安装即可1.2下载centoscentosform1下载地址:centosform1北京外国语大学镜像地址(推荐下

    2022年10月17日

发表回复

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

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