面试问的一个并发问题

客户端如果同时请求多次,怎么处理?

前端可以做防重复
后端:在方法里面用锁锁住代码块,查询redis缓存中有没有数据,没有数据就将唯一值放入缓存中,释放锁,继续其他操作;如果有数据,就直接返回提示,正在操作中。

static代码块什么时候执行的?
初始化阶段
<clinit>()方法是由编译器自动收集类中的所有类变量的赋值动作和静态语句块 (static{}块)中的语句合并产生的,编译器收集的顺序是由语句在源文件中出现的顺序所决 定的,静态语句块中只能访问到定义在静态语句块之前的变量,定义在它之后的变量,在前 面的静态语句块可以赋值,但是不能访问

猜你喜欢

转载自blog.csdn.net/zhanglinlove/article/details/83544515
今日推荐