当前位置:首页 > 科技  > 软件

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

来源: 责编: 时间:2023-12-13 17:02:37 163观看
导读本期项目概览:IdGenerator:唯一 ID 生成器JNotepad:跨平台文本编辑器Fury:高性能多语言序列化框架x-easypdf:快速生成 PDF 文档Jarboot:可视化 Java 进程管理平台IdGenerator:唯一 ID 生成器项目介绍:和 UidGenerator、Leaf

本期项目概览:vJc28资讯网——每日最新资讯28at.com

  • IdGenerator:唯一 ID 生成器
  • JNotepad:跨平台文本编辑器
  • Fury:高性能多语言序列化框架
  • x-easypdf:快速生成 PDF 文档
  • Jarboot:可视化 Java 进程管理平台

IdGenerator:唯一 ID 生成器

项目介绍vJc28资讯网——每日最新资讯28at.com

  • 和 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 组成vJc28资讯网——每日最新资讯28at.com

vJc28资讯网——每日最新资讯28at.com

IdGenerator 生成的 ID 组成vJc28资讯网——每日最新资讯28at.com

  • timestamp (位数不固定):时间差,是生成 ID 时的系统时间减去 BaseTime(基础时间,也称基点时间、原点时间、纪元时间,默认值为 2020 年) 的总时间差(毫秒单位)。初始为 5bits,随着运行时间而增加。如果觉得默认值太老,你可以重新设置,不过要注意,这个值以后最好不变。
  • worker id (默认 6 bits):机器 id,机器码,最重要参数,是区分不同机器或不同应用的唯一 ID,最大值由 WorkerIdBitLength(默认 6)限定。如果一台服务器部署多个独立服务,需要为每个服务指定不同的 WorkerId。
  • sequence (默认 6 bits):序列数,是每毫秒下的序列数,由参数中的 SeqBitLength(默认 6)限定。增加 SeqBitLength 会让性能更高,但生成的 ID 也会更长。

相关地址vJc28资讯网——每日最新资讯28at.com

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

JNotepad:跨平台文本编辑器

项目介绍 :基于 JavaFX 开发的文本编辑器,供了完善的文本编辑和查看功能,支持 Mac / Windows / Linux。vJc28资讯网——每日最新资讯28at.com

效果展示vJc28资讯网——每日最新资讯28at.com

目前还是处于玩具项目的阶段,bug 挺多,体验也比较差。vJc28资讯网——每日最新资讯28at.com

vJc28资讯网——每日最新资讯28at.com

相关地址 :vJc28资讯网——每日最新资讯28at.com

  • 项目地址: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:高性能多语言序列化框架

项目介绍vJc28资讯网——每日最新资讯28at.com

  • Fury 是一个基于 JIT 动态编译和零拷贝的多语言序列化框架,支持 Java/Python/Golang/JavaScript/C++ 等语言,提供极致的性能和易用性。
  • Fury 可以用于替代 JDK、Kryo、Hessian 等序列化框架,无需修改任何代码。

vJc28资讯网——每日最新资讯28at.com

详细介绍可以查看这篇文章:比 JDK 最高快 170 倍,蚂蚁开源的这款序列化框架有点厉害!!vJc28资讯网——每日最新资讯28at.com

性能对比vJc28资讯网——每日最新资讯28at.com

Fury 与其他常见序列化框架的性能对比如下图所示。vJc28资讯网——每日最新资讯28at.com

vJc28资讯网——每日最新资讯28at.com

vJc28资讯网——每日最新资讯28at.com

vJc28资讯网——每日最新资讯28at.com

更多 benchmark 数据请参考 Fury Github 官方文档:https://github.com/alipay/fury/tree/main/docs/benchmarksvJc28资讯网——每日最新资讯28at.com

x-easypdf:快速生成 PDF 文档

项目介绍:基于 pdfbox/fop 二次封装的框架,分为 pdfbox 模块(主打 pdf 编辑功能)和 fop 模块(主打 pdf 导出功能)。两个模块均可单独使用,也可以结合使用,帮助开发者快速生成 pdf 文档。vJc28资讯网——每日最新资讯28at.com

软件架构vJc28资讯网——每日最新资讯28at.com

vJc28资讯网——每日最新资讯28at.com

使用效果vJc28资讯网——每日最新资讯28at.com

创建 PDF:vJc28资讯网——每日最新资讯28at.com

// 定义pdf输出路径String outputPath = "E://pdf//test//pdfbox//test.pdf";// 构建文档XEasyPdfHandler.Document.build().addPage(    // 构建页面    XEasyPdfHandler.Page.build(        // 构建组件        XEasyPdfHandler.Text.build("文本内容")    )// 保存文档并关闭).save(outputPath).close();

编辑 PDF:vJc28资讯网——每日最新资讯28at.com

// 定义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();

相关地址vJc28资讯网——每日最新资讯28at.com

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

Jarboot:可视化 Java 进程管理平台

项目介绍vJc28资讯网——每日最新资讯28at.com

  • Jarboot 是一款对业务代码无侵入的可视化 Java 进程管理平台,支持 Java 进程启停、诊断、监控。
  • Jarboot 支持开发者使用调试命令对其启动的进程进行调试,有些命令是 Arthas 中的命令,用法大致相同。

效果预览vJc28资讯网——每日最新资讯28at.com

