后端
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
响应式编程之WebFlux
前言
前几篇文章介绍了Reactor以及响应式规范Reactive streams,那么如何将这种响应式编程应用在web开发中呐
异步
想一想平时web开发的场景
前端提交请求过来
spring(tomcat)从线程池中分配一个线程来应对请求
根据路径和配置/注解调用对应的方法
在我们的方法内一般连接数据库获取数据,阻塞取到结果后做一些计算,最后返回
spring(tomcat)负责将返回的数据
竞赛题-6291. 数组元素和与数字和的绝对差
题目:
给你一个正整数数组 nums 。
元素和 是 nums 中的所有元素相加求和。
数字和 是 nums 中每一个元素的每一数位(重复数位需多次求和)相加求和。
返回 元素和 与 数字和 的绝对差。
注意:两个整数 x 和 y 的绝对差定义为 |x - y| 。
示例 1:
输入:nums = [1,15,6,3]
输出:9
解释:
nums 的元素和是 1 + 15 + 6 + 3 = 25