摘要: TCP是一个可靠传输协议,那么是如何保证传输的可靠性呢? 可靠性保证技术 检验和 序列号和确认应答 超时重传 流量控制 拥塞控制 校验和 校验和:在数据传输过程中,对传输的数据进行计算和验证,检测是否有错误或损坏,假如有差错就会直接丢弃TCP 段,重新发送。 TCP在计算检验和时,会在TCP首部加上 阅读全文 »
posted @ 2023-03-20 00:02 SpoonBlog 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 堆排序思路 堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法: 大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列; 小顶堆:每个节点的值都小于或等于其子节点的 阅读全文 »
posted @ 2022-08-17 13:04 SpoonBlog 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 归并逻辑 归并是采用分治和递归的思想完成的,主要是将数组分成多个小数组,保证小数组内数字有序。 例如: 1, 0, 4, 3, 7, 10, 5, 9 分治之后会形成 1,0,4,3,7,10,5,9 八个只含有一个数字的数组,并保证每一个子数组有序 然后进行合并 1,0, 形成 0,1然后4,3, 阅读全文 »
posted @ 2022-08-17 11:40 SpoonBlog 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 背景 项目在运行过程中服务器报警,CPU占用百分之九十,线上对所运行的的服务进行一个排查精准确定到指定服务器,确定产生CPU一次的精准代码。 演示案例 当出现CPU占用过高排除步骤: 使用top命令 查看占用CPU最高的进程 top 2. 然后通过 ps -ef 命令查询是什么程序 3. 使用 ps 阅读全文 »
posted @ 2022-08-16 22:34 SpoonBlog 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 快排的复杂度 快排逻辑 快速排序算法通过多次比较和交换来实现排序,其排序流程如下: 首先设定一个分界值(基准值),通过该分界值将数组分成左右两部分。 将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于分界值,而右边部分中各元素都大于或等于分界值。 阅读全文 »
posted @ 2022-08-15 13:49 SpoonBlog 阅读(891) 评论(0) 推荐(0) 编辑
摘要: 重排序的定义 重排序是指编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段。 重排序分3种类型 编译器优化的重排序。编译器再不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。 指令级并行的重排序:现代处理器基本采用指令级并行技术,来将多条指令重叠执行。如果不存在数据依赖、处理器 阅读全文 »
posted @ 2022-03-26 22:21 SpoonBlog 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 链表转换位红黑树 两个条件,必须同时满足两个条件才能进行转换 条件1:单个链表长度大于等于8 条件2:hashMap的总长度大于64个、且树化的节点位置不能为空 从源码看 条件一: 在putVal()方法中,可知当binCount大于7即节点数大于8时进行 final V putVal(int ha 阅读全文 »
posted @ 2022-03-24 08:47 SpoonBlog 阅读(575) 评论(0) 推荐(0) 编辑
摘要: 如何实现对象的克隆 (1)实现 Cloneable 接口并重写 Object 类中的 clone() 方法; (2)实现 Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深克隆。 深克隆和浅克隆的区别 (1)浅克隆:拷贝对象和原始对象的引用类型引用同一个对象。浅克隆 阅读全文 »
posted @ 2022-03-23 21:59 SpoonBlog 阅读(171) 评论(0) 推荐(0) 编辑
摘要: HTTP:互联网最广泛的一种网络协议,是一个客户端和服务端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,可以是浏览器更高效,使网络传输减少。 HTTPS:以安全为目标的HTTP通道,简单讲使HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础使SSL,因 阅读全文 »
posted @ 2022-03-23 21:52 SpoonBlog 阅读(60) 评论(0) 推荐(0) 编辑
摘要: GIT架构 主要分为四层 Workspace :开发者工作区 Index/Stage :暂存区/缓存区 Repository:仓库区 Remote:远程仓库 # git命令 git clone #初始化仓库 git branch name # 创建一个名字为name的分支 git checkout 阅读全文 »
posted @ 2022-03-23 21:50 SpoonBlog 阅读(25) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示