召田最帅boy

浅谈分布式唯一ID生成方案

算法

分布式唯一ID需全局唯一、有序、高可用且不泄露信息。文中比较了UUID、数据库自增、Redis计数、Zookeeper节点版和Snowflake(64位结构、趋势递增但受时钟回拨影响)。随后介绍号段模式及美团Leaf、滴滴Tinyid、微信序列号等实现,降低DB压力并提升容错。最后阐述Snowflake改进(多时间线、Leaf‑snowflake、百度UidGenerator),处理时钟回拨,兼顾唯一与有序。

将Spring Boot项目部署到阿里云CentOS7并设置关闭命令行终端项目不停止运行

框架与微服务

本文介绍了在阿里云 CentOS7 上部署 Spring Boot 项目并实现关闭终端后仍保持运行的完整流程:先在 yml 中更改数据库 IP,执行 clean‑package 打包得到 jar;登录云服务器,创建目录并上传 jar;编写 startup.sh 脚本,使用 `nohup java -jar /myworkspace/blog.jar --server.port=8081 &` 启动并将其设为可执行;通过 `chmod -R 777` 授权后运行脚本,使用 `tail -f nohup.out` 检查日志确认启动;提供了 Nginx HTTPS 配置参考;最后给出查询和 kill 进程停止 Spring Boot 的命令。

Hutool:让Java开发更简洁高效

框架与微服务

Hutool 是一套面向 Java 开发的实用工具库,涵盖字符串、文件、网络、JSON 等常见需求。文章介绍了在 Maven 中引入 hutool‑all 的方式,并通过 StrUtil、FileUtil/IoUtil、HttpUtil、JSONUtil 四个示例演示了字符串去空白、文件读写、HTTP 请求及 JSON 转换的简洁用法。使用 Hutool 可显著简化代码、提升开发效率,是 Java 开发者的得力助手。

SpringBoot结合ip2region实现博客评论显示IP属地

本站实践

本文介绍在Spring Boot博客系统中使用ip2region实现评论IP属地显示的完整方案。通过IpParseUtil类的getIpAddr获取请求IP,再用parse方法解析为“国家|区域|省份|城市|ISP”或自定义字段列表。将解析结果写入Comment实体的location字段,在前端页面读取并展示。文章还列出所需技术栈(Spring Boot、MySQL、HTML/CSS/JS、ip2region、Commons IO、Lombok)以及关键代码实现和集成步骤,帮助开发者快速为评论添加地理位置信息,提高互动体验。

实现异步天气数据获取与Spring缓存集成

框架与微服务

本文介绍在 Spring Boot 中通过 @Async 实现天气数据的异步获取,并使用 @Cacheable 将结果缓存,降低对高德天气 API 的重复调用。示例代码演示了获取客户端 IP、解析地区、调用高德地理编码和天气接口、处理返回数据并把天气信息写入模型。文中说明了自定义 IP 解析工具、API Key 替换、RestTemplate/ WebClient 选择以及项目需引入 Spring Cache 与 Spring Web 的前置条件。结合异步与缓存后,可提升响应速度、减轻服务器负载、改善用户体验。

Java 17 新功能介绍(LTS)

Java

2021 年 9 月 14 日发布的 Java 17 是长期支持(LTS)版,带来 14 项新特性:恢复始终严格的浮点语义;新增统一的 RandomGenerator 接口与工厂;在 macOS 上采用 Apple Metal 渲染并支持 AArch64 架构;删除已废弃的 Applet API;加强 JDK 内部封装,取消 --illegal-access 选项;预览 Switch 模式匹配;移除 RMI Activation;正式推出密封类;剔除实验性的 AOT/JIT 编译器;弃用 Security Manager;孵化外部函数与内存 API;二次孵化 Vector API;以及支持基于上下文的反序列化过滤器。全文提供下载链接与官方文档,属 Java 新特性教程系列。

SpringBoot+Elasticsearch按日期实现动态创建索引

中间件

文章介绍了在 SpringBoot 中通过 @Document 的 EL 表达式实现 Elasticsearch 按日期动态创建索引的完整方案。核心思路是把索引后缀(如 yyyy_MM_dd)封装为 Bean(esIndex),并在每天零点的定时任务中销毁旧 Bean、重新注册新值,同时手动调用 ElasticsearchRestTemplate 创建索引,以保证 shards、replicas 等配置不丢失。实体类需声明 createIndex = false,避免自动创建导致参数缺失;示例代码包括配置类、实体、Repository 与 Controller,演示了定时更新索引和保存数据后在 Kibana 中观察新索引的效果。

HTML集成优雅的实时输入清除功能

本站实践

本文介绍了在网页表单中实现实时输入清除的完整方案。通过在输入框右侧嵌入一个隐藏的“×”图标(HTML + <span>),利用 CSS 将图标定位于输入框内部,并通过 JavaScript 监听 input、focus、blur 等事件,在有内容时显示图标、点击后清空文本并隐藏图标。实现步骤简洁、代码可复用,能够提升表单的交互便利性和整体用户体验。

PageHelper结合Lambda表达式实现简洁的分页封装

Java

本文演示了在Spring Boot 项目中通过引入 `pagehelper‑spring‑boot‑starter`,结合 Java Lambda 表达式,实现统一、简洁的分页封装。首先定义 `BaseQueryParam` 只包含 `pageNum`、`pageSize`,供所有查询继承;随后实现通用的 `NewPageBean<T>`,在 `generatePage` 方法中使用 `PageHelper.startPage(...).doSelectPage(ISelect)` 通过 Lambda 调用 Mapper,自动返回 `total`、`list` 与 `MyPage`(页码、页大小、总页数、前后页)等分页信息。示例代码展示了 `TaskMapper`、对应 XML 与 `TaskController` 的调用方式,访问 `http://localhost:9090/demo/test?pageNum=2&pageSize=2` 即可得到结构化的分页响应。整个方案实现了分页逻辑的高度复用与代码简化。

唐朝诡事录之西行

影视

《唐朝诡事录之西行》是2024年上映的古装悬疑奇幻剧,40集、每集约50分钟,由柏杉、信鹏、司元甲执导,魏风华编剧,杨旭文、杨志刚等主演。故事背景设定在712年唐睿宗延和年间,繁华的唐朝暗流涌动,民间诡案频发。大理寺少卿卢凌风与乾陵丞苏无名踏上西行之路,卷入层层志怪谜局,揭示权势斗争与超自然力量的交织。该剧于7月18日在中国大陆首映,豆瓣评分8.6,受到观众好评。