编程社-专注IT编程技术教程分享
最新发布第3页
为什么要手动关闭文件流?-编程社

为什么要手动关闭文件流?

一、问题回溯 在项目的开发过程中,当我们对文件进行读写操作时,不知道大家有没有碰到这样的问题。 有的同学在做一个读取临时文件数据的工作,当读完文件内容,准备将其删除的时候,有时候会正...
CDN技术详解-编程社

CDN技术详解

想必大伙都听过 CDN(Content Delivery Network),几乎市面上所有上点规模的公司都会用到 CDN。 我前段时间看了一本《CDN技术详解》,然后本地简单实现了一个 CDN 服务,这篇文章来简单总结一...
清欢渡的头像-编程社清欢渡13天前
04814
什么是TIME_WAIT-编程社

什么是TIME_WAIT

MSL 是 Maximum Segment Lifetime,报文最大生存时间,它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因为 TCP 报文基于是 IP 协议的,而 IP 头中有一个 TTL 字段,是 IP 数...
redisson-分布式锁入门-编程社

redisson-分布式锁入门

在之前我介绍过如何保证缓存与数据库的双写一致性,说过使用分布式锁优化可以实现双写一致性,那么今天就来介绍一种具体实现方式redisson-分布式锁 原理 原理图如下: 主要分析如下: 何时加锁? ...
并发编程的根源--有序性问题-编程社

并发编程的根源–有序性问题

有序性 我们知道,程序在执行前,需经过编译器或解释器,翻译成机器语言,一条程序代码,会被翻译为多条机器指令。编译器或解释器为了优化程序的执行性能,有时会改变这些指令的执行顺序。而编...
快速排序最坏复杂度,最坏是什么情况-编程社

快速排序最坏复杂度,最坏是什么情况

快速排序是一种不稳定排序,它的时间复杂度为O(n·lgn),最坏情况为O(n2);空间复杂度为O(n·lgn) 快速排序最坏的情况还得看枢轴(pivot)的选择策略。在快速排序的早期版本中呢,最左面或者是...
清欢渡的头像-编程社清欢渡16天前
0305
mysql的为什么选取B+树,作为存储结构,与B树的比较?-编程社

mysql的为什么选取B+树,作为存储结构,与B树的比较?

B+ 树与 B 树差异的点,主要是以下这几点: 叶子节点(最底部的节点)才会存放实际数据(索引+记录),非叶子节点只会存放索引; 所有索引都会在叶子节点出现,叶子节点之间构成一个有序链表; ...