排序
JavaScript中的原型和原型链
JavaScript 原型 代码示例: // 构造函数 function Foo(name, age) { this.name = name } Foo.prototype.alertName = function () { alert(this.name) } // 创建示例 var f = new Foo('zhangsan...
Go的最佳应用场景是哪里?
Golang 是一种在开发人员中越来越受欢迎的编程语言。 它是一种编译型语言,与 C/C++ 和 Java 有一些相似之处,与其他语言相比具有多种优势。 Golang 可用于广泛的应用程序,例如 Web 开发、机器...
虚拟文件系统详解
文件系统的种类众多,而操作系统希望对用户提供一个统一的接口,于是在用户层与文件系统层引入了中间层,这个中间层就称为虚拟文件系统(Virtual File System,VFS)。 VFS 定义了一组所有文件...
计算机内核态、用户态和零拷贝技术详解
存储介质的性能 话不多说,先看一张图,下图左边是磁盘到内存的不同介质,右边形象地描述了每种介质的读写速率。一句话总结就是越靠近cpu,读写性能越快。 了解了不同硬件介质的读写速率后,你...
互斥锁、自旋锁、读写锁、悲观锁、乐观锁详解
前言 如何用好锁,也是程序员的基本素养之一了。 高并发的场景下,如果选对了合适的锁,则会大大提高系统的性能,否则性能会降低。 所以,知道各种锁的开销,以及应用场景是很有必要的。 接下来...
使用Git bisect命令定位首次引入错误的提交
bisect 工具 Git 的 bisect 工具通过快速识别坏的提交,节省了时间和精力。 你是不是有过这样的经历:发现代码中有 错误bug,但不知道这个错误是什么时候引入的。这有可能是因为,某个人提交了...
软件架构设计、软件设计的基本概念和相关知识
软件架构设计、软件设计的基本概念 一、软件架构设计 1、软件架构的定义 软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件))、指导构件集成的...