`

在不断调用某方法的同时,间隔一段时间,在指定时间刷新静态初始化块中的方法

    博客分类:
  • java
 
阅读更多
//间隔一段时间就在调用时刷新静态初始化块中的方法
import java.util.Calendar;
import java.util.Date;

public class Test {


private static Calendar calendar = Calendar.getInstance();

// 要间隔的时间
private final static long GAP_TIME = 24 * 60 * 60 * 1000;

// 刷新的时间
private static Date startDate = null;

private static long startTime = 0;

// 要返回的值
private static String key = null;

// 每天的多少点刷新
private static int HOUR_OF_DAY = 16;

        //静态初始化块,它是初始化key 的值
static {
calendar.set(2007, 9, 31, HOUR_OF_DAY, 0, 0);
startDate = calendar.getTime();
startTime = startDate.getTime();
refresh();
}

private static int i = 1;

private static void refresh() {
key = i++ + "" + new Date();
}

public static String getKey() {
refershGapTime();
return key;
}

private static void refershGapTime() {
Date endDate = new Date();

long endTime = endDate.getTime();
// 如果到第2天的某个时候就执行一次刷新关键字的集合
if ((endTime - startTime) >= GAP_TIME) {
refresh();
// 隔间调用refresh()的时间和指定时间的差,
// 因为每次都要返回一天指定的同一时间执行
long tempTime = startTime + GAP_TIME;
startTime = tempTime;

}
}

}

-----------------------------------
分享到:
评论

相关推荐

    windows编程资料大全

    程序TestIdleUI.exe是用来测试IdleUI动态库的,程序中调用了IdleUIInit 和 IdleUITerm,同时在程序的客户区中间显示键盘、鼠标空闲的秒数。 void CMainFrame::OnPaint() { CPaintDC dc(this); CString s; DWORD ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    组成:表空间、段、区、块的组成层次 六、 oracle安装、卸载和启动  硬件要求 物理内存:1GB 可用物理内存:50M 交换空间大小:3.25GB 硬盘空间:10GB  安装 1. 安装程序成功下载,将会得到如下2个文件: ...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

    CISCO路由之排除路由故障

     当路由选择表进程检查一条使用中间地址(路由选择表中作为下一跳引用的IP地址)的可解析的静态路由时,这个检查总是在有类别方式下完成的,无论是否使用ip classless命令如果在路由选择表中有类别方式下的中间地址...

    易语言程序免安装版下载

    重新创建并初始化()”方法。 8. 修改应用接口支持库,增强“取快捷方式目标”命令功能,可以获取目标、参数、启始位置、图标、运行方式、快捷键、备注等信息。 9. 修改扩展界面支持库三,解决高级选择夹会导致所在...

    windowsnt 技术内幕

    使用User Mnager for Domains创建用户帐号 刷新用户帐号列表 用户帐号列表的排序 事件查看器(Event View)程序简介 筛选Event Viewer中的事件 授予用户在本地登录的权利 使用Windows NT诊断程序查看系统配置 激活...

    基于AT89S52 单片的频率计

    包括测量初始化模块、显示模块、信号频率测量模块、量程自动转换模 块、信号周期测量模块、定时器中断服务模块、浮点数格式化模块、浮点数算 术运算模块、浮点数到BCD 码转换模块。 由于数据处理、脉冲计数/定时、...

    精易模块[源码] V5.15

    6、修正“窗口_枚举所有子窗口”当过滤类名输入空符号或一段空文本后无法枚举的BUG,感谢易友【vibu】反馈. 7、改名“编码_Ansi到十进制_文本”源作者重新改名为“编码_Ansi到ASCII_文本型”。 8、字节集_还原,新版...

    易想最新升级包V4.0

    15、增加数据初始化功能(可在后台“数据库管理”下“初始化数据”中设置操作,注:该功能仅原始管理员权限可操作); 16、增加后台详细日志记录功能(可在后台“常规管理”下“基本设置”中关闭或开启); 17、增加...

    51单片机C语言编程基础及实例

    //同时按下时,LED 不断亮灭,各占一半时间,交替频率很快,由于人眼惯性,看上去为半亮态 15. } 数码管的接法和驱动原理 一支七段数码管实际由 8 个发光二极管构成, 其中 7 个组形构成数字 8 的七段笔画, 所以...

Global site tag (gtag.js) - Google Analytics