logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Starter 开发中的「依赖熵增」反模式:如何用 spring.factories 替代 AutoConfigure.imports 实现跨版本兼容的自动配置注入,并规避 Spring Boot 3

不是过时技术,而是 Spring Boot 自动配置体系中经过十年生产验证的“稳压器”。它用简单的 Properties 格式,换来了确定性的加载顺序、可控的条件解析边界、以及无与伦比的跨版本韧性。而是 Spring Boot 为简化新项目入门体验所做的妥协,它牺牲了鲁棒性,换取了语法简洁——这本无对错,但当你的 Starter 要承载金融交易、医疗影像、政务审批等关键业务时,简洁就不再是美德,确

#spring#数据库#sql
JVM 类加载器的「九重天劫」:从双亲委派到模块化隔离的炼器心法

本文探讨了Java类加载机制的演变与双亲委派模型的局限性。文章首先阐述了类加载器的三层结构及其安全设计,指出双亲委派模型在JDK 8及之前版本中的三大作用:安全屏障、一致性保障和资源复用。随后分析了该模型在现实应用中的三大困境:SPI机制悖论、热部署需求与模块系统变革,揭示了委派模型在JDK 9+环境中的自然瓦解趋势。 通过深入解析ClassLoader源码,文章指出三个关键破绽:parent为n

#jvm#python#开发语言
JVM 线程局部存储的「紫府丹田」:从 `ThreadLocal` 到 `TransmittableThreadLocal` 的真元流转与神识锚定之术

如一面古镜,映照出 JVM 对“线程隔离”的朴素信仰;而则如一位渡世真人,在镜面之上刻下“神识锚定”的符箓——它不否定镜之存在,却赋予镜以流转之能。此非对道法的篡改,而是对道法边界的慈悲拓展。真正的修行,并非追求绝对的“零泄漏”或“零损耗”,而在于知其所以然,用其所以然用于短生命周期、强绑定场景(如 RequestScope Bean);TTL用于异步透传、分布式追踪;Context(Reacto

#jvm
Java Unsafe的太虚封印术从堆外内存到原子操作的丹

本文深入剖析Java底层工具sun.misc.Unsafe的技术原理与应用场景。作为JVM留给开发者的"太虚封印术",它提供了直接操作内存、原子指令和字段偏移量三大核心能力,是突破Java安全限制实现高性能编程的关键。文章从技术背景出发,详细解析了其内存管理、CAS原子操作和对象布局等底层机制,并通过无锁栈实现示例展示实战应用。尽管JDK新版本逐步封装Unsafe功能,理解其原理仍是掌握Java性

#java#开发语言
JVM 方法句柄(MethodHandle)的「太虚引剑术」:从 `invokedynamic` 字节码到函数式编程的丹田真火淬炼术

JVM方法句柄(MethodHandle)是JDK7引入的动态调用机制,相比传统反射具有更高性能。它通过invokedynamic字节码指令实现零开销抽象,深度集成于JVM运行时,避免了反射的JNI边界和安全检查。核心组件包括: MethodHandle - 轻量级函数引用,由JVM直接管理 MethodHandles.Lookup - 权限感知的句柄工厂 CallSite - 动态调用站点 其优

#jvm
Java Map集合:你的数据查找神器

本文介绍了Java中Map集合的三种实现及其特性。HashMap基于哈希表,提供O(1)快速查找但不保证顺序;TreeMap基于红黑树,按键自动排序;LinkedHashMap保持插入顺序。文章详细讲解了Map的基本操作、遍历方法及Java 8+新特性,并提供了单词统计、缓存系统等应用场景。最后总结了性能对比和自定义对象作为键的注意事项,强调HashMap非线程安全的特性。

#java#开发语言
Java List集合:你的数据排队神器

Java List集合是一种有序的数据结构,主要有ArrayList和LinkedList两种实现。ArrayList基于动态数组,适合快速随机访问;LinkedList基于链表,适合频繁插入删除操作。文章详细介绍了List的基本操作、遍历方式以及实用技巧,并通过性能对比表帮助开发者根据不同场景选择合适的实现。同时提供了常见误区的避坑指南,强调ArrayList适合查询为主、LinkedList适

#java#list#windows
Java Set集合:你的数据去重神器

想象一下天庭的仙人名录:每个神仙都是独一无二的,不能有重复。Set就是这样一种不允许重复元素的集合,它就像个严格的守门员,确保每个元素都是"独一份"的。如果Set中存放自定义对象,需要重写equals()和hashCode()方法:java@Override@Override// 现在可以正确去重了immortals.add(new Immortal("吕洞宾", 1000));immortals

#java#开发语言
Java Optional:修仙界的保险箱使用指南

/ 将多个Optional合并// 条件转换// 使用示例Optional.of("轩辕剑"),Optional.of("东皇钟")System.out.println("所有宝物:" + treasures));创建检查安全取值orElse()转换操作map()flatMap()filter()初级:用Optional替代null检查中级:使用map/flatMap进行链式操作高级:与Strea

#java#前端#网络
Java I/O系统:从“流”到“新世界”,一篇让你不再“流”泪的指南

本文介绍了Java I/O操作的核心概念和使用方法。主要内容包括:1)I/O流体系,如InputStream/OutputStream处理字节数据,Reader/Writer处理字符文本,强调缓冲流的重要性;2)装饰器模式在I/O中的应用,通过组合流实现功能扩展;3)标准I/O(System.in/out/err)的基本用法;4)RandomAccessFile的随机访问特性。文章通过正反例对比,

#java#开发语言
    共 19 条
  • 1
  • 2
  • 请选择