/images/avatar.jpg

Kiosk Studio (2022)

Golang GC

所有的编程语言都有内存的管理办法,这里面分两大类;一类是编程语言提供了手动管理内存的方式,开发者必须自行对内存进行申请和释放,虽然手动管理相对精准,但是编程麻烦且稍有不慎会造成内存泄露和指针乱踩的后果。另一类是由编程语言提供了垃圾收集机制,开发者不需要手动管理内存,这为开发者提供了很大的便利。

但是,垃圾回收的工作机制并不是完美的。

HTTP2 下的 Transfer-Encoding: chunked

HTTP 中传输数据有一个 chunked 的方式, 又称“分块传输”。在响应报文里用头字段Transfer-Encoding: chunked 来表示。意思是报文里的 body 部分不是一次性发过来的,而是分成了许多的块(chunk)逐个发送。而 HTTP2.0 协议作为 HTTP协议的升级,自然是对chunked模式做支持?不然!

HTTP2 是没有 chunked 的!

HTTP/2.0 Header Compression

HTTP/1.x 时代,支持Body压缩,Header不支持压缩。而现在一个网页可能有几十到上百个请求,一个请求Header至少 500Byte 以上。而这些页面的请求Header大多都是一些重复的字符如UA、Cookie,会消耗不必要的带宽,增加延迟。

HTTP/2.0中,引入了Header Compressionrfc7541),头部压缩技术使用了HPACK,有效的压缩了Header。

操作系统知识汇总

最常见的指标有可能是最容易遗漏和忽视的,以前面试的过程中经常被问到一些问题定位排查的运维问题,但是一些经常耳熟能详的名词被深究问下去就不知所以了。 比如:1. 系统负载如何查看?系统负载高的原因都有可能是哪些? 什么是系统负载? 2. swap 是什么?为什么kubernetes建议禁用 swap 等。

下面做一些总结