摘要: 不是单例的单例——巧用ClassLoader 本文通过如何将一个单例类实例化两次的案例,用代码实践来引入 Java 类加载器相关的概念与工作机制。理解并熟练掌握相关知识之后可以扩宽解决问题的思路,另辟蹊径,达到目的。 阅读全文
posted @ 2023-05-15 13:13 PPPHUANG 阅读(491) 评论(2) 推荐(3) 编辑
摘要:  MySQL 驱动中虚引用 GC 耗时优化与源码分析 本文要点: 一种优雅解决 MySQL 驱动中虚引用导致 GC 耗时较长问题的解决方法 虚引用的作用与使用场景 MySQL 驱动源码中的虚引用分析 背景 ​ 在之前文章中写过 MySQL JDBC 驱动中的虚引用导致 JVM GC 耗时较长的问题(可以看这里),在驱动代码(mysql-connecto 阅读全文
posted @ 2023-04-06 10:50 PPPHUANG 阅读(95) 评论(0) 推荐(0) 编辑
摘要: Java19 正式 GA!看虚拟线程如何大幅提高系统吞吐量 今天Java19 正式发布,带来了一个 Java 开发者垂涎已久的新特性—— 虚拟线程。在 Java 有这个新特性之前,Go语言的协程风靡已久,在并发编程领域可以说是叱咤风云。随着国内 Go 语言的快速发展与推广,协程好像成为了一个世界上最好语言的必备特性之一。Java19 虚拟线程就是来弥补这个空 阅读全文
posted @ 2022-09-21 15:38 PPPHUANG 阅读(186) 评论(0) 推荐(1) 编辑
摘要: Java 异步调用实践 本文介绍了线上业务中的一些异步调用实践经验,包含 IO 模型介绍、CompletableFuture 的基本使用、RPC 异步调用、异步 HTTP 客户端 Spring WebClient 的使用等。RPC 使用前文介绍的手写 RPC 框架,该框架支持异步调用。 本文要点: 为什么需要异步调用 Co 阅读全文
posted @ 2022-07-30 14:52 PPPHUANG 阅读(252) 评论(0) 推荐(0) 编辑
摘要: JVM 优化踩坑记 本文记录了服务 JVM 优化的过程与思路,有对 JVM GC 原理以及对问题排查方向和工具的介绍,也有走弯路和踩坑,分享出来希望对大家有所帮助。 阅读全文
posted @ 2022-07-12 20:58 PPPHUANG 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 开闭原则是面向对象程序设计的终极目标,它使软件实体拥有一定的适应性和灵活性的同时具备稳定性和延续性。当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。SPI 就是开闭原则的一种实现。本文将带领同学们了解 SPI ,对比 Dubbo SPI 与 阅读全文
posted @ 2022-04-22 09:54 PPPHUANG 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 如今分布式系统大行其道的年代,RPC 有着举足轻重的地位。风靡的 Duboo、Thrift、gRpc 等框架各领风骚,深入了解RPC是新手也是老鸟的必修课。你知道 RPC 的实现原理吗?想动手实现一个简单的 RPC 框架吗?本文将通过一个 RPC 项目带你寻找答案,大量代码展示,干货满满,如果你能再 阅读全文
posted @ 2022-04-12 10:49 PPPHUANG 阅读(162) 评论(0) 推荐(0) 编辑