HTTP1.0和HTTP2.0有什么区别


HTTP1.0和HTTP2.0有什么区别回答重点:HTTP1.0版本主要增加了以下几点:增加了HEAD和post等新方法增加了响应状态码引入了请求头和响应头在请求中加入了HTTP版本号引入了Content-Type 使得拆书的数据不再限于文本HTTP1.1版本主要增加以下几点:新增了连接管理即kee

Golang面试题收集

笔记  Go 

Golang面试题收集答: 不会for range在循环前已经获取了可迭代变量的可迭代次数了不会死循环,for range是golang的语法糖,在循环开始前会获取切片长度,然后再执行切片长度次数的循环如果for 循环select时候,通道关闭了,那么每次都会执行这个case如果select中的ca

Mysql为什么选择B+树作为索引结构?

mysql  笔记  Go 

参考: https://juejin.cn/post/7412893752090181642?from=search-suggestMysql为什么选择B+树作为索引结构?减少磁盘I/O次数B+树每个节点可以存储大量键值,使得树的高度极低数据库数据存储在磁盘上,每次查询磁盘I/O次数直接影响性能,B

HTTP状态码


1xx 状态码API 不需要1xx状态码,下面介绍其他四类状态码的精确含义。2xx 状态码200状态码表示操作成功,但是不同的方法可以返回更精确的状态码。GET: 200 OKPOST: 201 CreatedPUT: 200 OKPATCH: 200 OKDELETE: 204

悲观锁和乐观锁

笔记  Go 

悲观锁和乐观锁悲观锁核心思想假设并发冲突一定会发生,因此在访问共享资源的时候,先加锁,确保操作期间数据不会被其它线程修改。特点提前枷锁: 操作前获取锁,操作后释放锁阻塞等待: 如果锁被占用,其它线程会阻塞或者自旋等待,直到锁释放强一致性: 保证操作期间数据的独占性,适合写多少读多少的场景典型实现互斥

Golang基本同步原语sync.Pool

笔记  Go 

Golang基本同步原语sync.Poolsync.Pool 是 Go 标准库 sync 包中的一个结构,用于管理一组可重用的对象池。通过复用对象,减少内存分配和垃圾回收的开销,从而提升程序的性能和效率。以下是对 sync.Pool 的详细讲解,包括其使用案例和使用场景。sync.Pool 的大小是

Golang 基本同步原语sync.Once

笔记  Go 

Golang 基本同步原语sync.Onecesync.Once 是 Go 语言中一个简单但强大的同步原语,用于确保某个操作在并发场景下只执行一次。它常用于延迟初始化、单例模式、全局配置加载等场景基本用法sync.Once 的核心方法是 Do(f func()),传入的函数 f 只会执行一次,即使多

Golang 并发基本同步原语 sync.Cond

笔记  Go 

Golang 基础之并发基本同步原语sync.Cond条件变量Cond类型原型type Cond struct { // L 是在观察或改变状态时保持的 L Locker // 包含过滤或未导出的字段}​func NewCond(l Locker) *Condfunc (c *Cond) Br

Golang并发(四)

笔记  Go 

Golang并发(四)转载自: Golang 基础之并发goroutine(补充)前面 《Golang 基础之并发知识 (二)》 章节已经和大家简单介绍 - 掘金goroutine是go中最基本的组织单位之一。事实上,每个go程序至少有一个: main goroutine,当程序开始的时候,会自动创

Golang 并发 (三)

笔记  Go 

Golang 并发 (三)基本同步原语Go语言在sync包中提供了用于同步的一些基本原语,包括常见的互斥锁Mutex和读写互斥锁RWMutex以及Once,WaitGroup.这些基本原语的主要作用是提供较为基础的同步功能MutexMutex 是 golang 标准库的互斥锁,主要用来处理并发场景下