从位运算表达式中看JVM的栈帧设计
最近接盘了公司的分布式文件存储系统,其底层不出意外的采用FastDFS以及HBase作为存储中间件,在熟悉代码的时候,对FastDFS客户端的部分代码产生了疑惑,如果你看完没有疑惑就没必要继续往下阅读了,关掉页面左转,刷刷沸点,摸摸鱼不香吗?如下图所示这是一个将字节数组转换为long的函数, 格式为big-endian(大端)FastDFS的协议头中有8个字节用来标识数据包的长度,此函数就用于获取数据包的长度初看觉得这就是普通的移位操作没有任何疑惑,再细看发现不少问题为什么对正负数区