All posts by 龙生
Compilation error after upgrading to JDK 21 – “NoSuchFieldError: JCImport does not have member field
与JDK 21兼容的最小Lombok版本是1.18.30
View Details单例模式的七种写法
什么意思呢?就是当前进程确保一个类全局只有一个实例。
那单例模式有什么好处呢?[1]
单例模式在内存中只有一个实例,减少了内存开支
单例模式只生成一个实例,所以减少了系统的性能开销
单例模式可以避免对资源的多重占用
单例模式可以在系统设置全局的访问点
那单例模式是银弹吗?它有没有什么缺点?
单例模式一般没有接口,扩展很困难
单例模式不利于测试
单例模式与单一职责原则有冲突
那什么情况下要用单例模式呢?
要求生成唯一序列号的环境
在整个项目中需要一个共享访问点或共享数据
创建一个对象需要消耗的资源过多
需要定义大量的静态常量和静态方法(如工具类)的环境
Java volatile关键字最全总结:原理剖析与实例讲解(简单易懂)
volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volatile 变量的同步性较差(有时它更简单并且开销更低),而且其使用也更容易出错。
View Details十分钟彻底掌握缓存击穿、缓存穿透、缓存雪崩
缓存击穿: 一个并发访问量比较大的key在某个时间过期,导致所有的请求直接打在DB上。
缓存穿透:缓存穿透指的查询缓存和数据库中都不存在的数据,这样每次请求直接打到数据库,就好像缓存不存在一样。
缓存雪崩: 当某⼀时刻发⽣⼤规模的缓存失效的情况,例如缓存服务宕机、大量key在同一时间过期,这样的后果就是⼤量的请求进来直接打到DB上,可能导致整个系统的崩溃,称为雪崩。
设计模式的6大原则
单一职责原则(Single Responsibility Principle, SRP) 一个类应该只有一个引起它变化的原因。 这意味着一个类应该只负责一项功能,而不是多种功能混杂在一起。 开闭原则(Open Closed Principle, OCP) 软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。 这意味着在不修改现有代码的情况下,可以添加新的功能,使系统具有良好的可扩展性。 里氏替换原则(Liskov Substitution Principle, LSP) 所有出现的地方,子类必须能够替换父类。 任何派生类对基类的替换都不能改变程序的行为,以确保程序的正确性。 接口隔离原则(Interface Segregation Principle, ISP) 客户端不应该被迫依赖它不使用的方法。 即不应该有一个大的接口,而是应该有许多小的接口,让客户端只依赖于它们真正需要的接口。 依赖倒置原则(Dependence Inversion Principle, DIP) 高层模块不应该依赖于低层模块,二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。 通过抽象和接口来降低模块间的耦合度。 迪米特法则(Law of Demeter, LoD) 又称“最少知道原则”。 一个对象应该对其他对象有尽可能少的了解,并且只与它的直接朋友进行交互,而不是与间接的朋友。
View DetailsApache License 2.0 关键点总结
1. 授权范围 免费、永久、全球性的授权。 允许使用、修改、复制、分发源代码和二进制形式。 可以用于商业、闭源软件,不强制开源。 2. 主要条件 保留版权声明:必须在源码或分发包中保留原作者的版权、许可声明和 NOTICE 文件。 修改说明:如果修改了源代码,需要明确说明已修改。 专利授权:贡献者自动授予用户相关的专利使用权。 无担保:软件“按现状”提供,不保证适用性或无缺陷。 3. 再分发要求 如果分发源码 → 必须附带原始许可证、版权声明、NOTICE 文件。 如果分发二进制包 → 也要提供许可证和版权声明,并在文档中包含 NOTICE 文件。 4. 与其他协议的关系 兼容性好:可与 GPLv3 兼容(但不能和 GPLv2-only 兼容)。 与 MIT、BSD 等宽松协议类似,但 Apache 2.0 额外强调 专利授权。 5. 适用场景 适合企业和个人开源项目,允许代码被商业化使用。 常见于大型项目(如 Hadoop、Spark、Android 部分组件)。 ✅ 一句话总结: Apache License 2.0 是一种 宽松开源协议,允许商业使用和闭源分发,关键要求是 保留版权和声明,同时提供了 专利授权,比 MIT/BSD 更全面。 📊 开源协议对比表 特点 Apache 2.0 MIT GPL v3 使用/修改/分发 ✅ 允许 ✅ 允许 ✅ 允许 是否必须开源衍生作品 ❌ 不要求 ❌ 不要求 ✅ 必须开源(传染性) 是否可商用/闭源 ✅ 可以 ✅ 可以 ❌ 不允许闭源 版权声明要求 ✅ 必须保留 LICENSE […]
View Details一的法则
核心思想 一的法则:宇宙中只有一个根本的法则——一体性。所有存在都是同一个源头(造物者)的不同显现,没有真正的分离。 自由意志:造物者允许无限的自由意志,使每个存在以不同方式探索与体验“一”。 爱的法则:爱是造物的驱动力,是自由意志的第一次扭曲。 光/智慧的法则:光或智慧是爱的进一步显化,用于创造和体验。 宇宙与灵性结构 密度(Densities) 宇宙的生命进化分为七个主要层级(类似振动频率): 第一密度:元素、矿物。 第二密度:植物、动物。 第三密度:人类,自我意识的觉醒(重点在自由意志与道德选择)。 第四密度:爱与理解。 第五密度:智慧与真理。 第六密度:爱与智慧的统一。 第七密度:归于源头前的准备阶段。 服务的道路 服务他人(Service to Others):与一体相符的道路,强调爱与合作。 服务自我(Service to Self):强调自我中心、控制与支配。 两者在第三密度都会出现,灵魂会选择哪条路继续进化。 人类与地球 地球正处于 第三密度向第四密度的转变期,因此会经历动荡、觉醒与选择。 每个人通过生活中的选择(自私/利他)来决定未来走向。 收割(Harvest):周期性灵性进阶的过程,符合条件的灵魂会进入更高密度。 实修与启示 自我认识与平衡:通过认识、接纳、平衡自我各方面,提升意识频率。 冥想与沉思:是接触“一”与内在智慧的主要方法。 尊重自由意志:不强迫他人改变,尊重差异与选择。 ✨一句话总结:《一的法则》告诉我们:万物同源同体,人生的意义在于通过爱与自由意志的选择来提升意识,最终回归唯一的造物者。
View DetailsEnglish Learning Diary 2025-09-24
That was a long flight, and I had to change planes. We decided to stay away from that village. Would you like a room for two nights? The queen didn’t find her bracelet. Do you want to go anywhere? Do you enjoy living on an island? Of course not, that’s OK. If it rains, you’ll need a raincoat. That was a long flight from Beijing to New York. If I can’t go home, I will chat online whith my family. If she earns more, she will sleep less. […]
View DetailsEnglish Learning Diary 2025-09-23
An adult is any person who is eighteen or older. If someone is going to go bed, they might say it’s "time to bed". It’s time for bed. If someone is "on the phone", it means they’re using the phone. I was talking on the phone then. Are you drying your hair? Anna was taking a shower while Lisa was drying her hair. What was your sister dong while I was drying my hair? She was on the phone and watchin TV. He read a book before bed. […]
View DetailsEnglish Learning Diary 2025-09-21
I got mad yesterday. The kids got angry because their mom didn’t come home. The baby began to walk! The kids began to clean their rooms. Were you listening while I was talking? Tom! Were you eating cake all morning while I was shopping? Where are the kids? Were the babies sleeping while I was at work? No, after you left, they began to dance! Did you cook dinner while I was working? Did you wash the car while I was cooking lunch? Did Mom get angry? Yes, […]
View Details