面试试答0316
Spring AOP 实现,代理
my:AOP 的原理是利用反射,在原有类的基础上生成了一个代理类,在代理上进行切面操作。 answer: 原理
JDK 动态代理和 Cglib 动态代理性能比较
my:动态代理基于接口,Cglib代理基于子类 answer: #TODO
线程池 Execute 和 Submit 的区别
my:Execute 返回一个 Callable 对象;Submit 返回一个 Future 对象。
内存屏障分为哪几种
my:读写、写读、读读、写写
内存屏障在哪里被使用
my:不懂
AQS
my:不懂 answer:AQS
int 几个字节;String 一个英文字符多少字节,一个中文字符多少字节
my:4个字节 answer:int 4个字节(32位),String 英文字符1个字节,中文字符GBK格式下2个字节,UTF-8格式下3个字节。
redis 数据结构
my:基本数据结构 String list set zset hash answer:Redis 数据类型
zset怎么实现
my:不懂 answer:zset
什么是跳表
my:忘了 answer:跳表
zrange 如何实现
my:不懂 answer:算了,不看了
Redis 持久化
my:redis 主要有两种持久化方式,RDB 和 AOF。RDB是定期的快照,AOF是在执行对内存的操作的时候,同时写入日志。RDB的优点是性能好,缺点是数据时效性低。AOF性能差,时效性高。新版本的 redis 有混合 RDB 和 AOF 的方式。 answer:Redis 持久化
事务隔离级别
my:读未提交,读已提交,可重复读,串行化。读已提交可解决脏读问题,可重复读可解决不可重复读问题,串行化可解决幻读问题。
幻读是什么
my:读未提交,读已提交,可重复读都会出现幻读。指的是范围查询时数据条数不一致 answer:幻读
https 原理
my:s指的是SSL answer:HTTPS
CPU 100% 怎么处理
my:用 top 查看 CPU 占用高的进程,然后 top -p pid -H 查看 CPU 占用高的线程,然后把线程号转成16进制。用 jstack pid ,然后查询对应线程号。