最新 最热

深入理解原子操作的本质

本文以go1.14 darwin/amd64中的原子操作为例,探究原子操作的汇编实现,引出LOCK指令前缀、可见性、MESI协议、Store Buffer、Invalid Queue、内存屏障,通过对CPU体系结构的探究,从而理解以上概念,并在最终给出一些事实。...

2024-09-02
1

事务隔离级别实现原理

数据库隔离级别以及Mysql实操 一文中,我描述了为了解决并发事务间的冲突,实现事务的隔离性,SQL标椎定义了四种隔离级别,今天就通过这篇文章来看下SQL标准中每种隔离级别的实现原理以及InnoDB引擎又是如何实现的。...

2024-09-02
1

bitcask的设计与实现

最近在研究LSM tree,听闻bitcask在LSM tree各种各样的应用中是一个比较简单的实现,所以就以它为突破口,了解下LSM tree真实世界的实现。

2024-09-02
1

理解内存对齐

在计算器领域,对于某种特定的计算机设计而言,字(word)是用于表示其自然的数据单位的术语。在这个特定计算机中,字是其用来一次性处理事务的一个固定长度的位(bit)组。一个字的位数即为字长。...

2024-09-02
1

CPU Cache与False Sharing

现代多核CPU会在每个核心上加上一个较小的SRAM高速缓存存储器称为:L1高速缓存,其中L1缓存由分为dcache数据缓存,icache指令缓存。在L1缓存的下级加一个较大的L2高速缓存, 然后会再L2之下加一个多核共享的L3高速缓存。它们...

2024-09-02
1

IEEE754标准浮点数表示与舍入

对于一个无符号二进制小数,例如101.111,如果我们要用2个字节即16位来存储它,我们可以约定用高8位存储小数点前的数字,用低8位存储小数点后的数字,这样的话它在存储空间中就是这样的:00000101.11100000。这种存储方式中小数...

2024-09-02
1

x64架构下Linux系统函数调用

push指令将数据压栈。具体就是将esp(stack pointer)寄存器减去压栈数据的大小,再将数据存储到esp寄存器所指向的地址。

2024-09-02
1

数据库隔离级别以及Mysql实操

ACID表示原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability),一个健壮的事务处理系统必须满足这四个特性。

2024-09-02
1

GNU 汇编器的语法

为什么要学习汇编语法呢?原因是我最近在做一个面向对象语言的编译器(地址:https://github.com/Orlion/Mizar),目前已经完成了parser部分,即已经生成了AST,下一步要做的就是语义分析了,而语义分析之后要做的就是生成AT&T汇编代...

2024-09-02
1

湖南大学团队提出APN模型,通过属性引导的原型网络实现分子性质预测

分子性质预测(MPP)在药物发现过程中起着至关重要的作用,为分子评价和筛选提供了有价值的见解。尽管深度学习在这一领域取得了许多进展,但它的成功往往取决于大量标记数据的可用性。与之相比,小样本MPP是一个更具挑战性的...

2024-09-02
1