面试
啦啦啦咯咯咯
一个默默学习的小程序员
展开
-
JVM内存结构和垃圾回收算法
引用计数法复制算法:优点:没有产生内存碎片。缺点:内存太浪费标记清除优点:没有进行大面积复制,节约了内存空间,缺点:产生内存碎片标记整理优点:不浪费空间,不产生碎片 缺点:耗时最终:复制算法用在新生代, 标记-清除-标记-整理 用在老年代...原创 2021-01-02 09:12:22 · 96 阅读 · 0 评论 -
列队,阻塞列队,BlockingQueue的使用
列队/阻塞列队空的话消费者阻塞,因为没有东西可消费。满的话生产者阻塞,因为列队放满了。BlockingQueue有7种列队实现BlockingQueue接口抛出异常element()作用检查队列是否为空,队首元素是谁。特殊值...原创 2020-12-30 08:55:54 · 109 阅读 · 0 评论 -
Redis缓存过期淘汰策略
Redis默认内存?设置内存推荐最大物理内存*0.75修改文件方式如果在运行,动态的修改,就命令方式info memory也可以查看redis内存使用超出了设置的最大值?也会出现错误 缓存过期淘汰策略从配置文件中看有8种默认三种不同删除策略定时删除总结:惰性删除总结定期删除内存淘汰策略记忆图,第二种最长使用最近最少使用,频率最少使用配置文件设置:命令行配置...原创 2020-12-23 21:57:21 · 110 阅读 · 0 评论 -
Redis分布式锁-基础篇
前提知识:创建两台单机版,端口号不同的redis服务。主要代码如下:问题一:多线程,没加锁,有两种锁,synchronized和lock,lock会更加灵活,可以tryLock,如下:为了方便,使用synchronized,单机版下使用没用问题。但是分布式部署下,单机锁还是会出现超卖问题,因为不是在同一个jvm层面的锁,所有需要分布式锁。问题二 使用nginx进行负载均衡,轮询发送部署两台服务器,用Jemeter进行压测,就出现了超卖现象。解决:解锁:解决:单机版sy原创 2020-12-23 20:08:06 · 119 阅读 · 0 评论 -
Redis使用和应用场景
redis两个注意点String使用和场景Hash使用和应用场景List使用和应用场景Set使用和应用场景无序,无重复微博好友关注社交关系共同关注我关注的人也关注他QQ内推可能认识的人Zset使用和应用场景统计,排序销售数量排序热搜...原创 2020-12-23 15:26:26 · 74 阅读 · 0 评论 -
Spring循环依赖和三级缓存
循环依赖定义JavaSE代码演示构造器注入结论:构造器方法注入无法解决,会一直报错setter注入 注意:没有构造方法测试:Setter可以解决原创 2020-12-23 11:25:54 · 147 阅读 · 0 评论 -
Spring4和Spring5的AOP顺序
Spring4和Spring5的AOP顺序Spring4的AOP顺序正常情况异常情况结论Spring5的AOP顺序正常情况异常情况结论Spring4和Spring5的对比Spring4和Spring5测速的小不同Spring4的测试如下:Spring5的测试如下:Spring4的AOP顺序正常情况异常情况结论Spring5的AOP顺序正常情况异常情况结论@before-------->@afterReturning------------->@after@befor原创 2020-12-22 19:25:33 · 976 阅读 · 0 评论