- 博客(3)
- 资源 (2)
- 收藏
- 关注
原创 OpenJDK系列(四):从JVM谈C/C++编译流程
编译器的这点事gcc和g++还傻傻分不清楚?clang与gcc有什么关系?llvm又是什么?下面将对一些常见的名词进行说明以免在后续阅读中感到疑惑.gcc和g++gcc 即 GNU C Compiler, 刚开始它就是一个c编译器项目。后来越来越多的其他语言编译器也被添加到这个项目中,如用于编译c++代码的cc1plus.此时的gcc代表的是一堆编译器的集合(the GNU Compiler...
2018-09-29 23:19:20 2490 1
原创 OpenJDK系列(三):VM对CAS的设计与实现
CAS简介CAS即Compare-and-Swap的缩写,即比较并交换,它是一种实现乐观锁的技术.在CAS中包含三个操作数:V: 需要读写的内存位置,从java角度你可以把它当成一个变量A: 预期值,也就是要进行比较的值B: 拟写入的新值当且仅当V的值等于A时,CAS才会通过原子方式用新值B来更新V的值,否则不会执行任何操作.无论位置V的值是否等于A,最终都会返回V原有的值.换...
2018-09-10 16:37:18 1170
原创 OpenJDK系列(二):从ClassFileParser谈Endian
EndianEndian即所谓的字节序,通俗点说就是多于一个类型的数据在内存中存取的顺序目前有两种字节序.Big-Endian: 也称为大端序:高位字节存放在内存的低地址端,低位字节存放在内存的高地址端.Little-Endian: 也称为小端序:高位字节存放在内存的高地址端,低位字节存放在内存的低地址端.Endian与内存单元对于0x12345678而言,1234是高四...
2018-09-05 17:03:29 1434
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人