后端

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

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

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

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