TL_ITL_TTL原理 该文章讨论了线程本地存储(ThreadLocal)及其扩展机制,包括InheritableThreadLocal和TransmittableThreadLocal(TTL)的原理与实现,以及它们的应用场景和局限性。以下是核心内容的总结: 1. **ThreadLocal基础** - ThreadLocal为每个线程分配独立的空间(ThreadLocalMap),存储线程私有变量,确保线 2024-05-10 计算机基础 > 操作系统 #java #多线程
nas入门 本文主要讨论了NAS(网络附加存储)的性能优化、视频编解码技术以及影音服务器的转码功能。 1. **NAS传输速度与硬件选择**: - 实际传输速度受网口和硬盘速度限制,千兆网络环境下机械硬盘已能满足需求,阵列可提升速度,但随机读写可能较慢。 - WiFi通常无法达到千兆网速,适合有线连接的高带宽场景(如900Mbps视频剪辑)。 2. **影音服务器与转码功能** 2024-04-22 nas #IO #nas
内网穿透技术 网络通信需要目的IP和源IP地址以进行数据往返传输。由于IPv4地址有限,局域网设备使用私有IP,通过路由器NAT(网络地址转换)技术共享公网IP实现外网访问。NAPT(网络地址端口转换)进一步扩展NAT功能,通过转换端口号允许多设备共享同一公网IP。例如,家用路由器将内网设备的HTTP请求映射到不同公网端口以实现并发访问,并记录映射表以便返回数据包正确转发。 私网设备可主动访问公网,但公网 2024-04-20 计算机基础 > 计算机网络 #计算机网络 #IO
从FD到socketFD再到epoll原理 fd(文件描述符)是 File descriptor 的缩写,是一个非负整数,本质上是进程相关的索引值。当打开一个文件时,内核通过系统调用(如 `open`)向进程返回文件描述符,之后通过该描述符进行文件的读写操作。 fd 的取值范围是 0 到 OPEN_MAX-1,其中 0、1、2 已被 POSIX 标准赋予特殊含义,分别是标准输入、标准输出和标准错误。用户可通过 `ulimit` 命令查看当 2024-04-15 计算机基础 #计算机网络 #操作系统 #文章精读
IO模型介绍 文章主要介绍了I/O(输入输出)模型及其实现方式,涵盖阻塞I/O、非阻塞I/O、多路复用I/O(select/poll/epoll)、信号驱动I/O和异步I/O的基本概念与工作机制。 摘要内容如下: I/O(输入输出)模型包括磁盘I/O和网络I/O,其核心过程分为两步:应用程序向操作系统发起I/O请求,等待数据就绪(如网卡数据到达内核缓冲区);操作系统将数据从内核缓冲区拷贝到用户空间。 2024-04-14 计算机基础 > 操作系统 #操作系统 #IO
Linux中断原理 中断是操作系统中关键机制,允许处理器暂停当前任务,转而执行另一特定程序,处理完成后恢复原任务。中断解决了顺序执行的局限性,使系统能够响应外部事件(如键盘输入)并支持多任务并发。它分为硬件中断和软件中断两类。 **硬件中断**包括外部设备触发的异步中断(如I/O事件)和CPU内部同步产生的异常(如缺页或非法指令)。CPU通过可编程中断控制器管理外部中断,其中控制器的IRQ引脚与中断号关联,设备触发 2024-04-12 计算机基础 > 操作系统 #操作系统 #linux
常见加密算法 文章摘要: 本文系统介绍了非可逆加密与可逆加密两大加密体系的原理及应用。非可逆加密部分重点解析了MD5和SHA系列哈希算法,包括MD5的128位哈希值生成过程及其已被攻破的安全缺陷,以及SHA-1、SHA-2、SHA-3算法的演进。这类算法通过生成数字指纹应用于密码存储(配合盐值防御彩虹表攻击)、文件完整性校验和秒传功能。同时阐述了HMAC通过密钥增强哈希值的安全性,在SSL/TLS和JWT等场 2024-04-08 计算机基础 #计算机网络 #加密
考试压测及瓶颈排查 本次压测针对考试系统的瓶颈进行了全面排查与优化,主要包括以下内容和结果: 1. **压测条件与问题发现** - 测试规模为6k~10k用户,预热100秒,题目响应延迟5~195秒(平均100秒),初始仅使用1个Exam Pod(1核1G)。 - 进入考试阶段的峰值QPS为40(每1k用户),稳定后降至10(每1k用户)。 - 发现交卷时Exam Pod崩溃,内存 2024-03-01 开发 > 后端 #后端 #java #优化 #水杉 #压测
趣学架构 这篇文章主要围绕软件开发中的设计模式、系统架构优化和故障处理展开,以下是摘要内容: 1. **学习能力与代码优化** - 知识更新快、需求变化多,需通过优化代码结构应对(如避免重复代码)。提出两种方案: - 方案1:工具类统一逻辑,标准化流程 - 方案2:模板方法模式(Java示例),固定调用顺序,集中处理日志/错误 2. **领域驱动设计(DDD)与 2024-01-25 系统架构 #java #设计模式 #系统架构
高性能短链设计 这篇文章主要讨论了短链接服务的实现原理和技术方案。以下是关键内容总结: 1. **短链接的作用**:在文字限制场景(如微博)节省空间,生成的二维码更易识别;通过302重定向实现跳转并统计点击数。 2. **生成短链接的核心方法**: - 使用非加密哈希函数(如MurmurHash的32位版本)将长链转为数字,再通过62进制编码缩短字符长度。 - 为长链的MD5建立数据库唯一 2023-12-27 项目 #系统架构 #文章精读 #项目