日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 生成有序 UUID

發布時間:2025/6/17 java 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 生成有序 UUID 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UUID.randomUUID() 生成的 UUID 是無序的,如果作為數據主鍵,不利于索引

Hibernate 的 UUIDHexGenerator.generate() 方法可以生成有序的 UUID, 本文參考其實現:

public class SequentialUuidHexGenerator extends AbstractUUIDGenerator{private static final String sep = "-";public static String generate() {returnformat( getJVM() ) + sep+ format( getHiTime() ) + sep+ format( getLoTime() ) + sep+ format( getIP() ) + sep+ format( getCount() );}protected static String format(int intValue) {String formatted = Integer.toHexString( intValue );StringBuilder buf = new StringBuilder( "00000000" );buf.replace( 8 - formatted.length(), 8, formatted );return buf.toString();}protected static String format(short shortValue) {String formatted = Integer.toHexString( shortValue );StringBuilder buf = new StringBuilder( "0000" );buf.replace( 4 - formatted.length(), 4, formatted );return buf.toString();} }

UUIDHexGenerator.generate() 將 IP 放在首位,考慮到在不同的機器生成,本文將時間戳放在了首位

AbstractUUIDGenerator 代碼:

public abstract class AbstractUUIDGenerator {private static final int IP;static {int ipadd;try {ipadd = BytesHelper.toInt( InetAddress.getLocalHost().getAddress() );}catch (Exception e) {ipadd = 0;}IP = ipadd;}private static short counter = (short) 0;private static final int JVM = (int) ( System.currentTimeMillis() >>> 8 );public AbstractUUIDGenerator() {}protected static int getJVM() {return JVM;}protected static short getCount() {synchronized(AbstractUUIDGenerator.class) {if ( counter < 0 ) {counter=0;}return counter++;}}protected static int getIP() {return IP;}protected static short getHiTime() {return (short) ( System.currentTimeMillis() >>> 32 );}protected static int getLoTime() {return (int) System.currentTimeMillis();} }

BytesHelper 代碼:

public final class BytesHelper {private BytesHelper() {}public static int toInt(byte[] bytes) {int result = 0;for ( int i = 0; i < 4; i++ ) {result = ( result << 8 ) - Byte.MIN_VALUE + (int) bytes[i];}return result;} }

完整代碼:GitHub

?

轉載于:https://www.cnblogs.com/victorbu/p/11098647.html

總結

以上是生活随笔為你收集整理的Java 生成有序 UUID的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av导航福利 | caoporn免费在线 | 国产精品视频导航 | 亚洲先锋影音 | 亚洲v国产v | 黄色香蕉网 | 日韩在线视频一区二区三区 | 中文字幕乱码人妻无码久久95 | 91午夜交换视频 | 天天射天天爽 | www网站在线观看 | 美女日日日 | 东方av在线免费观看 | 欧美日韩大片在线观看 | 国产视频入口 | 熟女人妇 成熟妇女系列视频 | 日韩欧美国产成人精品免费 | 中国女人高潮hd | 日本午夜激情视频 | 日韩视频一区二区 | 精东影业一区二区三区 | 91av国产在线 | 男朋友是消防员第一季 | 亚洲一级在线 | 国产一区免费看 | 在线成人中文字幕 | 夜夜爽av福利精品导航 | 国产高清视频免费 | 欧美视频在线免费 | 国内久久精品视频 | 精品国产人妻一区二区三区 | 激情黄色小说网站 | 亚洲97视频 | 国产日韩欧美一区 | 伊人久久九 | 亚洲综合av一区二区 | 中文字幕久久熟女蜜桃 | 久久久久99精品成人片毛片 | 成人性视频网站 | 电影寂寞少女免费观看 | 一级aaa毛片 | 青苹果av | 665566综合网 | 日本一二三区在线视频 | 美女100%视频免费观看 | 日日操天天操夜夜操 | 亚洲区久久 | 青青青草视频在线观看 | 极品人妻一区二区三区 | 成av人片一区二区三区久久 | 高清av网址 | 精品国产av一区二区 | 国产第1页| 婷婷网五月天 | 亚洲人一区二区三区 | 日本精品黄色 | 孕妇爱爱视频 | 中文字幕一区二区三区人妻电影 | 中文字幕日韩一级 | 天天槽 | 日本精品在线看 | 91欧美大片| 在线不卡毛片 | 欧美性做爰大片免费 | 999久久久免费精品国产 | 国产免费91 | 国产在线第一页 | 美女又爽又黄又免费 | 久久66热这里只有精品 | 国产精品乱码妇女bbbb | 女警白嫩翘臀呻吟迎合 | 成人二三区 | 福利视频在线 | 天天狠狠操 | 91色拍| 青青毛片| 丰满人妻熟妇乱偷人无码 | 久久99久久98精品免观看软件 | 国产成人精品一区二区三区在线 | 欧美黄色一区二区三区 | 57pao国产成永久免费视频 | 日本人性爱视频 | 大胸奶汁乳流奶水出来h | 欧美特级黄色片 | 久热中文字幕 | 都市激情亚洲色图 | 中国一级黄色大片 | 美女av毛片 | 国产福利观看 | 午夜小视频网站 | 欧美综合在线视频 | 一级全黄少妇性色生活片 | 最污网站在线观看 | 黄色成年人视频 | 精品国产一区二区三区无码 | 欧美久久一区二区三区 | 欧美一二三四五区 | 亚洲国产精品欧美久久 | 不许穿内裤随时挨c调教h苏绵 |