[置顶] golang channel 源码剖析

摘要: channel 在 golang 中是一个非常重要的特性,它为我们提供了一个 并发模型 。对比锁,通过 chan 在多个 goroutine 之间完成数据交互,可以让代码更简洁、更容易实现、更不容易出错。golang 的 channel 设计模型遵循 CSP(Communicating Sequen 阅读全文

posted @ 2019-04-14 17:56 安佳玮 阅读(1285) 评论(0) 推荐(0) 编辑

2019年4月7日

深入虚拟内存(Virtual Memory,VM)

摘要: 我们应该知道 物理内存(Physical Memory) 指的是硬件上的内存,即 RAM。它通常指的是插在主板上的内存条,给进程提供临时数据存储的设备。因为 CPU 可以直接从物理内存中读取数据和指令,所以物理内存又叫做 主存 。 虚拟内存(virtual memory,VM) 又叫做 虚拟存储(v 阅读全文

posted @ 2019-04-07 12:50 安佳玮 阅读(2771) 评论(0) 推荐(0) 编辑

浅析 golang module

摘要: 什么是 module?module 解决了什么问题? module 代表一个版本管理单元,它包括一个或者多个 packages。 一般来说,一个版本控制仓库(比如 )包含一个 module(也可以包含多个 module,但是通常会带来一些复杂性)。 module 在 Go1.11 版本发布,它的前身 阅读全文

posted @ 2019-04-07 12:49 安佳玮 阅读(1139) 评论(0) 推荐(0) 编辑

浅析 golang interface 实现原理

摘要: interface 在 golang 中是一个非常重要的特性。它相对于其它语言有很多优势: 1. "duck typing" 。大多数的静态语言需要显示的声明类型的继承关系。而 golang 通过 interface 实现了 , 使得我们无需显示的类型继承。 2. 不像其它实现了 的动态语言那样,只 阅读全文

posted @ 2019-04-07 12:49 安佳玮 阅读(4962) 评论(0) 推荐(1) 编辑

导航