唯一性ID算法的工具类
2017-07-29 08:44
295 查看
/** * 封装各种生成唯一性ID算法的工具类. * @author stronginfo * @version 2013-01-15 */ @Service @Lazy(false) public class IdGen implements IdGenerator, SessionIdGenerator { private static SecureRandom random = new SecureRandom(); /** * 封装JDK自带的UUID, 通过Random数字生成, 中间无-分割. */ public static String uuid() { return UUID.randomUUID().toString().replaceAll("-", ""); } /** * 使用SecureRandom随机生成Long. */ public static long randomLong() { return Math.abs(random.nextLong()); } /** * 基于Base62编码的SecureRandom随机生成bytes. */ public static String randomBase62(int length) { byte[] randomBytes = new byte[length]; random.nextBytes(randomBytes); return Encodes.encodeBase62(randomBytes); } /** * Activiti ID 生成 */ @Override public String getNextId() { return IdGen.uuid(); } @Override public Serializable generateId(Session session) { return IdGen.uuid(); } public static void main(String[] args) { System.out.println(IdGen.uuid()); System.out.println(IdGen.uuid().length()); System.out.println(new IdGen().getNextId()); for (int i=0; i<1000; i++){ System.out.println(IdGen.randomLong() + " " + IdGen.randomBase62(5)); } } }
相关文章推荐
- 封装各种生成唯一性ID算法的工具类
- 封装各种生成唯一性ID算法的工具类
- 封装生成唯一性ID的算法工具类
- 封装各种生成唯一性ID算法的工具类.
- 封装各种生成唯一性ID算法的工具类
- SnowFlake --- 分布式id生成算法工具类
- 【Zanuck 镇】编写php高性能snowflake算法插件(分布式64位唯一性自增id生成算法)
- 微信公号“架构师之路”学习笔记(四)-分布式ID生成算法(应用场景、uuid/guid、snowflake算法)
- twitter ID生成算法
- 最小可用id和bitmap算法
- 决策树的经典构造算法(一)——ID3
- Twitter-Snowflake,64位自增ID算法详解
- DeepID人脸识别算法之三代
- 【用JavaScript学算法】最小可用ID
- DeepID算法实践
- DeepID人脸识别算法之三代
- 决策树之 ID3 算法
- Twitter的分布式自增ID算法snowflake
- Twitter的分布式自增ID算法snowflake (Java版)
- ID3 算法