- 博客(71)
- 收藏
- 关注

原创 小林Coding_操作系统_读书笔记
操作系统读书笔记,包含内存管理、文件系统、进程与线程、调度算法以及包含Reactor和Proactor的网络系统
2024-02-04 22:39:31
4373
1

原创 C/C++ Linux网络编程
一些网络基础知识和API,TCP三次握手四次挥手(TCP通信时序图),滑动窗口,代码实现并发服务器逻辑,TCP状态转移,IO多路复用,epoll反应堆,线程池,UDP通信,本地套接字,libevent。
2023-12-28 13:34:20
1742
1
原创 TCP重传机制、滑动窗口、拥塞控制
对于TCP协议中维持可靠传输的几种常见技术的通俗解释,包含重传机制(超时重传、快速重传),流量控制(滑动窗口),拥塞控制(慢启动,拥塞避免,拥塞发生,快速恢复)。
2024-03-08 23:02:14
2058
原创 C++单例模式、工厂模式
线程安全的懒汉式单例和饿汉式单例,三种最基本的工厂模式:简单工厂,工厂方法模式,抽象工厂,以及封装性更为良好的模板工厂,“产品注册制工厂”(产品注册模板类 + 单例工厂模板类)。
2024-03-06 18:36:27
1617
原创 基于Reactor模型的高性能网络库
EventLoop在epoll_create,注册各个Channel之后,处于epoll_wait阻塞状态,要想唤醒当前的EventLoop去执行新的连接,通过往wakefd上写入一个字符,唤醒当前的EventLoop。在多Reactor-多线程模型中,运用one loop per thread的思想,由一个mainReactor负责accept连接,然后把该连接挂载到某个subReactor,多个连接分配到多个线程,充分利用CPU。接收新用户连接后,通过轮询来选择subReactor并给它分发连接。
2024-03-04 20:12:48
1387
原创 【leetcode题解C++】763.划分字母区间 and 56.合并区间 and 738.单调递增的数字
763.划分字母区间(遍历后使用一个数组记录每个字母出现的最远下标,贪心算法),56.合并区间(自定义排序,贪心算法),738.单调递增的数字(to_string(),记录转折点,贪心算法)
2024-02-21 22:17:26
494
原创 【leetcode题解C++】452.用最少数量的弓箭引爆气球 and 435.无重叠区间
452.用最少数量的弓箭引爆气球(自定义排序,贪心算法),435. 无重叠区间(自定义排序,贪心算法)
2024-02-20 23:35:58
450
原创 【leetcode题解C++】134.加油站 and 860.柠檬水找零 and 406.根据身高重建队列
134. 加油站,860. 柠檬水找零(举出所有的情况,贪心算法),406. 根据身高重建队列(贪心算法)
2024-02-19 20:47:23
1005
原创 【leetcode题解C++】121.买卖股票的最佳时机 and 122.买卖股票的最佳时机II and 55.跳跃游戏 and 45.跳跃游戏II
121.买卖股票的最佳时机,122.买卖股票的最佳时机II,55.跳跃游戏,45.跳跃游戏II,1005.K次取反后最大化数组和(贪心算法)
2024-02-18 18:13:12
1140
原创 【leetcode题解C++】78.子集 and 90.子集II and 491.非递减子序列
78.子集(回溯算法子集问题),90.子集II(hashset去重,回溯算法),491.非递减子序列(hashset去重,回溯算法子集问题)
2024-02-15 17:14:10
629
原创 【leetcode题解C++】39.组合总和 and 40.组合总和II and 131.分割回文串
39.组合总和,40.组合总和II,131.分割回文串(回溯算法)
2024-02-09 13:42:50
501
原创 【leetcode题解C++】77.组合 and 216.组合总和III and 17.电话号码的字母组合
77.组合,216.组合总和III,17.电话号码的字母组合(回溯中的组合问题)
2024-02-05 21:21:06
1257
原创 【leetcode题解C++】450.删除二叉搜索树中的节点 and 669.修剪二叉搜索树 and 108.将有序数组转换为二叉搜索树
450.删除二叉搜索树中的节点(递归),669.修剪二叉搜索树(递归),108.将有序数组转换为二叉搜索树(递归或迭代,mid,left,right三个下标)。
2024-02-04 19:22:40
1098
原创 【leetcode题解C++】98.验证二叉搜索树 and 701.二叉搜索树中的插入操作
98.验证二叉树搜索树(通过中序遍历,判断验证),701.二叉搜索树中的插入操作(两个临时结点,首先找到叶子结点,再判断添加为左孩子还是右孩子)
2024-02-03 22:04:51
635
原创 【问题解决】VSCode1.86.0版+拓展Remote-SSHv0.108 无法连接到VSCode服务器(VSCode无法远程连接到Linux)
VSCode1.86.0版+拓展Remote-SSHv0.108 无法连接到VSCode服务器(VSCode无法远程连接到Linux)vscode server won't start: "Waiting for server log..."
2024-02-03 19:40:58
1179
原创 【leetcode题解C++】654.最大二叉树 and 617.合并二叉树
654.最大二叉树(递归),617.合并二叉树(迭代,队列,修改第一棵树)
2024-02-02 20:02:40
409
原创 【leetcode题解C++】257.二叉树的所有路径 and 404.左叶子之和 and 112.路径总和
257.二叉树的所有路径(递归), 404.左叶子之和(递归或迭代(改进后序遍历)), 112.路径总和(回溯)
2024-01-30 19:13:02
408
原创 解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误
解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误
2024-01-29 17:49:41
884
原创 【leetcode题解C++】101.对称二叉树 and 111.二叉树的最小深度 and 222.完全二叉树的节点个数 and 110.平衡二叉树
101.对称二叉树(队列),111.二叉树的最小深度(层序遍历),222.完全二叉树的节点个数(层序遍历),110.平衡二叉树(递归)
2024-01-28 17:03:00
989
原创 git push报错Missing or invalid credentials.Error: connect ECONNREFUSED /run/user/1000/vscode-git-ec01
git push报错Missing or invalid credentials.Error: connect ECONNREFUSED /run/user/1000/vscode-git-ec01
2024-01-27 20:02:31
1807
原创 【leetcode题解C++】144. 94. 145.二叉树前序、中序、后序遍历 and 102.二叉树的层序遍历
144. 94. 145.二叉树的前中后序遍历(递归,迭代),102.二叉树的层序遍历,226.翻转二叉树(层序遍历,swap())
2024-01-27 16:52:53
534
原创 【leetcode题解C++】150.逆波兰表达式求值 and 239.滑动窗口最大值 and 347.前k个高频元素
150.逆波兰表达式求值(栈),239.滑动窗口最大值(单调队列),347.前k个高频元素(哈希map,二维数组)
2024-01-26 21:48:33
2613
原创 【leetcode题解C++】232.用栈实现队列 and 225.用队列实现栈 and 20.有效的括号 and 1047.删除字符串中的所有相邻重复项
232.用两个栈实现队列,225.用两个队列实现栈,20.有效的括号(栈),1047.删除字符串中的所有相邻项(栈)
2024-01-24 16:29:04
1135
原创 【leetcode题解C++】459.重复的子字符串 and 28.找出字符串中第一个匹配项的下标
459.重复的子字符串,28.找出字符串中的第一个下标(朴素模式匹配)
2024-01-22 17:07:18
393
原创 【leetcode题解C++】541.反转字符串II and 151.反转字符串中的单词
541.反转字符串(1. 使用swap()的暴力解法,2. 使用库函数reverse()的简洁解法),151.反转字符串中的单词(指针和swap())
2024-01-22 00:26:35
550
原创 Windows主机Navicat远程连接到Ubuntu18.04虚拟机MySQL
对Navicat远程连接到虚拟机的MySQL服务时,出现1130错误代码的解决,也提到了MySQL在Ubuntu上的安装、默认密码的修改、字符集修改。
2024-01-21 16:55:48
1219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人