05 2019 档案

openjdk源码分析之AtomicLong
摘要:关键代码: 然后看 中compareAndSwapLong的定义: 然后转到具体平台相关的实现类,比如mac下的 可见mac下采用的是cmpxchgq汇编指令实现: "内联汇编" 锁消息总线保证互斥地使用这个内存地址 AT&T汇编格式: 指令 源操作数 目的操作数 "cmpxchg" : 用RAX中 阅读全文

posted @ 2019-05-24 18:34 andyhe 阅读(514) 评论(0) 推荐(0)

cpp之宏和函数调用约定
摘要:宏定义 宏中的 和 首先知道理解c中的邻近字符串连接原则,即相邻两个字符串链接起来组成一个字符串。 是合法的并且输出结果是 \ NAME会把传入的参数名当成字符串处理 \ 将 两边的字符连在一起作为一个标识符 VAR_N(age,1) age1 宏的副作用 问题 ` define MIN(A,B) 阅读全文

posted @ 2019-05-24 17:12 andyhe 阅读(408) 评论(0) 推荐(0)

JNA 相关问题
摘要:JNA 相关问题 结构体对齐问题 要注意调用的c库字段对齐方式的相关设置。 jna中提供了4种对齐方式: 需要在相应的结构体构造函数中加入 设置对应的对齐方式。 unsigned类型处理 java中没有对应的无符号类型,需要进行相应的转换,以byte类型为例(c中的 unsigned char) c 阅读全文

posted @ 2019-05-24 16:23 andyhe 阅读(836) 评论(0) 推荐(0)

spark RDD
摘要:RDD RDD是 的英文缩写,是spark的基本数据抽象,代表着一个不可变的、多分区的、可并行操作的元素集合。 RDD有5个主要属性: 分区列表 (partition list) 计算某个分区函数(compute) 依赖列表 (dependency list) _kv类型RDD的分区器_(可选的) 阅读全文

posted @ 2019-05-07 19:08 andyhe 阅读(178) 评论(0) 推荐(0)

导航