240 发简信
IP属地:湖南
  • I/O 多路复用

    什么是 I/O 多路复用:I/O 多路复用指的是可以通过某种机制,监视多个文件描述符,一旦某个文件描述符准备就绪后,就能够通知程序进行相关的读写操作,目前 I/O 多路复用机...

  • ARQ 协议

    ARQ 协议是一个自动重传请求协议,主要通过确认和超时两个机制,在不可靠服务的基础上实现可靠信息的发送。如果发送方在发送后的一段时间没有接收到确认,则会自动再次重新发送,AR...

  • Cookie 和 Seesion 的区别

    Cookie 和 Session 都是会话技术,Cookie 运行在客户端,Session 运行在服务器端 Cookie 的大小有限制,并且浏览器对保存 Cookie 的个数...

  • TCP 如何保证可靠性传输

    检验和:这是一个端到端的检验和,目的是用于检测数据在传输过程中有没有发生变化,如果接受到的 TCP 报文段检验和发生了差别,那么 TCP 会丢弃这个报文段 流量控制:TCP ...

  • TCP 和 UDP 的区别

    TCP 是面向连接的,可靠性高一些;UDP 是基于非连接的,可靠性低一些 由于 TCP 是面向连接的通信,需要三次握手、确认连接等过程,会有延时,实时性差一些,并且建立连接的...

  • MySQL 主从复制的原理及步骤

    MySQL 主从复制原理:主库(Master) 有一个 I/O 线程,从库(Slave) 有一个 I/O 线程和 SQL 线程,从库的 I/O 线程负责读取主库的 binlo...

  • PHP 变量类型转换的原理

    PHP 中的所有变量都是被存储在 zval 变量容器中,在 zval 变量容器中主要是包含 变量名、变量值、变量类型 Type、以及另外两个额外的字段 is_ref、refc...

  • PHP 数组的底层实现

    PHP 数组的底层主要是通过 HashTable 实现,HashTable 通过映射函数或者散列函数将 String Key 转换成一个普通的数字下标,然后再将 Value ...

  • MySQL 为什么选择 B+ 树作为索引结构

    MySQL 用于衡量数据查询的效率是 磁盘 I/O 次数,一般来讲索引比较大,尤其是对于关系型数据库这种数据量俺的所以能达到亿级别的,为了节省内存的使用,一般会将索引存储到...

  • 共享锁 & 排它锁 & 意向锁

    共享锁:共享锁是读锁,是在执行读取操作的时候创建的。如果事务 T 对 数据 A 添加了共享锁,那么其他事务只能再对数据 A 添加 共享锁而不能添加其他类型的锁,对于已经添加了...

  • 乐观锁 & 悲观锁

    乐观锁:操作数据的时候,乐观锁不会认为别人同时也会修改数据,乐观锁本身是不会加锁的,只是在执行更新操作的时候,会检查在这个期间是否有其他人修改数据,如果有则停止操作,否则的话...

  • redis 常见的数据结构以及应用场景

    redis 常见的数据结构类型主要包含五种:String、Hash、List、Set、Sorted Set String String 数据结构是最简单的 Key->Valu...

  • redis 如何实现 LRU

    LRU 是一个缓存置换算法,在缓存有限的情况下,如果有新的数据加载至缓存,则需要考虑将不会再继续被访问的数据剔除掉,但是缓存是否会被访问是没有办法预测的,所以,LRU 是基于...

  • RDB 如何保存数据,bgsave 过程 redis 还在修改数据,如何保证快照存储的是修改前的数据

    1.redis 服务器主进程调用 fork() 函数,生成一个子进程2.redis 服务器主进程可以继续处理来自其他客户端的请求,子进程将内存中的数据写入到一个临时的 rdb...

  • 常用数据结构-数组&字符串

    数据结构是算法的基石,如果没有扎实的数据结构基础,要想把算法学好甚至融会贯通是非常困难的,而优秀的算法又往往取决于你采用哪种数据结构 数组、字符串(Array & Strin...

  • 120
    线性表之栈的线性存储

    栈的定义 在我们软件应用中,栈这种 后进先出 的数据结构应用非常广泛。比如最常见到的浏览器,在使用浏览器访问网页时我们会发现无论是什么浏览器都会有一个 后退 键,点击后退键可...

  • 120
    线性表的链式存储结构2.0

    这篇文章开启线性表的大版本更新2.0----循环链表 单循环链表 由前面关于单链表的介绍我们知道,在单链表中每个结点都只存储了下一个结点的存储地址,直到尾结点为 NULL,我...

  • 线性表的链式存储结构1.1

    这篇文章依然介绍线性表的链式存储结构-单链表 单链表的整表创建 线性表顺序存储结构的创建,其实就是一个数组的初始化,即声明一个类型和容量确定的数组并赋值的过程。单链表和线性表...

  • 120
    线性表的链式存储结构1.0

    顺序存储结构不足的解决办法 通过 线性表之数组 这篇文章的介绍,我们知道线性表的顺序存储是有缺点的,最大的缺点就是 插入、删除时需要移动大量元素,对于像数组这样在编程中常用的...

  • 120
    线性表之数组

    数组在开发中是我们最常见的一种数据结构,数组也是最重要的数据结构之一,刚开始接触编程的时候我就有一个疑惑:数组的下标为什么是从 0 开始的,而不是从 1 开始,这样不是更加直...

个人介绍
一直学习,一直谦虚,一直自由