10__Pool:性能提升大杀器

你好,我是鸟窝。

Go 是一个自动垃圾回收的编程语言,采用三色并发标记算法标记对象并回收。和其它没有自动垃圾回收的编程语言不同,使用 Go 语言创建对象的时候,我们没有回收 / 释放的心理负担,想用就用,想创建就创建。

10__Spring_Web_Header_解析常见错误

你好,我是傅健,这节课我们来聊聊 Spring Web 开发中 Header 相关的常见错误案例。

在上节课,我们梳理了 URL 相关错误。实际上,对于一个 HTTP 请求而言,URL 固然重要,但是为了便于用户使用,URL 的长度有限,所能携带的信息也因此受到了制约。

10__Swap:容器可以使用Swap空间吗?

你好,我是程远。这一讲,我们来看看容器中是否可以使用 Swap 空间。

用过 Linux 的同学应该都很熟悉 Swap 空间了,简单来说它就是就是一块磁盘空间。

当内存写满的时候,就可以把内存中不常用的数据暂时写到这个 Swap 空间上。这样一来,内存空间就可以释放出来,用来满足新的内存申请的需求。

10__TIME_WAIT:隐藏在细节下的魔鬼

你好,我是盛延敏,这是网络编程实战的第 10 讲,欢迎回来。

在前面的基础篇里,我们对网络编程涉及到的基础知识进行了梳理,主要内容包括 C/S 编程模型、TCP 协议、UDP 协议和本地套接字等内容。在提高篇里,我将结合我的经验,引导你对 TCP 和 UDP 进行更深入的理解。

10__Widget中的State到底是什么?

你好,我是陈航。

通过上一篇文章,我们已经深入理解了 Widget 是 Flutter 构建界面的基石,也认识了 Widget、Element、RenderObject 是如何互相配合,实现图形渲染工作的。Flutter 在底层做了大量的渲染优化工作,使得我们只需要通过组合、嵌套不同类型的 Widget,就可以构建出任意功能、任意复杂度的界面。

10__x_=_yield_x:迭代过程的“函数式化”

你好,我是周爱民。欢迎回到我的专栏。

相信上一讲的迭代过程已经在许多人心中留下了巨大的阴影,所以很多人一看今天的标题,第一个反应是:“又来!”

其实我经常习惯用同一个例子,或者同类型的示例的细微不同去分辨与反映语言特性上的核心与本质的不同。如同在第 2 讲和第 3 讲中都在讲的连续赋值,看起来形似,却根本上不同。

10__案例篇:系统的软中断CPU使用率升高,我该怎么办?

你好,我是倪朋飞。

上一期我给你讲了软中断的基本原理,我们先来简单复习下。

中断是一种异步的事件处理机制,用来提高系统的并发处理能力。中断事件发生,会触发执行中断处理程序,而中断处理程序被分为上半部和下半部这两个部分。

10__包大小:如何从资源和代码层面实现全方位瘦身?

你好,我是戴铭。今天我来跟你说下如何对 App 包大小做优化。

对 App 包大小做优化的目的,就是节省用户流量,提高用户下载速度。当初,我在主持滴滴客户端的瘦身时,就是奔着对包大小进行最大化优化的目标,3 个月内将包大小从 106MB 降到了最低 64MB,半年内稳定在了 70MB。当时业务还没有停,从 106MB 降到 64MB 的这 3 个月里如履薄冰,不同团队各显神威,几乎用到了所有手段,也做了很多创新,最终达成了目标。