For循环耗时从3.2秒降到0.3秒

一道面试题 1 2 3 4 5 6 7 8 9 int test(int n) { int fact = 1, num = n+1; for(int i =1; i<num; i++) { fact *= 1; } return fact; } 面试官:这段求阶乘的代码怎么样? 答:挺简洁的,简单易懂。不过如果...

2023-12-26 10:09 · 12 min · 5939 words · Reid

零拷贝技术

磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10 倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝、直接 I/O、异步 I/O 等等,这些优化...

2023-08-08 14:44 · 14 min · 6800 words · Reid

高性能网络模式: Reactor Proactor

别小看这两个东西,特别是 Reactor 模式,市面上常见的开源软件很多都采用了这个方案,比如 Redis、Nginx、Netty 等等,所以学好这个模式设计的...

2023-08-07 15:54 · 14 min · 6708 words · Reid

IO 多路复用

最基本的 Socket 模型 要想客户端和服务器能在网络中通信,那必须得使用 Socket 编程,它是进程间通信里比较特别的方式,特别之处在于它是可以跨主机间通信。 Socket 的中...

2023-08-04 11:53 · 16 min · 7662 words · Reid

操作系统之文件系统

文件系统 文件系统是操作系统中负责管理持久数据的子系统,说简单点,就是负责把用户的文件存到磁盘硬件中,因为即使计算机断电了,磁盘里的数据并不会...

2023-04-23 14:04 · 37 min · 18507 words · Reid

操作系统之内存管理

什么是内存 最直观的,我们买手机,电脑,内存条,都会标明内存是多大,例如途中的8G,16G,128G都指的内存大小。 我们应该都听说过 RAM 存储器,...

2023-04-13 15:32 · 14 min · 6764 words · Reid

进程与线程基础知识

前言 先来看看一则小故事 我们写好的一行行代码,为了让其工作起来,我们还得把它送进城(进程)里,那既然进了城里,那肯定不能胡作非为了。 城里人有城...

2023-03-16 19:35 · 27 min · 13445 words · Reid

高并发架构

介绍 什么是高并发,从字面上理解,就是在某一时刻产生大量的请求,那么多少量称为大量,业界并没有标准的衡量范围。原因非常简单,不同的业务处理复杂...

2023-03-16 19:35 · 21 min · 10034 words · Reid

拔掉网线后,原本的TCP连接还存在吗?

背景 今天,聊一个有趣的问题:拔掉网线几秒,再插回去,原本的 TCP 连接还存在吗? 可能有的同学会说,网线都被拔掉了,那说明物理层被断开了,那在上层的...

2023-03-16 19:35 · 11 min · 5053 words · Reid

Token Cookie Session区别

在做接口测试时,经常会碰到请求参数为token的类型,但是可能大部分测试人员对token,cookie,session的区别还是一知半解。 Cookie...

2023-03-16 19:35 · 9 min · 4351 words · Reid