月度归档: 2020年12月
x86汇编指南之寄存器与内存寻址模式
本指南描述了32位x86汇编语言编程的几个基础知识,主要介绍寄存器和内存寻址。
有几种不同的汇编语言可用于生成x86机器代码,本文使用标准的Intel语法来编写x86汇编代码。
如图1所示,现代(即386及更高版本)x86处理器有8个32位的通用寄存器。 … [阅读文章]
Intel x86比较交换指令cmpxchg的作用与原理
cmpxchg是一个比较交换指令,原意是Compare and Exchange。
本文根据《Intel64和IA-32架构软件开发者手册》第2卷(《Intel® 64 and IA-32 Architectures Software Developer’s … [阅读文章]
Java的静态嵌套类与非静态内部类
Java语言支持在一个类中定义另一个类,这样被定义的类称为嵌套类。例如:
class OuterClass { ... class NestedClass { ... } }在类OuterClass中定义了一个类NestedClass,类NestedClass就被称为嵌套类。 … [阅读文章]
HotSpot虚拟机垃圾收集调优指南之ZGC垃圾收集器
ZGC垃圾收集器是一个可伸缩的低延迟垃圾收集器。
ZGC通过并发的执行所有耗时的工作,使得应用线程的暂停时间不会超过10ms。因此,它适合于要求低延迟,或者使用非常大的堆(如数TB)的应用程序。
ZGC垃圾收集器作为实验性的功能(Java 11版本),可以通过以下命令行选项启用: … [阅读文章]
GCC汇编语法与Intel汇编语法的几个差异点
GCC最初是一个GNU C语言编译器(GNU C Compiler),只能处理C语言。
后来扩展并支持了更多的编程语言,现在GCC代表的是GNU编译器集合(GNU Compiler Collection)。
GCC编译器使用了 AT&T/UNIX 汇编语法,AT&T与Intel的汇编语法存在比较大的差异,下面是一些主要的差异点。 … [阅读文章]