91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

雪花算法(03)生成時間

發布時間:2020-07-17 02:38:13 來源:網絡 閱讀:329 作者:小布哥哥s 欄目:編程語言

前面的理論基礎和位運算都了解了,下面我們來生成雪花算法的第一部分,也就是時間部分。時間部分的邏輯起始很簡單,就是規定一個起始時間戳,然后用當前時間戳減去起始時間戳,這兩個數的差就是我們要的結果。簡單看一下代碼邏輯:

雪花算法(03)生成時間

我們規定的起始時間是 2015-01-01 00:00:00 ,然后獲取當前時間,用當前時間減去起始時間,就是我們要的時間部分的數值。這個時候就有一個問題了,如果我們系統的時鐘錯了會不會有問題?會!所以要做判斷!而且系統的時鐘錯誤也是雪花算法的一個致命問題,所以要一定要保證服務器的系統時間正確。來看一下對時間戳的判斷:

雪花算法(03)生成時間

定義了一個變量LAST_TIME_STAMP記為上次id的生成時間,每次生成都標記一下,所以這個時間一定是遞增的,如果系統時鐘除了問題,那么直接報異常。這是對系統時間錯誤的一個判斷和處理。

就這樣時間部分就生成了,現在看看還是很簡單的。現在我們再來看雪花算法的時間范圍,由于時間共占有41位,所以時間的數字范圍是有一個最大值的,寫成2進制就是41個1,比如我們的起始時間是2015-01-01 00:00:00,時間戳是1420041600000L,把41個1轉換成long類型數字,再加上這個時間戳數字,就是一個雪花算法最終的時間戳,轉換成時間就是2084-09-06 15:47:35,也就是這個41位時間的雪花算法最長使用69年9個月6天零15小時47分35秒,不過對于一個項目來說,這樣的限制不算限制,足足的夠用了。

代碼地址:https://gitee.com/blueses/snowflake-demo 03

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂伦春自治旗| 托克逊县| 东丽区| 南平市| 盐池县| 郎溪县| 山东省| 秦安县| 都江堰市| 宁陵县| 溆浦县| 隆安县| 宣城市| 文化| 孝感市| 西青区| 曲靖市| 西峡县| 扎鲁特旗| 台江县| 汪清县| 顺昌县| 沙田区| 二连浩特市| 田林县| 巴中市| 襄垣县| 分宜县| 神农架林区| 马尔康县| 台北县| 南江县| 灵武市| 巫溪县| 曲麻莱县| 左贡县| 保康县| 抚宁县| 勐海县| 怀化市| 石柱|