摘要: Redis的网络模型是基于I/O多路复用程序来实现的。源码中包含四种多路复用函数库epoll、select、evport、kqueue。在程序编译时会根据系统自动选择这四种库其中之一。下面以epoll为例,来分析Redis的I/O模块的源码。 epoll系统调用方法 Redis网络事件处理模块的代码 阅读全文
posted @ 2020-07-25 15:51 数小钱钱的种花兔 阅读(846) 评论(0) 推荐(0) 编辑
摘要: java反射使用总结 获取类对象 (1)【Source源代码阶段】 Class.forName("全类名"):将字节码文件加载进内存,返回Class对象 多用于配置文件,将类名定义在配置文件中。读取文件,加载类。 (2)【Class类对象阶段】 类名.class:通过类名的属性class获取 多用于 阅读全文
posted @ 2020-07-17 16:51 数小钱钱的种花兔 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 问题描述 有 N 个信件和信箱,每封信件对应一个正确信箱位置。现在它们被打乱,求错误装信方式的数量。保证每一封信都装在错误的位置。 思路 抽象成动态规划问题 定义一个数组dp[]存储错误方式数量。dp[i]表示,有i封信、i个信箱情况下的错误装信方法总数。 转移方程建立 对于第N封信而言,假设其装在 阅读全文
posted @ 2020-07-03 11:52 数小钱钱的种花兔 阅读(1225) 评论(0) 推荐(0) 编辑
摘要: 本博客总结学习堆排序算法,以一个数组为例,采用大根堆进行升序排序,附有代码实现。 堆排序的思想 堆排序的逻辑是建立在完全二叉树的基础上。 有两个概念必须要了解: 大根堆:每个结点值都大于等于左右孩子结点值 小根堆:每个结点值都小于等于左右孩子结点值 以大根堆为例,将根结点与最后一个结点交换,弹出根结 阅读全文
posted @ 2020-06-30 11:33 数小钱钱的种花兔 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 1.移动零 2.重塑矩阵 3.搜索二维矩阵2 4.有序矩阵中第K小的元素 5.寻找重复数 6.数组相邻差值的个数 7.数组的度 8.数组嵌套 9.分隔数组 移动零 【五星】 LeetCode:移动零 题目描述: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对 阅读全文
posted @ 2020-06-15 19:54 数小钱钱的种花兔 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 位运算原理 不适用额外空间交换两个数 1. 缺失数字(异或应用) 2. 只出现一次的数字(异或应用) 3. 明汉距离(异或应用) 4. 只出现一次的数字(进阶版) 5. 颠倒二进制位 6. 判断一个数是不是4的n次方 7. 交替位二进制数 8. 数字的补数 9. 两整数之和 10. 最大单词长度乘积 阅读全文
posted @ 2020-06-05 19:45 数小钱钱的种花兔 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 1. 翻转移位相关方法 2. 有效的字母异位词 3. 计算一组字符集合可以组成的回文字符串的最大长度 4. 判断字符串同构 5. 计算字符串中有多少个回文子串 6. 替换空格 翻转移位相关方法 右移 s = "abcd123" k = 3 Return "123abcd" 先分别将“abcd”和“1 阅读全文
posted @ 2020-05-30 10:04 数小钱钱的种花兔 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 1. 用队列实现栈 2. 最小栈 3. 有效的括号 4. 每日温度(栈应用) 5. 下一个更大元素2(栈应用) 用队列实现栈 LeetCode:用队列实现栈 题目描述: 使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 阅读全文
posted @ 2020-05-27 10:17 数小钱钱的种花兔 阅读(313) 评论(0) 推荐(0) 编辑
摘要: UNIX的五种I/O模型:阻塞式I/O模型,非阻塞式I/O模型,I/O复用模型,信号驱动式I/O模型,异步I/O模型。这些概念看似容易混淆,从UNIX底层的I/O操作的角度来分析,其实不难理解。 一个输入操作通常包括以下两个阶段: 1. 等待数据准备好;包括等待数据从网络中到达,数据到达后存入内核的 阅读全文
posted @ 2020-05-23 19:17 数小钱钱的种花兔 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 之所以标明“jdk7”,是因为jdk8和jdk7中的HashMap实现原理不一样。jdk7中使用“数组+链表”形式来实现哈希表,这与数据结构课上所学的一致。而jdk8在它的基础上,引入了红黑树。本博客先从最原始的“数组+链表”形式开始总结梳理。 首先在开始之前要有一个基本认识:HashMap是一个对 阅读全文
posted @ 2020-05-13 19:16 数小钱钱的种花兔 阅读(269) 评论(0) 推荐(0) 编辑