上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 24 下一页
摘要: 在Redis的使用过程中,大多数人都是使用现成的客户端,如Jedis,Redisson,Lettuce。因此本文研究用BIO的方式手写Redis客户端尝试,对遇到的问题进行探究及总结。 如何从架构角度思考架构分层? Redis通讯协议RESP是怎么回事? 如何基于BIO实现Redis客户端? Red 阅读全文
posted @ 2019-11-14 02:42 kosamino 阅读(853) 评论(2) 推荐(0) 编辑
摘要: Spring 的两大核心,一是IOC,另一个是AOP,本博客从原理、AOP代码以及AOP使用三个方向来讲AOP。先给出一张AOP相关的结构图,可以放大查看。 一、Spring AOP 接口设计 1、PointCut (连接点,定义匹配哪些方法) 首先打开 Spring 的源码,查看 PointCut 阅读全文
posted @ 2019-11-12 12:55 kosamino 阅读(1087) 评论(0) 推荐(0) 编辑
摘要: 一、什么是IOC 引用 Spring 官方原文:This chapter covers the Spring Framework implementation of the Inversion of Control (IoC) [1] principle. IoC is also known as 阅读全文
posted @ 2019-11-07 04:21 kosamino 阅读(4477) 评论(0) 推荐(3) 编辑
摘要: 一、为什么要产生Session http协议本身是无状态的,客户端只需要向服务器请求下载内容,客户端和服务器都不记录彼此的历史信息,每一次请求都是独立的。 为什么是无状态的呢?因为浏览器与服务器是使用socke套接字进行通信,服务器将请求结果返回给浏览器之后,会关闭当前的socket链接,而且服务器 阅读全文
posted @ 2019-11-03 05:22 kosamino 阅读(10167) 评论(0) 推荐(1) 编辑
摘要: 一、事务的ACID原则 数据库事务的几个特性:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily),简称就是ACID。 原子性:操作这些指令时,要么全部执行成功,要么全部不执行。只要其中一个指令执行失败,所有的指 阅读全文
posted @ 2019-10-31 07:11 kosamino 阅读(30890) 评论(0) 推荐(4) 编辑
摘要: 一、Linux下mysql彻底卸载 1、查看mysql的安装情况 rpm -qa | grep -i mysql 2、删除上图安装的软件 rpm -ev mysql-community-libs-5.7.27-1.el6.x86_64 --nodeps 3、都删除成功之后,查找相关的mysql的文件 阅读全文
posted @ 2019-10-30 18:03 kosamino 阅读(1014) 评论(0) 推荐(0) 编辑
摘要: 一、表设计上的坑 1、字段设计 1.1 字段类型设计 尽量使用整型表示字符串: `INET_ATON(str)`,address to number `INET_NTOA(number)`,number to address 1.2 定长和非定长数据类型的选择 1、decimal不会损失精度,存储空 阅读全文
posted @ 2019-10-30 02:50 kosamino 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 一、索引是什么? 索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构。而且是实现了高级查找算法的数据结构,索引一般以文件形式存储在磁盘上,索引检索需要磁盘I/O操作。 二、为什么要使用索引? 索引能极大的减少存储引擎需要扫描的数据量。 索引可以把随机IO变成顺序IO。 索引可以帮助我们在 阅读全文
posted @ 2019-10-29 19:28 kosamino 阅读(1916) 评论(0) 推荐(2) 编辑
摘要: 算法分类 十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。 线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较 阅读全文
posted @ 2019-10-29 05:25 kosamino 阅读(939) 评论(0) 推荐(0) 编辑
摘要: M阶B+树的定义: B+树是对B树的一种变形树,它与B树的差异在于: 有k个子结点的结点必然有k个关键码; 非叶结点仅具有索引作用,跟记录有关的信息均存放在叶结点中。 树的所有叶结点构成一个有序链表,可以按照关键码排序的次序遍历全部记录。 如下图,是一个B+树: 下图是B+树的插入动画: 代码如下: 阅读全文
posted @ 2019-10-26 04:28 kosamino 阅读(3076) 评论(1) 推荐(2) 编辑
摘要: TreeMap实现了SotredMap接口,它是有序的集合。而且是一个红黑树结构,每个key-value都作为一个红黑树的节点。如果在调用TreeMap的构造函数时没有指定比较器,则根据key执行自然排序,如果指定了比较器则按照比较器来进行排序。 一、数据结构 1、继承关系 2、实现接口 3、基本属 阅读全文
posted @ 2019-10-25 04:57 kosamino 阅读(666) 评论(0) 推荐(0) 编辑
摘要: B树定义 B 树又叫平衡多路查找树。一棵m阶的B 树 (m叉树)的特性如下: 根节点至少有两个孩子 每个非根节点至少有M/2(上取整)个孩子,至多有M个孩子。 每个非根节点至少有M/2-1(上取整)个关键字,至多有M-1个关键字。并以升序排列。 key[i]和key[i+1]之间的孩子节点的值介于k 阅读全文
posted @ 2019-10-25 04:07 kosamino 阅读(3050) 评论(2) 推荐(1) 编辑
摘要: 此测试仅用于二叉树基本的性质测试,不包含插入、删除测试(此类一般属于有序树基本操作)。 阅读全文
posted @ 2019-10-24 18:22 kosamino 阅读(458) 评论(0) 推荐(0) 编辑
摘要: HashMap和HashTable有什么不同?在面试和被面试的过程中,我问过也被问过这个问题,也见过了不少回答,今天决定写一写自己心目中的理想答案。 代码版本 JDK每一版本都在改进。本文讨论的HashMap和HashTable基于JDK 10.0.1。 1. 时间 HashTable产生于JDK 阅读全文
posted @ 2019-10-24 13:00 kosamino 阅读(514) 评论(0) 推荐(0) 编辑
摘要: /** * 基于红黑树(Red-Black tree)的 NavigableMap 实现。该映射根据其键的自然顺序进行排序, * 或者根据创建映射时提供的Comparator 进行排序,具体取决于使用的构造方法。 * * 此实现为 containsKey、get、put 和 remove 操作提供受保证的 log(n) 时间开销。 * 这些算法是 Cormen、Leiserson和 Rivest 阅读全文
posted @ 2019-10-24 12:16 kosamino 阅读(373) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 24 下一页