成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

改良版雪花算法,分布式唯一ID神器!

開發
市面上絕大部分的 Java 診斷/分析工具的原理都類似,只是具體使用的字節碼操作框架的不一樣。

本期項目概覽:

  • IdGenerator:唯一 ID 生成器
  • JNotepad:跨平臺文本編輯器
  • Fury:高性能多語言序列化框架
  • x-easypdf:快速生成 PDF 文檔
  • Jarboot:可視化 Java 進程管理平臺

IdGenerator:唯一 ID 生成器

項目介紹

  • 和 UidGenerator、Leaf 一樣,IdGenerator 也是一款基于 Snowflake(雪花算法)的唯一 ID 生成器。
  • IdGenerator 生成的唯一 ID 更短,速度更快,兼容所有雪花算法(號段模式或經典模式),且不依賴外部存儲系統。
  • IdGenerator 解決了時間回撥問題,支持手工插入新 ID
  • IdGenerator 原生支持 C#/Java/Go/C/Rust/Python/Node.js/PHP(C 擴展)/SQL/ 等語言,并提供多線程安全調用動態庫(FFI)。
  • 默認配置下,IdGenerator 生成的 ID 可用 71000 年不重復。

IdGenerator 生成的唯一 ID 組成

IdGenerator 生成的 ID 組成

  • timestamp (位數不固定):時間差,是生成 ID 時的系統時間減去 BaseTime(基礎時間,也稱基點時間、原點時間、紀元時間,默認值為 2020 年) 的總時間差(毫秒單位)。初始為 5bits,隨著運行時間而增加。如果覺得默認值太老,你可以重新設置,不過要注意,這個值以后最好不變。
  • worker id (默認 6 bits):機器 id,機器碼,最重要參數,是區分不同機器或不同應用的唯一 ID,最大值由 WorkerIdBitLength(默認 6)限定。如果一臺服務器部署多個獨立服務,需要為每個服務指定不同的 WorkerId。
  • sequence (默認 6 bits):序列數,是每毫秒下的序列數,由參數中的 SeqBitLength(默認 6)限定。增加 SeqBitLength 會讓性能更高,但生成的 ID 也會更長。

相關地址

  • 項目地址:https://github.com/yitter/IdGenerator
  • Java 語言使用示例:https://github.com/yitter/idgenerator/tree/master/Java

JNotepad:跨平臺文本編輯器

項目介紹 :基于 JavaFX 開發的文本編輯器,供了完善的文本編輯和查看功能,支持 Mac / Windows / Linux。

效果展示

目前還是處于玩具項目的階段,bug 挺多,體驗也比較差。

相關地址 :

  • 項目地址:https://gitee.com/jcnc-org/JNotepad
  • JNotepad 開發者指南:https://gitee.com/jcnc-org/docs/blob/master/CN/Dev-Guide/JNotepad-Dev-Guide/JNotepad-Dev-Guide.md

Fury:高性能多語言序列化框架

項目介紹

  • Fury 是一個基于 JIT 動態編譯和零拷貝的多語言序列化框架,支持 Java/Python/Golang/JavaScript/C++ 等語言,提供極致的性能和易用性。
  • Fury 可以用于替代 JDK、Kryo、Hessian 等序列化框架,無需修改任何代碼。

詳細介紹可以查看這篇文章:比 JDK 最高快 170 倍,螞蟻開源的這款序列化框架有點厲害!!

性能對比

Fury 與其他常見序列化框架的性能對比如下圖所示。

更多 benchmark 數據請參考 Fury Github 官方文檔:https://github.com/alipay/fury/tree/main/docs/benchmarks

x-easypdf:快速生成 PDF 文檔

項目介紹:基于 pdfbox/fop 二次封裝的框架,分為 pdfbox 模塊(主打 pdf 編輯功能)和 fop 模塊(主打 pdf 導出功能)。兩個模塊均可單獨使用,也可以結合使用,幫助開發者快速生成 pdf 文檔。

軟件架構

使用效果

創建 PDF:

// 定義pdf輸出路徑
String outputPath = "E:\\pdf\\test\\pdfbox\\test.pdf";
// 構建文檔
XEasyPdfHandler.Document.build().addPage(
    // 構建頁面
    XEasyPdfHandler.Page.build(
        // 構建組件
        XEasyPdfHandler.Text.build("文本內容")
    )
// 保存文檔并關閉
).save(outputPath).close();

編輯 PDF:

