后端

Java中锁的优化机制了解吗?

从JDK1.6版本之后,synchronized本身也在不断优化锁的机制,有些情况下他并不会是⼀个很重量级的锁了。优化机制包括⾃适应锁、⾃旋锁、锁消除、锁粗化、轻量级锁和偏向锁。 锁的状态从低到⾼依次为⽆锁->偏向锁->轻量级锁->重量级锁,升级的过程就是从低到⾼,降级在⼀定条件也是有可能发⽣的。 ⾃旋锁:由于⼤部分时候,锁被占⽤的时间很短,共享变量的锁定时间也很短,所有没有必要

第一章 理解高性能程序 (9) 保持缓存的热度

保持缓存的热度        首先,别浪费缓存,因为主存很慢。这意味着无序地从内存中读取数据(被称为指针追逐pointer-chasing)并非明智。在现代处理器上,程序以预测的方式读取连续的内存块,可以受益于硬件级的预读取(prefetching)机制。一言以蔽之,即数据局部化(data locality)。        举个反面例子,唉,是我们古老而可靠的链表,遍历链表是一次实实在在的指

C语言-二维数组每行最大值提前

①命令行 #include< stdio.h> #define N 5 ~ ②定义函数 void fun(int a[N][N]) {int i,j,k,t; /*二维数组,行列分别用两个for语句遍历循环计数。*/ for(i=0;i<N;i++) /*每个变量都必须赋初值,所以k=0必不可少。*/ {k=0; for(j=1;j<N;j++) /*a[i