要不要再学学下面的文章?
Memcached的存储原理解析 (www.codedump.info)
最近工作上的需要,需要做一个LRU形式管理内存的分配器,首先想到的就是Memcached这个项目。早些年粗略的看过一些,有个大体的了解,这一次看下来发现其LRU算法做了不少的改动。
by @技术头条 2024-03-21 23:21 查看详情
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 查看详情
Linux中使用tar压缩命令排除文件 (lisenhui.cn)
众所周知tar命令是在Linux系统中最为常用来解压缩文件的命令之一,之前大部分时候都直接用它来压缩备份或转移的文件内容,因此也未过多关注过它在压缩时的其它可选参数使用。但最近在转移文件遇到其占用空间比较大,考虑到里面有些内容并不是必须,于是想到如何来使用tar命令参数来实现,经过多次尝试,找到了个解决办法——使用exclude-from参数,可灵活控制不需要压缩文件,然后顺手做个记录分享。
by @技术头条 2023-12-26 22:19 查看详情
技术 | Btrfs 详解:快照 (linux.cn)
想象一下,你长时间处理一个文件,反复添加和撤销修改。然后,在某个时刻你意识到:两小时前你撤销的部分修改,现在会非常有用。而昨天在你销毁那个设计之前,你也已经修改了这个特殊的部分。当然,由于你会定期保存文件,所以旧的改动会丢失。很多人可能都遇到过这样的情况。如果能恢复旧版本的文件,而无需定期手动复制,岂不美哉?

这是一个 Btrfs 快照可以帮助你的特别场景。当你使用正确的话,快照同时也为你的电脑提供了很好的备份方案。
by @技术头条 2023-10-24 23:57 查看详情
内网穿透最好用的还得是ngrok,一行命令就搞定! (blog.didispace.com)
最近在写支付的东西,调试时候需要让支付平台能够回调本地接口来更新支付成功的状态。但由于开发机器没有公网IP,所以需要使用内网穿透来让支付平台能够成功访问到本地开发机器,这样才能更高效率的进行调试。
by @技术头条 2023-08-18 22:58 查看详情
你的Spring Boot应用启动很慢?不妨试试这个工具! (blog.didispace.com)
睡不着闲逛,在GitHub上看到一个不错的开源项目:Spring Startup Analyzer。
从项目名称中就大概能猜到,这是一个分析Spring应用启动过程的工具。Spring Startup Analyzer通过采集Spring应用启动过程的数据,进而生成一个交互式的分析报告,帮助用户发现Spring应用启动慢的位置。同时,Spring Startup Analyzer还提供了Spring Bean异步初始化的工具,来帮助开发者加快Spring应用的启动时间。
下面一起来看看其提供的强大功能。
by @技术头条 2023-07-30 21:37 查看详情
Spring 启动流程概述 (www.diguage.com)
对于 Spring 启动流程和 Bean 的生命周期,总有一些小地方搞的不是很清楚,干脆直接通过修改代码增加日志输出,使用断点单步调试,把整个流程捋顺了一点点的。

除了加载配置文件或者基础配置类外,Spring 的启动过程几乎都被封装在 AbstractApplicationContext#refresh 方法中,可以说弄清楚了这个方法的执行过程,就摸清楚了 Spring 启动全流程,下面的流程分析也是以这个方法为骨架来展开的。

流程概要 下面完整流程有些太复杂,所以,提炼一个简要的过程,方便糊弄面试官,哈哈哈
by @技术头条 2023-06-24 23:05 查看详情