- 博客(10)
- 收藏
- 关注
原创 23 种设计模式整理(基于腾讯云技术文章)
核心目标:定义类 / 对象之间的交互规则,明确职责分工,提升代码可读性与灵活性。行为型模式关注的是各个类之间的相互作用,将职责划分清楚,使得我们的代码更加地清晰。设计模式的本质:不是 “固定代码模板”,而是对 “常见问题解决方案” 的抽象,核心是解耦、复用、扩展、清晰职责。学习建议:先理解核心设计原则(三大原则),再学习模式;结合实际场景选择模式(如多属性类用建造者,动态增强用装饰 / 代理);避免过度设计(简单场景用简单工厂,无需强行用抽象工厂)。最终目标。
2025-11-03 23:57:58
717
原创 内存池的实现与解析(v1)
平时顾客买东西(程序需要内存),你得去批发市场进货(向操作系统申请内存)。如果顾客每次只买一瓶水,你每次都跑一趟批发市场,是不是特别麻烦?(频繁申请 / 释放内存会让程序变慢)提前进一大批货放在仓库(内存池),顾客要的时候直接从仓库拿,用完了还回仓库,不用每次都跑批发市场。简单说:内存池是一种 “提前申请大块内存,然后自己管理分配和回收” 的技术,目的是提高内存使用效率,减少频繁向系统申请内存的开销。提前申请大块内存,切成小块(Slot)管理。
2025-10-14 20:57:15
1719
原创 从TCP到HTTP高并发的C语言实现 - Linux环境完整指南
学习最基础的TCP Socket编程理解TCP连接的生命周期(创建→绑定→监听→接受→通信→关闭)掌握Linux系统调用:socket(), bind(), listen(), accept(), send(), close()
2025-09-29 00:18:31
619
原创 技术栈演化脉络与可落地知识体系:从 TCP 到操作系统的高并发实践指南
TCP 是内核给你的「字节流承诺」,HTTP 是「文本语义约定」,高并发是「把内核调度器当队友而非黑盒」,多进程 / 线程 / 协程是「用户态的二次调度」,最终用操作系统指标给业务指标做「实时翻译」。将这四层(应用协议层→IO 层→用户态调度层→内核态 OS 层)的映射关系形成心智图,即可掌握从 TCP 到操作系统的高并发核心体系,实现技术落地与问题排查的闭环。
2025-09-29 00:12:07
592
原创 Nginx
Nginx(发音 “engine x”),它是全球最流行的高性能 HTTP 服务器、反向代理服务器,同时也支持负载均衡、动静分离、缓存等核心功能,广泛用于互联网架构(如大型网站、APP 后端、CDN 节点等)。Nginx 的配置文件默认路径为 /etc/nginx/nginx.conf(Linux 系统),核心配置分为 “全局块”“events 块”“http 块”,以下是几个常用场景的简化配置示例:。“反向代理” 是 Nginx 最核心的角色之一,理解它需要先区分 “正向代理” 与 “反向代理”:。
2025-09-27 17:09:55
1638
原创 客户端突然断开连接
调用 fork() 后,父进程的所有文件描述符(包括 socket)会被 “复制” 给子进程 —— 父和子的 socket 指向同一个 “内核资源”(可以理解为 “共享同一个通信通道”),只有当 “所有指向这个资源的文件描述符都被关闭”,内核才会真正释放这个资源。客户端突然断开后,服务器的子进程会自动清理资源(关闭客户端套接字、退出子进程),父进程完全不受影响,继续等待新的客户端连接 —— 这就是多进程的好处:一个客户端的异常不会拖累整个服务器。代码里是怎么处理的?常见的可改选项有这些(实战中常用)。
2025-09-27 16:52:33
867
原创 TCP 服务器的核心工作流程
此时 socket 会 “盯着” 8080 端口,一旦有客户端发 connect() 请求(比如你写的客户端程序),就会把这个请求放进等待队列,等着 accept() 去 “接”。子进程退出后,父进程如果不 “收尸”(调用 wait() 或 waitpid()),子进程会变成 “僵尸进程”(占着 PID 不释放,多了会导致系统资源耗尽)。咱们把代码里最核心的几个函数拎出来,一个个讲透 —— 这些函数是 Linux 网络编程的 “基本功”,学会了以后写其他网络程序也能用:。光看不行,咱们得跑起来才印象深。
2025-09-27 16:45:36
697
原创 Linux 下 TCP 客户端 - 服务器通信实现
服务器端主要负责创建套接字、绑定地址、监听连接请求,并为每个客户端连接创建子进程来处理数据接收等操作,同时通过信号处理防止僵尸进程的产生。客户端主要负责创建套接字、连接到服务器,并向服务器发送用户输入的消息,同时可以通过输入 “exit” 退出连接。本文实现了一个基于 Linux 的 TCP 客户端 - 服务器通信程序,服务器端能够同时处理多个客户端连接,客户端可以向服务器发送消息。通过这个简单的示例,展示了 TCP 网络编程的基本流程和关键函数的使用,为进一步开发更复杂的网络应用奠定了基础。
2025-09-25 22:35:41
579
原创 Linux Socket 网络(自我学习不喜勿喷)
客户端:主动发起通信的程序,无需绑定固定端口,系统会自动分配端口。例如本地 FTP 客户端向远程服务器请求文件时,本地 FTP 程序即为客户端。服务器端:被动等待通信请求的程序,需绑定固定端口以接收客户端连接。例如远程 FTP 服务器,用于响应客户端的文件请求。部分场景下,程序可同时作为客户端与服务器端,如 P2P 通信。
2025-09-16 19:05:55
639
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