Java中的雪花算法(Snowflake)解析与实践

雪花算法是分布式系统ID生成的经典解决方案,Java实现需要注意:

合理分配各部分的位数

完善时钟回拨处理机制

设计可靠的WorkerId分配方案

根据业务特点进行定制优化

对于超高并发场景,可以考虑结合号段模式或使用改进版算法如Leaf。实际应用中应建立完善的监控体系,确保ID生成服务的稳定性。

龙生   06 Jun 2026
View Details

BigDecimal 比较大小

if(a.compareTo(b) == -1){
System.out.println("a小于b");
}

if(a.compareTo(b) == 0){
System.out.println("a等于b");
}

if(a.compareTo(b) == 1){
System.out.println("a大于b");
}

if(a.compareTo(b) > -1){
System.out.println("a大于等于b");
}

if(a.compareTo(b) < 1){ System.out.println("a小于等于b"); }

龙生   06 Jun 2026
View Details

Mac系统安装多版本 PHP,低版本 PHP

brew tap shivammathur/php
brew search php
brew install shivammathur/php/php@5.6
brew install brew-php-switcher
brew-php-switcher 7.3

龙生   01 Jun 2026
View Details

MacOS安装nvm实现多Node版本管理和自由切换

虽然可以通过Homebrew安装nvm,但官方推荐使用 nvm 的安装脚本来安装。这是因为Homebrew安装的nvm可能在配置方面稍有不同。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash

龙生   28 May 2026
View Details

一文搞定POI,再也不怕excel导入导出了

下面是excel导入导出的几个最常用的使用场景:
①企业管理系统:企业管理系统通常需要导入员工信息、客户信息、销售数据等大量数据到系统中,以及导出报表、数据分析结果等信息。
②学校教务系统:学校教务系统可能需要导入学生信息、课程表、成绩等数据,以及导出学生成绩单、教师工资表等信息。
③电子商务平台:电子商务平台需要导入商品信息、订单数据等内容,以及导出销售报表、库存清单等信息,方便管理和分析。
④ 人力资源管理系统:人力资源管理系统需要导入员工档案、薪资信息等数据,以及导出薪资条、考勤报表等信息,方便人力资源管理和工资结算。
⑤ 医院信息系统:医院信息系统可能需要导入患者信息、医疗记录等数据,以及导出医疗报告、统计分析等信息,方便医护人员进行医疗服务和管理。

龙生   21 May 2026
View Details

使用docker 来部署 gitlab社区版并解决gitlab内存过高的问题

vim /home/gitlab-ce/home/config/gitlab.rb

减少数据库缓存
postgresql['shared_buffers'] = "64MB"

减少数据库并发数
postgresql['max_worker_processes'] = 1

减少sidekiq并发数
sidekiq['concurrency'] = 1
nginx['worker_processes'] = 2

禁用prometheus
prometheus_monitoring['enable'] = false

龙生   21 May 2026
View Details

Java POI导出Excel时设置指定列为文本格式

 

龙生   30 Apr 2026
View Details

Java 获取UTC日期字符

 

龙生   28 Apr 2026
View Details

Java AI 框架大比拼:Spring AI 与 LangChain4j 的挑战与优势

Spring AI
Spring AI致力于通过简洁且统一的API接口,帮助开发者快速接入主流AI服务(如OpenAI、Azure OpenAI等),实现聊天对话、文本嵌入等基础AI功能。其设计理念是降低集成门槛,提升开发效率。

LangChain4j
LangChain4j是Java生态中专注于智能Agent、多步骤推理和自定义AI工作流 的开源框架。它提供链式调用、Agent管理、记忆存储、工具集成等高级功能,适合构建复杂智能应用。

龙生   19 Apr 2026
View Details

SpringAI 大模型应用开发篇-SpringAI 项目的新手入门知识

目前大模型应用开发最常见的框架就是 LangChain,然而 LangChain 是基于 Python 语言,虽然有 LangChain4j,但是对于大量使用 Spring 生态的应用来说,适配性就稍微差了些。

而 Spring 公司推出的 SpringAI 框架,充分利用了 Spring 框架中 AOP、IOC 的能力,可以与现有的 Java 项目无缝融合,非常方便。

当然,SpringAI 要求的 JDK 版本至少是 JDK17,SpringBoot 也必须是 3.x 的版本才可以,所以如果想要使用 SpringAI,必须先升级 JDK 和 SpringAI 版本才行。

龙生   19 Apr 2026
View Details
1 2 418