Fork me on GitHub
0%

摘要


二分法查找:又称折半查找。适用于有序数据集合的目标值查找。

二分法思想:假设有一个按升序排好序的数列data,查找目标值target,过程如下:
1.将数列进行折半,判断data[mid]是否等于target, 相等则返回index, 否则,判断中间值和target大小;
2.若 target > data[mid],将data右一半执行第一步,否则,将data左一半执行第一步;
3.返回index
阅读全文 »

volatile修饰

变量声明了volatile后,跳过cpu cache步骤,jvm保证每次直接从内存中读取变量

  • volatile声明的变量所有线程可见,即当修改一个变量值会立即更新直接更新内存,读取是也直接从内存中刷新读取
  • volatile声明的变量禁止指令重排序优化

volatile性能

volatile 的读性能消耗与普通变量几乎相同,但是写操作稍慢,因为它需要在本地代码中插入许多内存屏障指令来保证处理器不发生乱序执行