摘要: 如果你通过某些培训机构的源码课,就会发现他们的老师在讲源码的时候在类之间、方法之间不停地跳,学员一脸懵逼。因为如果不理解老师讲课的思路,或者是稍微走一下神,就会觉得自己跟不上了。 其实,问题就在于需要理解源码的基本流程和继承链的这种单一职责原则。 阅读全文
posted @ 2022-09-13 22:43 桦说编程 阅读(641) 评论(3) 推荐(1) 编辑
摘要: 你是否认为协变和逆变只是定义了集合间的关系,如果你的回答是是,那么这篇文章会改变你原有的看法。 阅读全文
posted @ 2022-04-27 14:52 桦说编程 阅读(379) 评论(0) 推荐(0) 编辑
摘要: CompletableFuture 超时功能有大坑!使用不当直接生产事故! 本文未经允许禁止转载! 上一篇文章《如何实现超时功能(以CompletableFuture为例)》中我们讨论了 CompletableFuture 超时功能的具体实现,从整体实现来说,JDK21前的版本有着内存泄露的bug, 阅读全文
posted @ 2025-02-02 20:59 桦说编程 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 如何安全发布 CompletableFuture ?Java9新增方法分析 本文未经允许禁止转载。 JDK9 中对于CompletableFuture做了新的增强,除了超时功能(orTimeout),还有面向继承、安全发布等相关方法。本文中,我们将详细分析各个新增方法,同时说明其安全发布的重要性,最 阅读全文
posted @ 2025-01-30 10:49 桦说编程 阅读(162) 评论(0) 推荐(1) 编辑
摘要: 【异步编程实战】如何实现超时功能(以CompletableFuture为例) 由于网络波动或者连接节点下线等种种问题,对于大多数网络异步任务的执行通常会进行超时限制,在异步编程中是一个常见的问题。本文主要讨论实现超时功能的基本思路以及CompletableFuture(之后简称CF)是如何通过代码实 阅读全文
posted @ 2025-01-26 22:18 桦说编程 阅读(161) 评论(0) 推荐(2) 编辑
摘要: 重试机制与 CompletableFuture 拓展 禁止转载。 本文旨在讨论重试机制的特点和策略,分析常用重试类库的实现,讨论为 CompletableFuture 添加重试机制的方法。文章首发同名公众号,欢迎关注。 重试示例 以下是一个常见的使用异步重试的例子,当我们需要重试功能时,只需调用 r 阅读全文
posted @ 2025-01-23 20:22 桦说编程 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 深入理解 Future, CompletableFuture, ListenableFuture,回调机制 本文禁止转载。 本文从设计思想、具体实现等角度分析了 Future、CompletableFuture、ListenableFuture等接口或类,提出了一些最佳实践,精华内容为示例代码。耐心 阅读全文
posted @ 2025-01-23 00:06 桦说编程 阅读(94) 评论(0) 推荐(0) 编辑
摘要: API 设计之禅 译者按:本文翻译自 How to design a good API and why it matters。根据笔者经历,很多大厂程序员所写的代码和大厂内部封装的各种中间件、类库,毫不客气地说,90%都是没有经过仔细考虑的,经常有各种各样的性能、拓展、可读性、一致性等问题。本文总结 阅读全文
posted @ 2025-01-22 23:05 桦说编程 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 最近看到一个有趣的问题:Person类具有Hand,Hand可以操作杯子Cup,但是在石器时代是没有杯子的,这个问题用编程怎么解决? 简单代码实现 我们先用简单代码实现原问题: @Data public class Person { private final String name; privat 阅读全文
posted @ 2023-04-20 21:51 桦说编程 阅读(271) 评论(0) 推荐(1) 编辑
摘要: 禁止转载 重写了之前博客写的泛型相关内容,全部整合到这一篇文章里了,把坑都填了,后续不再纠结这些问题了。本文深度总结了函数式思想、泛型对在Java中的应用,解答了许多比较难的问题。 纯函数 协变 逆变 泛型通配符 PECS法则 自限定 Part 1: 协变与逆变 Java8 引入了函数式接口,从此方 阅读全文
posted @ 2023-04-20 20:13 桦说编程 阅读(766) 评论(0) 推荐(0) 编辑
摘要: 集合类再探 注:本文使用的pom依赖见文末。 💡 集合类的基础 — Iterable、Iterator java语言层面支持对实现了Iterable接口的对象使用for-each语句。Iterator可以实现有限流和无限流。 Collection类定义了基本的增删改查操作,转向基本数组类型(toA 阅读全文
posted @ 2023-02-23 13:36 桦说编程 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 容器类作为数据的载体,在Spring源码中随处可见。理解了容器类的概念,极大地8降低了我们的心智负担,从而关注更重要的代码逻辑与结构。 阅读全文
posted @ 2022-12-29 19:00 桦说编程 阅读(256) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示