后端

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