自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 吐槽Log4j 2.25.4

Log4j 2.25.4 版本的所有槽点,本质都源于同一个设计误区:为了追求功能的丰富性、性能的极致性、配置的灵活性,牺牲了日志组件最核心的 “简单、稳定、安全、可观测”。对于生产级项目来说,日志组件是基础中的基础,它不需要花里胡哨的功能,不需要极致的性能,只需要 “稳定、可靠、不出错”。对于绝大多数企业级项目,最优解不是去适配 Log4j 2 的复杂功能,而是收敛功能、关闭危险能力、简化配置、做好监控告警,只保留最核心的日志写入能力,从架构层面规避掉绝大多数的坑。

2026-04-30 18:07:27 579

原创 JDK21 鸡肋新特性

该特性完全无法适配工程化构建、代码规范与生产环境,对比 JDK8 严谨稳定的基础语法,纯属于无效改动,是 JDK21 最鸡肋的功能。相较于 JDK8 稳妥可靠的传统写法,只是减少少量字符输入,没有核心能力提升,属于画蛇添足的语法糖,企业项目普遍不会采用。主流框架无适配、落地案例稀少,相较于 JDK8 成熟通用的加密能力,既解决不了现存痛点,也没有替代价值,属于纯底层技术堆砌。对比 JDK8 轻量化的并发模型,存量项目改造代价巨大,普通业务场景完全用不上新能力,属于高成本、低收益的特性。

2026-04-30 17:38:50 438

原创 JDK 21 Records 与 Lombok:深度对比与适用场景解析

引言在 Java 开发中,数据类(Data Class)的编写往往伴随着大量样板代码:构造器、getter、equals、hashCode、toString…… 为了简化这一过程,JDK 16 引入了原生的 Records 特性(JDK 21 进一步优化),而第三方库 Lombok 早已成为业界常用的解决方案。本文将从设计目标、实现原理、功能范围、兼容性、性能、可定制性、维护成本七个维度深度对比两者,并给出明确的适用场景建议。Records 是 Java 语言层面的特性,核心设计目标是 **“简化不可变数

2026-04-29 15:50:19 529

原创 JDK8多线程与JDK21多线程对比

二是上下文切换开销高,当线程数量过多时,操作系统需要频繁切换线程上下文(用户态与内核态切换),消耗大量CPU资源,同时操作系统对内核线程的数量有严格限制(通常为几千个),这直接导致JDK8的线程并发能力受限,无法应对高并发场景下的大量线程需求。③ 减少同步块粒度,缩短虚拟线程被钉扎的时间。代码解析:无论是JDK8的内核线程池,还是JDK21的虚拟线程池,通过synchronized锁保证共享变量的原子性,最终计数均为1000,说明线程安全规则完全兼容——虚拟线程仅改变调度模型,未影响Java内存模型。

2026-04-29 15:10:15 795

原创 Java21 “var” 使用禁忌 + 绝对不能用的场景

Java8没有var关键字,它是JDK10引入并在JDK21完全稳定的特性。var仅用于局部变量类型推断,有八大禁用场景:类成员变量、方法参数/返回值、构造方法参数、无初始值定义、泛型冲突、多态类型、循环复杂类型等。var能提升代码简洁度和开发效率,主要作用是消除类型重复声明,统一遍历写法,但不改变运行机制或性能。使用时应遵循局部变量、有初始值、类型简单的原则,团队开发需谨慎规范使用。var本质是语法糖,编译后会自动补全类型,运行机制与Java8完全一致。

2026-04-26 18:18:08 530

原创 JDK8 → JDK21 升级对照表(纯代码版)

jdk8->jdk21 语法、变量、字符串、集合、Stream、面向对象、并发、Switch、类型判断、IO、日期,

2026-04-26 17:44:47 406

原创 oracle通过触发器实现主键自增

在Oracle数据库中,通常主键是通过序列(Sequence)和触发器(Trigger)结合来实现自增的。这是因为Oracle数据库本身不直接支持自增(auto-increment)字段像MySQL中的那样。

2025-07-07 09:26:01 549

原创 redis本机黑窗口带密码访问

要使用命令行登录本机的 Redis 服务器,你需要使用 Redis 的命令行客户端 redis-cli。确保你的 Redis 服务已经启动。首先,打开你的操作系统命令行界面(例如,在 Windows 上是 CMD 或 PowerShell,在 macOS 或 Linux 上是 Terminal)。如果你的 Redis 服务器运行在不同的端口,或者设置了密码,你需要使用额外的选项来指定这些设置。你还可以直接在 redis-cli 命令后加上 Redis 命令,这样可以在连接后立即执行一些命令。

2025-03-22 11:15:35 490

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除