06 2023 档案
摘要:# 一、知识点 ## 1. std::bidirectional_iterator_tag `std::bidirectional_iterator_tag` 是 C++ 标准库中定义的一个迭代器类型标签,用于标识支持双向遍历的迭代器类型。 在 C++ 中,迭代器是一种泛型指针,用于遍历容器中的元素
阅读全文
摘要:# Linux内核源码编译过程 **总体流程:** 1. 下载Linux内核源码文件 2. 安装所需工具 3. 解压源码文件并配置 4. make编译源码 5. 下载busybox 6. 配置busybox并编译 ## 1. Linux源码编译 https://mirrors.edge.kernel
阅读全文
摘要:## 源码分析 Netty源码中调用链特别长,且涉及到线程切换等步骤,令人头大:) ### 1 启动剖析  我们就
阅读全文
摘要:### Netty实现简易RPC调用 总体流程: - 客户端发起rpc调用请求,封装好调用的接口名,函数名,返回类型,函数参数类型,函数参数值等属性,将消息发送给服务器。 - 服务器的handler解析rpc请求,调用对应方法,并将方法结果写回客户端。 - 客户端在**主线程**发送消息后,准备一个
阅读全文
摘要:# 三. Netty 进阶 ## 1. 粘包与半包 ### 1.1 粘包现象 服务端代码 ```java public class HelloWorldServer { static final Logger log = LoggerFactory.getLogger(HelloWorldServe
阅读全文
摘要:# 二. Netty 入门 ## 1. 概述 ### 1.1 Netty 是什么? ``` Netty is an asynchronous event-driven network application framework for rapid development of maintainabl
阅读全文
摘要:# 一. NIO 基础 non-blocking io 非阻塞 IO ## 1. 三大组件 ### 1.1 Channel & Buffer channel 有一点类似于 stream,它就是读写数据的**双向通道**,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据
阅读全文