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

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


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 ……

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 瀑布模型和快速原型模型的共同点_增量模型和瀑布模型的区别

    瀑布模型和快速原型模型的共同点_增量模型和瀑布模型的区别软件开发过程模型在软件开发的几十年实践中,人们总结了很多软件开发模型用来描述和表示一个复杂的开发过程,如:软件测试与软件的开发模式有着紧密的联系,作为一名测试人员,应该充分理解软件的开发模式,以便

    2022年8月4日
  • 小波去噪程序c语言,小波去噪c语言程序

    小波去噪程序c语言,小波去噪c语言程序小波去噪c语言程序1、小波阈值去噪理论小波阈值去噪就是对信号进行分解,然后对分解后的系数进行阈值处理,最后重构得到去噪信号。该算法其主要理论依据是:小波变换具有很强的去数据相关性,它能够使信号的能量在小波域集中在一些大的小波系数中;而噪声的能量却分布于整个小波域内。因此,经小波分解后,信号的小波系数幅值要大于噪声的系数幅值。可以认为,幅值比较大的小波系数一般以信号为主,而幅值比较小的系数在很大程度…

    2022年6月17日
  • pandas读取excel某一行_python读取csv数据指定行列

    pandas读取excel某一行_python读取csv数据指定行列pandas中查找excel或csv表中指定信息行的数据使用loc函数来查找。话不多说,直接演示:有以下名为try.xlsx表:例如查找A部门所有成员的的姓名和工资或者工资低于3000的人:代码如下:importpandasaspd#导入pandas库excel_file=’./try.xlsx’#导入文件data=pd.read_excel(excel_file)#读入数据print(data.loc[data[‘部

    2022年10月2日
  • c语言fsync函数,c – 如何在一个流上做fsync?

    c语言fsync函数,c – 如何在一个流上做fsync?不幸的是,查看标准没有提供basic_filebuf或任何basic_[io]?fstream类模板,以允许您提取底层的操作系统文件描述符(以fileno()为CstdioI/O的方式).也没有一个open()方法或构造函数将这样的文件描述符作为参数(这将允许您使用不同的机制打开文件并记录文件句柄).有basic_ostream::flush(),但是我怀疑这实际上并不调用fsyn…

    2022年5月23日
  • SSM 项目 ——— 小米商城后台管理系统

    SSM 项目 ——— 小米商城后台管理系统目录一、项目名称二、使用技术三、开发步骤四、具体实现1、创建数据库表2、项目结构3、配置文件一、项目名称名称:小米商城后台管理系统本项目主要目的是使学员更深层的了解IT企业的文化和岗位需求、模拟企业的工作场景,分享研制成果,增加学员对今后工作岗位及计算机应用开发对客观世界影响的感性认识,使学员对技术有更深入的理解,在今后工作中能有更明确的目标和方向。并能为日后职业规划提供很好的指导作用。二、使用技术服务端:Spring+SpringMVC+MyBatis框架整合数据库:MySql8.0

    2022年6月27日
  • jar包下载网站「建议收藏」

    jar包下载网站「建议收藏」1.这里可以查询POM信息和JAR包下载https://www.kumapai.com/open/query/?querytype=title&querykey=cglib1.https

    2022年7月4日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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