要不要再学学下面的文章?
Java SPI机制学习与常用框架SPI案例 (l1n.wang)
SPI(Service ProviderInterface)是JDK内置的服务提供机制,常用于框架的动态扩展,类似于可拔插机制。提供方将接口实现类配置在classpath下的指定位置,调用方读取并加载。当提供方发生变化时,接口的实现也会改变。Java生态中JDK、Dubbo、Spring等都通过SPI提供了动态扩展的能力。
by @技术头条 2024-01-17 23:19 查看详情
GC 调优成功案例:减少新生代的大小 (www.diguage.com)
当对垃圾回收性能做调优时,不仅能改善垃圾回收暂停时间,还能改善整个应用程序的响应时间并降低云计算成本。最近,我们帮助调整了一个流行应用程序的垃圾回收行为。仅仅是一个微小的改动,就带来了巨大的改善。让我们在这篇文章中讨论一下这个垃圾回收调整的成功案例。
by @技术头条 2024-01-13 23:49 查看详情
BitTorrent 扩展协议(Extension Protocol)详解 (www.addesp.com)
BitTorrent 扩展协议(Extension Protocol)为 BitTorrent 协议簇提供了一个简单而轻量的扩展方式,可以在保证兼容性的同时为协议加入新的功能。比如基于 DHT 协议 的磁力链接就是使用扩展协议加入的新功能。

本文将介绍 BT 扩展协议的报文格式和时序。
by @技术头条 2024-01-13 23:25 查看详情
分布式散列表协议 —— Kademlia 详解 (www.addesp.com)
散列表是一种由键值对组成的列表。你可以把它看作一部字典,只需要经过少数的几步就能通过某种信息找到需要的信息,查询速度很快。

分布式散列表就是由一个网络内所有的节点共同维护的一种散列表,这类散列表通常十分巨大,或者压根不可能由单个机器或者某机组机器维护。

Kademlia 协议由 Petar Maymounkov 和 David Mazières 设计。它可以在容易出错的环境(比如节点会毫无征兆地下线)中建立一张分布式散列表。
by @技术头条 2023-12-26 22:36 查看详情
BitTorrent 分布式散列表(DHT)协议详解 (www.addesp.com)
DHT 协议大幅度提高了 BitTorrent 网络的容错性,使整个网络难以因 Tracker 服务器的下线而崩溃,而这一切的外在表现就是“磁力链接”。
by @技术头条 2023-12-26 22:35 查看详情
BitTorrent Tracker 协议详解 (www.addesp.com)
BitTorrent 网络内的主机依靠互相交换自身持有的资源来完成资源共享,而 Tracker 协议会告诉你哪些主机有你需要的资源。

本文将详细介绍 Tracker 协议。
by @技术头条 2023-12-26 22:34 查看详情
一个分布式锁「失效」的案例分析 (mazhuang.org)
在日常的开发过程中,如果涉及到并发和事务,一定要多留几个心眼,考虑周全,确认以下要点是否都正确实现:1、是否做了必要的并发控制?2、事务的传播行为是否符合预期?3、AOP 的执行顺序是否符合预期?4、对并发的场景是否做了充分的测试?5、对于比较关键的操作,是否打印了必要的日志?
by @技术头条 2023-11-06 22:45 查看详情
技术 | Btrfs 详解:快照 (linux.cn)
想象一下,你长时间处理一个文件,反复添加和撤销修改。然后,在某个时刻你意识到:两小时前你撤销的部分修改,现在会非常有用。而昨天在你销毁那个设计之前,你也已经修改了这个特殊的部分。当然,由于你会定期保存文件,所以旧的改动会丢失。很多人可能都遇到过这样的情况。如果能恢复旧版本的文件,而无需定期手动复制,岂不美哉?

这是一个 Btrfs 快照可以帮助你的特别场景。当你使用正确的话,快照同时也为你的电脑提供了很好的备份方案。
by @技术头条 2023-10-24 23:57 查看详情
Dubbo 应用切换 ZooKeeper 注册中心实例,流量无损迁移 (mazhuang.org)
首先思考一个问题:如果 Dubbo 应用使用 ZooKeeper 作为注册中心,现在需要切换到新的 ZooKeeper 实例,如何做到流量无损?

本文提供解决这个问题的一种方案。
by @技术头条 2023-09-10 23:30 查看详情
一个 MySQL 数据库死锁的案例和解决方案 (mazhuang.org)
本文介绍了一个 MySQL 数据库死锁的案例和解决方案。
by @技术头条 2023-09-10 23:29 查看详情