Java问题
java
-
volatile关键字底层原理
保证线程之间变量的可见性。
内存屏障,防止指令重排序。
什么叫指令重排序?
就是执行程序时,为了提高性能,编译器和执行器会对指令做重排序。
在并发线程下, 不能保证原子性。 -
spring的设计模式
spring的aop采用的是代理模式,主要时jdk动态代理和cglib代理
工厂模式:
单例模式:spring下的bean都为单例,可以通过singleton和scope进行制定
观察者模式,主要有listener相关
模板方法模式
策略模式:将算法和算法本身分开,委派给不同的对象管理
代理模式: -
mysql中执行一条更新sql的流程
redolog --innodb特有的
binlog --所有引擎都可使用
-
redis数据类型
-
mysql数据库索引,hash索引和b+树索引区别,b+树和红黑树区别
-
springboot自动装配原理
-
springcloud gateway限流
10.hystrix限流、超时配置