服务配置vJc28资讯网——每日最新资讯28at.com

vJc28资讯网——每日最新资讯28at.com

在线诊断:vJc28资讯网——每日最新资讯28at.com

vJc28资讯网——每日最新资讯28at.com

jad 反编译:vJc28资讯网——每日最新资讯28at.com

vJc28资讯网——每日最新资讯28at.com

系统实时数据面板:vJc28资讯网——每日最新资讯28at.com

vJc28资讯网——每日最新资讯28at.com

原理vJc28资讯网——每日最新资讯28at.com

Jarboot 具体的技术原理是通过 JavaAgent + ASM 来往目标 Java 进程注入代码:vJc28资讯网——每日最新资讯28at.com

  • JavaAgent 可以在加载 Java 文件之前对字节码进行修改,也可以在运行期间对已经加载的类的字节码进行修改。
  • ASM 是一个 Java 字节码操作框架,可以帮助我们操作 Java 字节码。

市面上绝大部分的 Java 诊断/分析工具的原理都类似,只是具体使用的字节码操作框架的不一样。vJc28资讯网——每日最新资讯28at.com

Jarboot 基于 Vue3(前端) + SpringBoot(后端),通过 WebSocket 向前端界面实时推送进程的相关信息,同时与启动的 Java 进程维持一个长连接,以监控其状态。vJc28资讯网——每日最新资讯28at.com

类似于 Arthas,Jarboot 也提供了一些开箱即用的命令(如获取 JVM 信息、 监控线程状态、获取线程栈信息等),并且,你还可以通过 SPI 扩展(支持 JDK 和 Spring 的 SPI)机制来实现自己的命令。vJc28资讯网——每日最新资讯28at.com

相关地址vJc28资讯网——每日最新资讯28at.com

  • Gitee 地址:https://gitee.com/majz0908/jarboot
  • 文档:https://www.yuque.com/jarboot

本文链接:http://www.28at.com/showinfo-26-44408-0.html改良版雪花算法,分布式唯一ID神器!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 利用Linux高级IO实现非阻塞和多路复用IO

下一篇: Python也能干大事,用这个库玩转声音

标签:
  • 热门焦点
  • Mate60手机壳曝光 致敬自己的经典设计

    Mate60手机壳曝光 致敬自己的经典设计

    8月3日消息,今天下午博主数码闲聊站带来了华为Mate60的第三方手机壳图,可以让我们在真机发布之前看看这款华为全新旗舰的大致轮廓。从曝光的图片看,Mate 60背后摄像头面积依然
  • 服务存储设计模式:Cache-Aside模式

    服务存储设计模式:Cache-Aside模式

    Cache-Aside模式一种常用的缓存方式,通常是把数据从主存储加载到KV缓存中,加速后续的访问。在存在重复度的场景,Cache-Aside可以提升服务性能,降低底层存储的压力,缺点是缓存和底
  • 自动化在DevOps中的力量:简化软件开发和交付

    自动化在DevOps中的力量:简化软件开发和交付

    自动化在DevOps中扮演着重要角色,它提升了DevOps的效能。通过自动化工具和方法,DevOps团队可以实现以下目标:消除手动和重复性任务。简化流程。在整个软件开发生命周期中实现更
  • 一篇文章带你了解 CSS 属性选择器

    一篇文章带你了解 CSS 属性选择器

    属性选择器对带有指定属性的 HTML 元素设置样式。可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。一、了解属性选择器CSS属性选择器提供了一种简单而
  • 腾讯盖楼,字节拆墙

    腾讯盖楼,字节拆墙

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之“想重温暴刷深渊、30+技能搭配暴搓到爽的游戏体验吗?一起上晶核,即刻暴打!”曾凭借直播腾讯旗下代理格斗游戏《DNF》一
  •  三星推出Galaxy Tab S9系列平板电脑以及Galaxy Watch6系列智能手表

    三星推出Galaxy Tab S9系列平板电脑以及Galaxy Watch6系列智能手表

    2023年7月26日,三星电子正式发布了Galaxy Z Flip5与Galaxy Z Fold5。除此之外,Galaxy Tab S9系列平板电脑以及三星Galaxy Watch6系列智能手表也同期
  • 2299元起!iQOO Pad开启预售:性能最强天玑平板

    2299元起!iQOO Pad开启预售:性能最强天玑平板

    5月23日,iQOO如期举行了新品发布会,除了首发安卓最强旗舰处理器的iQOO Neo8系列新机外,还在发布会上推出了旗下首款平板电脑——iQOO Pad,其搭载了天玑
  • SN570 NVMe SSD固态硬盘 价格与性能兼具

    SN570 NVMe SSD固态硬盘 价格与性能兼具

    SN570 NVMe SSD固态硬盘是西部数据发布的最新一代WD Blue系列的固态硬盘,不仅闪存技术更为精进,性能也得到了进一步的跃升。WD Blue SN570 NVMe SSD的包装外
  • 华为举行春季智慧办公新品发布会 首次推出电子墨水屏平板

    华为举行春季智慧办公新品发布会 首次推出电子墨水屏平板

    北京时间2月27日晚,华为在巴塞罗那举行春季智慧办公新品发布会,在海外市场推出之前已经在中国市场上市的笔记本、平板、激光打印机等办公产品,并首次推出搭载
Top