计算机的基本硬件组成 说到计算机的基础原理就躲不过 图灵机 和 冯诺依曼模型。 图灵机 定义了 计算机是如何进行运算的, 冯诺依曼模型 则 定义了 计算机的基本结构。 图灵机...
计算机的基本硬件组成 说到计算机的基础原理就躲不过 图灵机 和 冯诺依曼模型。 图灵机 定义了 计算机是如何进行运算的, 冯诺依曼模型 则 定义了 计算机的基本结构。 图灵机...
Go语言 对系统调用的处理 众所周知,操作系统将内存空间分为2部分:内核空间、用户空间。 在 内核空间 中运行的代码来源于 操作系统的内核 或 外部硬件驱动程序,这类代码直接...
理解 Linux 系统中断 中断Interrupt,在 wikipedia[https://zh.wikipedia.org/wiki/%E4%B8%AD%E6%96%B7]...
go unsafe.Pointer 使用 事实上,在开源代码中我们会比较少看到 unsafe.Pointer 的运用, 但是在go源码中你会发现大量的 unsafe.Poin...
Go context.WithCancel()源码剖析 Context 接口 Deadline() 上下文的截止时间 Done() 上下文是否已关闭 Err() 上下文关...
Dig dig是BIND的一款命令行 DNS 诊断工具。它可以检索并显示主机名或 IP 地址的各种 DNS 属性,例如其 DNS 记录和权威名称服务器。 安装apt-get ...
Java函数性能分析 测试函数性能,比较两个函数的执行效率差异是开发时经常面临的场景,像Go官方提供了 benchmark 工具,那么Java呢? Java也提供了一款官方的...
Go函数性能分析 go官方提供了优秀的函数性能测试工具:benchmark,让我们可以更简单的分析某一段代码的执行效率。 当我们需要分析同一个功能实现的两段不同代码哪个执行效...
计算机基础: 什么样的代码能让CPU运行的更快? 众所周知,程序在计算机里运行时,程序的指令和数据存储在 内存 中。当程序进程获得CPU时间片时,CPU将会从 内存 中"恢复...
CPU缓存一致性 通常情况下,CPU单个时钟周期可以执行 3~9 个指令,CPU一次访问内存需要 200~300 个时钟周期。于是CPU引入了 CPU Cache 帮助CPU...
计算机存储的层次结构 由于不同介质的存储器读写效率、造价差异大,因此通常计算机会同时采用多种存储器。 一般来说,越是靠近CPU的存储器,所采用的的存储介质成本也越贵,对应的读...
冯诺依曼模型 根据 冯诺依曼模型 的定义,最简单的计算机基本结构由5部分组成:控制器、运算器、存储器、输入、输出。 在现代计算机中,控制器和运算器都是内嵌在CPU中,而存储器...
理解linux inode linux中文件存储在磁盘上,文件内容划分为2部分进行存储:文件元数据、文件内容数据。 文件元数据 储存在 inode table 中,文件内容数...
Go内存对齐对性能的影响 CPU 访问内存时,并不是逐个字节访问,而是以字长为单位。32位CPU的字长是4字节,64位CPU的字长是8字节。CPU 始终以字长访问内存,如果不...
Go:for 与 range 的性能比较 明显可以看出, for 比 range 更高效 原因是 range 每次迭代都会对迭代值进行一次拷贝(value) 当迭代值占内存越...
go切片性能及陷阱 数组 go语言中,切片是数组之上的抽象数据类型,而数组类型定义了长度和元素类型,且数组的长度和元素类型不可变。数组初始化: arr := [3]{1,2,...
字符串高效拼接 Go语言中,字符串(string)是不可变的,拼接字符串事实上是创建了一个新字符串对象。如果代码大量出现字符串拼接,那么代码性能将会大大折扣。 拼接字符串方式...
性能分析:benchmark基准测试 benchmark(基准测试) 可以度量某个函数或方法的性能,也就是说,如果我们知道性能的瓶颈点在哪里,benchmark 是一个非常好...
Go常量和变量相关: 下列代码的输出是: func main() { const ( a, b = "golang", 100...