每秒可产生1亿个序列号的序列生成代码 支持64台服务器同步生成
2007-03-31 01:28
519 查看
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()));
}
}
}
注:本程序由我的同事 王立昌 所写
http://wanglch200.blog.sohu.com/本文出自 “霜之哀伤” 博客,请务必保留此出处http://maomao.blog.51cto.com/115985/22182
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()));
}
}
}
注:本程序由我的同事 王立昌 所写
http://wanglch200.blog.sohu.com/本文出自 “霜之哀伤” 博客,请务必保留此出处http://maomao.blog.51cto.com/115985/22182
相关文章推荐
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- php生成随机产生六位数密码的代码
- python批量同步web服务器代码核心程序
- Seq2Seq非常好的代码(机器翻译、对话生成等):漫谈四种神经网络序列解码模型【附示例代码】
- C# Code Builder V1.2 (C#代码生成器) 产生支持多种数据库的实体代码
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- 发布基于Eclipse的数据库建模及ORM框架代码自动生成插件(支持Hibernate,IBatis等),100K行代码
- tigercode是一款自动代码生产工具,支持springmvc+spring+mybatis或springmvc+spring+hibernate框架生成,数据库支持mysql ,oracle
- SNF开发平台-SNF.CodeGenerator-升级生成BS页面代码-支持视图-数据库配置-快速开发者的利器
- 发布NBearLite v1.0.0 beta - 全面支持SqlServer,Oracle,MySql,PostgreSql数据库存储过程调用代码生成(C#/VB.NET)
- 从WSDL文档中生成客户端支持代码
- PxCook 3.0 高效智能的设计研发工具。点击即可生成代码,支持 PS Sketch 画板。我们做的, diss 说的。 - V2EX
- 发布NBearLite v1.0.0 beta - 全面支持SqlServer,Oracle,MySql,PostgreSql数据库存储过程调用代码生成(C#/VB.NET)
- git 设置 key 到服务器,同步代码不需要输入用户名和密码
- 获取服务器支持文件最大上传大小 (PHP代码函数)
- Linux CentOS SVN 设置钩子hooks/post-commit来同步更新服务器web目录,实现代码自动部署
- myeclipse序列号注册码生成Java代码 MyEclipseGen
- Java Web服务之“从WSDL文档中生成客户端支持代码”
- centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课
- 从 Java 代码逆向工程生成 UML 类图和序列图