// 定義pdf輸出路徑
String sourcePath = "E:\\pdf\\test\\pdfbox\\test.pdf";
// 定義pdf輸出路徑
String outputPath = "E:\\pdf\\test\\pdfbox\\output.pdf";
// 讀取文檔
XEasyPdfDocument document = XEasyPdfHandler.Document.load(sourcePath);
// 獲取頁面
XEasyPdfPage page = document.getPageList().get(0);
// 創建文本組件
XEasyPdfText text = XEasyPdfHandler.Text.build("test");
// 將組件添加到頁面
page.addComponent(text);
// 保存文檔并關閉
document.save(outputPath).close();

相關地址

  • 項目地址:https://x-easypdf.cn/
  • 官網:https://gitee.com/dromara/x-easypdf

Jarboot:可視化 Java 進程管理平臺

項目介紹

  • Jarboot 是一款對業務代碼無侵入的可視化 Java 進程管理平臺,支持 Java 進程啟停、診斷、監控。
  • Jarboot 支持開發者使用調試命令對其啟動的進程進行調試,有些命令是 Arthas 中的命令,用法大致相同。

效果預覽

服務配置

在線診斷:

jad 反編譯:

系統實時數據面板:

原理

Jarboot 具體的技術原理是通過 JavaAgent + ASM 來往目標 Java 進程注入代碼:

  • JavaAgent 可以在加載 Java 文件之前對字節碼進行修改,也可以在運行期間對已經加載的類的字節碼進行修改。
  • ASM 是一個 Java 字節碼操作框架,可以幫助我們操作 Java 字節碼。

市面上絕大部分的 Java 診斷/分析工具的原理都類似,只是具體使用的字節碼操作框架的不一樣。

Jarboot 基于 Vue3(前端) + SpringBoot(后端),通過 WebSocket 向前端界面實時推送進程的相關信息,同時與啟動的 Java 進程維持一個長連接,以監控其狀態。

類似于 Arthas,Jarboot 也提供了一些開箱即用的命令(如獲取 JVM 信息、 監控線程狀態、獲取線程棧信息等),并且,你還可以通過 SPI 擴展(支持 JDK 和 Spring 的 SPI)機制來實現自己的命令。

相關地址

  • Gitee 地址:https://gitee.com/majz0908/jarboot
  • 文檔:https://www.yuque.com/jarboot
責任編輯:張燕妮 來源: 互聯網架構小馬哥
相關推薦

2022-02-23 07:09:30

分布式ID雪花算法

2024-02-02 10:57:12

Java分布式算法

2019-09-05 13:06:08

雪花算法分布式ID

2023-12-12 07:13:39

雪花算法分布式ID

2020-07-21 11:35:21

開發技能代碼

2024-11-19 15:55:49

2021-06-28 14:45:07

分布式框架操作

2021-06-05 07:33:09

ID分布式架構

2021-11-08 19:25:37

Go生成系統

2021-07-02 06:54:43

分布式環境ID

2017-04-12 09:29:02

HiveMapReduceSpark

2022-06-14 18:35:01

ID生成器語言

2023-09-03 22:14:23

分布式ID

2022-09-28 07:58:06

MongoDB分布式ID

2019-09-03 09:22:08

數據庫Redis算法

2024-10-31 13:51:58

2017-07-01 16:02:39

分布式ID生成器

2022-12-21 08:40:05

限流器分布式限流

2023-01-12 17:46:37

分庫分表id如何生成

2017-03-27 08:53:17

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品综合| 欧美成人精品一区二区三区 | 伊人免费在线观看高清 | 国产视频三级 | 一区二区小视频 | 国产日韩精品一区二区 | 999国产视频 | 免费国产视频在线观看 | 久久精品亚洲精品国产欧美 | 九九九久久国产免费 | 国产精品九九视频 | 亚洲欧美中文日韩在线v日本 | 人人鲁人人莫人人爱精品 | 日日日操| 成人精品国产 | 成人做爰www免费看 午夜精品久久久久久久久久久久 | 欧美综合国产精品久久丁香 | 国产av毛片| 一区二区三区视频在线 | 国产伦精品一区二区三区视频金莲 | 久久综合激情 | 亚欧性视频 | 网页av| 亚洲在线一区二区 | 午夜精品久久久久久久久久久久 | 亚洲国产精品99久久久久久久久 | 色综合天天综合网国产成人网 | 先锋资源在线 | 91xxx在线观看 | 欧美成人精品二区三区99精品 | a视频在线观看 | 中文字幕亚洲一区二区三区 | 亚洲精品中文字幕中文字幕 | 综合久久av | 精品国产久| 成人免费一区二区三区视频网站 | 午夜视频在线播放 | 99精品九九 | 久久美女网| 国产一极毛片 | 一区在线视频 |