首页 > 其他分享 >时间戳性能优化

时间戳性能优化

时间:2024-03-22 12:55:35浏览次数:20  
标签:java 性能 precision private SystemClock 时间 static now 优化

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;

public class SystemClock {

    private static final String THREAD_NAME = "system.clock";
    private static final SystemClock MILLIS_CLOCK = new SystemClock(1);
    private final long precision;
    private final AtomicLong now;

    private SystemClock(long precision) {
        this.precision = precision;
        now = new AtomicLong(System.currentTimeMillis());
        scheduleClockUpdating();
    }

    public static SystemClock millisClock() {
        return MILLIS_CLOCK;
    }

    private void scheduleClockUpdating() {
        ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(runnable -> {
            Thread thread = new Thread(runnable, THREAD_NAME);
            thread.setDaemon(true);
            return thread;
        });
        scheduler.scheduleAtFixedRate(() ->
                now.set(System.currentTimeMillis()), precision, precision, TimeUnit.MILLISECONDS);
    }

    public long now() {
        return now.get();
    }

    public static void main(String[] args){
        System.out.println(SystemClock.millisClock().now());
    }
}

标签:java,性能,precision,private,SystemClock,时间,static,now,优化
From: https://www.cnblogs.com/xiaojianwen/p/18089220

相关文章

  • AHI对MySQL性能的影响
    MySQL中出现很多latch锁,而这个很大程度上和MySQL自适应hash索引有关。AHI概述MySQLInnoDB存储引擎的自适应哈希(AdaptiveHashIndex,下简称AHI)功能若用户的访问模式基本都是类似KV操作的点查询(pointselect),则InnoDB存储引擎会自动创建哈希索引。在有了哈希索引后,查询无......
  • Linux hdparm命令教程:优化硬盘性能和读写速度(附实例详解和注意事项)
    Linuxhdparm命令介绍hdparm是一个用于控制和配置硬盘驱动器的命令行工具。它允许您查看和修改硬盘的参数,包括缓存设置、高级电源管理、硬盘性能等。通过hdparm,您可以优化硬盘的读写速度和性能。Linuxhdparm命令适用的Linux版本hdparm在大多数Linux发行版中都可用,......
  • 浅谈MySQL中的外键、索引和性能优化
    当我们讨论MySQL中的外键、索引和优化时,我们通常指的是为了提高数据库查询效率、数据完整性和整体性能而采取的一系列措施。1.外键(ForeignKeys)定义:外键是一个字段,它在一个表中引用另一个表的主键。外键用于确保数据引用完整性和在两个表之间建立关系。举例:假设......
  • Jackson进行JSON序列化/反序列化添加Java 8的日期和时间库支持
     添加依赖包<!--Jackson进行JSON序列化/反序列化添加Java8的日期和时间库支持--> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>2.13.0</version> ......
  • 前端优化 之 preload
    为了优化我们公司网站的性能,我最近引入了浏览器预加载技术(Preload)。这项技术可以显著减少级联情况,提高资源加载的并行度,从而加速网站的加载速度。Preload的原理Preload的原理是在浏览器解析HTML文档时,提前加载页面所需的关键资源,如样式表、脚本文件和字体等。通过预加载这些关......
  • 时间和日期工具栏(二)
    importjava.math.BigDecimal;importjava.text.DateFormat;importjava.text.ParseException;importjava.text.ParsePosition;importjava.text.SimpleDateFormat;importjava.time.Instant;importjava.time.LocalDate;importjava.time.LocalDateTime;importjava.time.Zo......
  • Python众筹项目结果预测:优化后随机森林分类器可视化
    全文链接:https://tecdat.cn/?p=35412原文出处:拓端数据部落公众号分析师:YiChenXia随着信息技术的飞速发展,众筹作为一个互联网金融的子领域已经成为个人和小企业主筹集资金支持梦想的创新渠道。无论对于众筹发起者还是众筹平台而言,如何利用历史数据去准确预测一个众筹项目的成功......
  • 西理工校赛:PP 学姐的最短时间
    原题链接:K-PP学姐的最短时间​​​​​​题目大意:给n个点和m条边,给每条边通过的时间为a+b/(t+1),t为从当前点出发的时间。求从第一点到第n个点的最短时间。思路:这题明显是求最短路的题目,那么肯定可以使用迪杰斯特拉来跑最短路,但是二个点之间通过时间是动态的,那么如何来确定......
  • SpringBoot整合Redis:Redis优化解决数据一致性问题
    ......
  • 【性能测试】移动测试md知识总结第2篇:主流移动端自动化测试工具,学习目标【附代码文档
    移动测试完整教程(附代码资料)主要内容讲述:移动端测试课程介绍,移动端测试知识概览学习主要内容,学习目标,学习目标,1.window安装andorid模拟器。主流移动端自动化测试工具,Appium环境搭建学习目标,学习目标,学习目标,1.Appium背景介绍。app元素信息操作,元素事件操作学习目标,学习......