分布式锁有几种实现形式
n个线程同时并发-countdown
https://www.cnblogs.com/jietang/p/5615681.html#3942641
innordb主键索引与普通索引怎么存取数据的区别
innodb的主键下存储该行的数据,次索引指向对主键的引用
为什么InnoDB使用索引时不用锁表,可以锁行,而MyIsam则只锁表
myisam和innordb区别,myisam为什么快
MyISAM和InnoDB的主要区别和应用场景
1)MyISAM读性能好不在于锁,而是底层的B+树叶子节点构造不同,MyISAM叶子节点和数据分离,对于普通索引,可以少遍历一遍。InnoDB索引通常得两倍遍历时间(主键除外)
2)innodb有mvcc要比对事务id
truncate与delete区别,trucate为什么快
基本类型vs包装类型:
Integer vs int
1)byte int short lon float double boolean char
2)装箱 拆箱
3)更面向对象,丰富了操作,方便基本数据类型相互转换,Object [],集合,hashcode
4)初始化
5)内存(栈、堆)
6)基本类型小,包装大占内存多,基本类型用于数组,包装类型可用于数组与集合
装箱过程是通过调用包装器的valueOf方法实现的,而拆箱过程是通过调用包装器的 xxxValue方法实现的。
联合索引原则
最左前缀
内存溢出排查经过
jmap/heapdumponoutofmemory + mat/jhat
Object多少主要方法方法
Java 加载顺序
https://www.cnblogs.com/leiqiannian/p/7922824.html
1、先执行父类的静态代码块和静态变量初始化,并且静态代码块和静态变量的执行顺序只跟代码中出现的顺序有关。
2、执行子类的静态代码块和静态变量初始化。
3、执行父类的实例变量初始化 非静态代码块
4、执行父类的构造函数
5、执行子类的实例变量初始化 非静态代码块
6、执行子类的构造函数
Jdk 锁,并发的实践
悲观 synchronized/lock 乐观 cas
设计模式使用过哪些
代理模式与反射
反射原理与自定义注解是否有实践
netty(十二)http server url 与 处理方法映射(反射与注解)spring环境
当自定义注解遇到spring和类增强 fast
arraylist扩容
初始10,1.5倍扩容
oldCapacity + (oldCapacity >> 1);
ArrayList源码简单剖析 及与linkedlist vector 区别
spring boot异常处理
细节+全局(拦截器/aop/全局注解)
使用@ControllerAdvice及@ExceptionHandler(value = Exception.class)全局异常处理
rest接口crud设计
POST PUT GET DELETE @PathVariable
spring boot controller层哪些注解
restcontroller,responsebody,requestparam,requestmapping,pathvariable,requestbody
Springmvc 与struts 性能区别
spring Aop 与java agent
接口:jdk动态代理+反射,类:cglib+asm
加载期:javaagent premain ;运行期 javaagent+agentmain ;javassist/asm
java.lang.instrument包de AOP,使用javassist
mysql指令执行流程
mysql索引底层说一下 B+树 自平衡
zookeeper分布式锁
=====================yet
watch机制底层
redis底层zset实现 —— 跳表
开放式:
何时用乐观锁
并发不大乐观;大悲观
说说springcloud组件
其他
zk配置中心
like模糊查询如何优化,es
Redis qps 多少 ,有无做过压力测试 redis 压力测试与qps监控
Redis集群
分布式id 生成
手写阻塞队列 手写阻塞队列