public class NextIdGen {

private NextIdGen() {
    }

/**
     * 获得机器id 避免机器之间的通信以余数绝对区分
     *
     * @return
     */
    static private int serverId() {
        return 077;
    }

static long next = -1;

synchronized private static long getStart() {
        return System.currentTimeMillis() - 1163657797656l;
    }

/**
     * 每秒钟产生1亿个序列号 可以设置64台机器同步产生序列号
     *
     * @return
     */
    synchronized public static long next() {
        // System.out.println(System.currentTimeMillis());
        if (next == -1)
            next = getStart() * 10000;
        next = next + 1;
        return next * 0100 + serverId();
    }

/**
     * 测试
     *
     * @param args
     */
    public static void main(String args[]) {
        for (int i = 0; i < 1000; i++) {
            System.out.println(("" + next()).length());
            System.out.println((next()));
        }
    }
}

注:本程序由我的同事 王立昌 所写
[url]http://wanglch200.blog.sohu.com/[/url]

转载于:https://blog.51cto.com/maomao/22182

每秒可产生1亿个序列号的序列生成代码 支持64台服务器同步生成相关推荐

  1. 每秒能捕捉万亿帧的相机

    每秒能捕捉万亿帧的相机 Can your camera capture trillions of frames per second? This one can. "快是好的,但越快越好&q ...

  2. 特斯拉AI日放大招!发布自研超算Dojo芯片,每秒可执行1024亿次计算

    作者 | 凌敏.李冬梅 来源:AI前线 特斯拉发布 Dojo D1 芯片 北美时间 8 月 19 日,特斯拉 AI Day 正式举行.在发布会上,马斯克介绍了特斯拉在人工智能领域的软件和硬件进展.其中 ...

  3. 每秒1.28万亿行,最快的分布式关系数据库MemSQL又破记录了!

    众所周知,如果交互式响应时间小于四分之一秒,那么人们会获得令人难以置信的满意度.当你提供的响应时间下降到大约四分之一秒时,交互对用户而言是即时的. 但是,由于大数据集和并发需求,给所有客户提供的速度水 ...

  4. 潍坊学院计算机打破世界纪录,牛!2017 ASC世界大学生超级计算机总决赛 潍坊学院每秒31.7万亿次峰值计算刷新世界纪录...

    在国家超算无锡中心举行的"2017 ASC世界大学生超级计算机竞赛总决赛"今天进入第四天,经过激烈角逐,潍坊学院代表队创下3000瓦功耗下每秒31.7万亿次浮点运算性能的成绩,一举 ...

  5. mongodb每秒写入量_Mongodb亿级数据量的性能测试

    进行了一下Mongodb亿级数据量的性能测试,分别测试如下几个项目: (所有插入都是单线程进行,所有读取都是多线程进行) 1) 普通插入性能 (插入的数据每条大约在1KB左右) 2) 批量插入性能 ( ...

  6. 微信公众号服务器负荷过大,2W台服务器、每秒数亿请求,微信如何不“失控”?...

    原标题:2W台服务器.每秒数亿请求,微信如何不"失控"? 微信作为当之无愧的国民级应用,系统复杂程度超乎想象:其后台由三千多个移动服务构成,每天需处理大约十的10~11次方个外部请 ...

  7. 给定a、b两个文件,各存放50亿个url,每个url各占64字节

    给定a.b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a.b文件共同的url? 两种方法: 一.采用Bloom filter,假设布隆过滤器的错误率为0.01,则位 ...

  8. StackOverflow 每月5.6亿PV,但只用25台服务器

    问答社区网络 StackExchange 由 100 多个网站构成,其中包括了 Alexa 排名第 54 的 StackOverflow.StackExchang 有 400 万用户,每月 5.6 亿 ...

  9. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?

    给定a.b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a.b文件共同的url? 两种方法: 一.采用Bloom filter,假设布隆过滤器的错误率为0.01,则位 ...

最新文章

  1. 【PHPExcel】生成Excel2007文件并下载
  2. linux 内核模块 编译错误 include/linux/mmzone.h:18:26: fatal error: linux/bounds.h: No such file or director
  3. 《WinForm开发系列之控件篇》Item1 BackgroungWorker
  4. kafka安装及常用命令
  5. java学习_5_23
  6. 【华为云技术分享】使用Python连接Kerberos的Presto
  7. 备战数学建模10-主成分分析模型与因子分析模型
  8. java 银联,支付宝接口
  9. gprs模块与服务器通信协议,gprs模块与服务器通信原理分析
  10. Python基础语法1 —— 变量、数据类型
  11. springMVC3.0后台验证信息不显示的原因初探
  12. 服务器 开机时间 linux,查看Linux系统启动时间和运行时间
  13. python词云图(以斗破苍穹为例)
  14. E3000Y影像二维扫描枪(配YoKo引擎开发板)的串口调试
  15. maven、md5、git学习
  16. SecureCRT常用文件操作命令
  17. htc+820+android+5.0,htc 820s和htc one m8哪个好?两者有什么区别?
  18. 阿里巴巴与雅虎的关系
  19. DROP TABLE, TRUNCATE TABLE, DELETE TABLE 三种删除语句的区别
  20. 转自 计算机硕士找offer的总结 节选

热门文章

  1. revit模型怎么在手机上看_沙盘模型应该怎么看?一定要警惕这些问题
  2. Hibernate自动创建表
  3. 写给学弟们编程入门时必须掌握的HTTP基础知识总结
  4. Go语言内部包--控制包成员的对外暴露
  5. 如何控制Go编码JSON数据时的行为
  6. case when语句中加上and or的处理方式
  7. [解题报告]1005 - Number Sequence
  8. Java类加载器( 死磕9)
  9. Css 3d轮播样式
  10. C++ std::tr1::shared_ptr使用说明