public class IdCreateUtil {

private static final long EPOCH = 1479533469598L; //开始时间,固定一个小于当前时间的毫秒数

private static final int max12bit = 4095;

private static final long max41bit= 1099511627775L;

private static String machineId = "" ; // 机器id

public static long createOnlyId(){

long time = System.currentTimeMillis() - EPOCH + max41bit;

// 二进制的 毫秒级时间戳

String base = Long.toBinaryString(time);

// 序列数

String randomStr = StringUtils.leftPad(Integer.toBinaryString(new Random().nextInt(max12bit)),12,'0');

if(StringUtils.isNotEmpty(machineId)){

machineId = StringUtils.leftPad(machineId, 10, '0');

}

//拼接

String appendStr = base + machineId + randomStr;

// 转化为十进制 返回

BigInteger bi = new BigInteger(appendStr, 2);

return Long.valueOf(bi.toString());

}

}

java 两个项目 生成唯一id_java方式生成唯一id相关推荐

  1. java两个项目之间通过webservice调用-源码仅供参考

    项目1.本项目为struts2项目所以需要配置配置文件 applicationcontex-cxf.xml配置 <!-- 定义具体实现的 Bean ,这个 Bean 的定义与 Spring 普通 ...

  2. java生成订单唯一编号_java唯一订单号生成

    import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class IdWorker { protected static fi ...

  3. Java的方式生成条形码

    用Java的方式生成条形码可以有两种方式: 1.用servlet的方式来生成 2.纯Java的方式来生成 第一种: 代码如下: protected void doPost(HttpServletReq ...

  4. Java生成唯一的long型数字id

    最近用的java中用到了唯一的数字id.网上查了有几种主流方式,如hashcode,nanotime等,但是这几种都有可能出现重复.所以博采众长,自己写了一个生成19位long型唯一数字id 的工具类 ...

  5. 复习Java第二个项目仿QQ聊天系统 03(两种通信类、登录以及注册功能完善) Java面试题并发编程相关知识生活【记录一个咸鱼大学生三个月的奋进生活】025

    记录一个咸鱼大学生三个月的奋进生活025 复习Java(仿QQ聊天系统03两种通信类.登录以及注册功能完善) TcpSocket类(与服务器进行通信) Server类(服务器类) TcpMessage ...

  6. java 唯一id生成算法_分布式全局唯一ID生成方案之snowflake算法

    已有的方案: 可大致分为: 完全依赖关系/非关系型数据库递增的方案 完全不依赖数据源作为生成因子的UUID 半依赖数据源作为生成因子的snowflake 为什么推荐snowflake? 这个问题,可以 ...

  7. Py之qrcode:调用python的qrcode库两种方式生成二维码、带logo的二维码

    Py之qrcode:调用python的qrcode库两种方式生成二维码.带logo的二维码 目录 python编程实现生成二维码 1.第一种方式-纯文本 2.第二种方式-带logo

  8. java 生成csr_Java以编程方式生成CSR

    java 生成csr Recently I had to write a program to generate Certificate Signing Request (CSR) using Jav ...

  9. java两种绑定方式_java两种单例模式用法分析

    本文实例讲述了java两种单例模式用法.分享给大家供大家参考,具体如下: 按照加载方式的不同,单例模式有两种实现: private:只能在同一个类中使用 static:该类是类方法,不能调用实例方法. ...

最新文章

  1. AIDL注意细节 简单Demo
  2. 济南学习 Day2 T2 am
  3. java中对象字节数_JAVA中求解对象所占字节大小
  4. 【转】setsocketopt getsocketopt比较全的参数说明
  5. node mysql 跨库查询_nodejs 在mongodb在跨数据库之中如何进行关联起来查询,并且支持筛选关联表的条件进行查询...
  6. 全志a33android编译,编译lichee - 全志A33的环境搭建
  7. linux下设置java,Linux下设置java的环境变量
  8. 文本词频统计是字典吗_TF-IDF词频逆文档频次算法
  9. 工程力学考研 可以转计算机专业吗,跨专业考研我是工程力学的本科生,想要考飞行 – 手机爱问...
  10. 高可用Hadoop平台-应用JAR部署
  11. paip.提升开发效率-----vs2010 快速查找文件
  12. php smarty 翻译标签,Smarty自定义block标签
  13. 【毕设】知网文献检索列表中的 href 解析为可访问的 URL
  14. python爬取网页数据软件,有哪些不错的爬虫软件是可以免费爬取网页数据的?
  15. 读《周一清晨的领导课》有感
  16. 30天自制操作系统-2
  17. 佐客牛排机器人餐厅_2018年中国最火的三家餐厅!秘密竟是机器人服务员?
  18. 门禁控制器的选购指南
  19. urlrewriter 用法
  20. [摘]毕业论文之感谢篇

热门文章

  1. [转载]提升进程权限-OpenProcessToken等函数的用法
  2. VC 播放WAV文件
  3. 项目遇到OpenSessionInViewFilter的默认sessionFactoryBeanName的问题
  4. Aspx页面内 成员变量丢失的问题
  5. ubuntu8.04自动挂载硬盘分区
  6. HDU2014 青年歌手大奖赛_评委会打分【入门】
  7. HDU1850 Being a Good Boy in Spring Festival【Nim博弈】
  8. 诗词文中的地名(名人生卒地、生卒年、名人籍贯)
  9. 二项式定理等价变换与简单推论
  10. 认识服务器与web服务器