上一页 1 2 3 4 5 6 7 8 9 ··· 21 下一页
摘要: 阅读全文
posted @ 2022-01-06 20:06 yangxiaohui227 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 如下: Id: 每个select语句就会有一个对应的Id,值越大,其执行顺序越优先,由上面所示,总共有3个select语句 select_type: primary: 复杂查询最外层的的查询 DERIVED: 衍生类型,如果from的语句是子查询,则这里就是衍生类型,衍生产生的表 <derived3 阅读全文
posted @ 2022-01-04 10:23 yangxiaohui227 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 一.字符串常量池存放的地方 字符串常量池:在jdk1.6时,它存在于永久代 jdk1.7之后: 怎么验证:思路,我们只要不断的创建字符串对象,让其内存溢出,看看报错是在哪一块内存中即可 /** * jdk6:‐Xms6M ‐Xmx6M ‐XX:PermSize=6M ‐XX:MaxPermSize= 阅读全文
posted @ 2022-01-03 11:57 yangxiaohui227 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1.jps 查询当前服务器启动了哪些java项目 2.jmap -histo 16332>./histo.log 3.jmap -heap 16632查询堆的信息 4.jmap ‐dump:format=b,file=kk.hprof 16332 堆栈导出, 线上环境可以设置内存溢出时自动导出堆信息 阅读全文
posted @ 2021-12-29 16:42 yangxiaohui227 阅读(238) 评论(0) 推荐(1) 编辑
摘要: 总体概览: 1.吞吐量和低延迟的关系 吞吐量=用户线程的时间/(用户线程的时间+GC的时间),从公式可以看出,GC的总时间越小,吞吐量越大 低延迟:指的是每次GC的停顿时间,停顿越短,延迟越低,用户感觉就越不卡 举个例子:假如只有2个线程,垃圾收集分为2个阶段:标记阶段+清除阶段 方案1:现在这2个 阅读全文
posted @ 2021-12-29 10:38 yangxiaohui227 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 1.内存模式概览: 2.主要参数设置: 堆:初始化堆内存-Xms 最大堆内存 -Xmx 新生代:-Xmn 如:Xmx2048M 元空间:元空间使用的是直接内存,默认大小是21M,超过该值会触发FullGC,同时会扩容,因此为了启动时,更快,需要设置该值: - XX:MaxMetaspaceSize 阅读全文
posted @ 2021-12-27 17:00 yangxiaohui227 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 背景:我们的商家端有个商品删除接口,某个时间段,突然被大量访问,经过调查发现,是有人通过脚本来刷我们的接口,因为正常的接口只要获取到登录的token就可以不断的调用接口: 现在我们的思路是使用令牌限流方法,令牌就是一个UUID 通过上图知道,对方要刷我们接口,必须知道需要先调用获取token的接口, 阅读全文
posted @ 2021-11-26 17:32 yangxiaohui227 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 1.bean的生命周期:Class-》推断构造器-》实例化-》属性赋值-》初始化-》aop-》bean 2. 单例bean和单例模式的区别:单例模式只会有一个实例对象,单例Bean可以有多个实例对象,但一个beanName只能对应一个实例对象 3.@Autowried注解:先byType-》在byN 阅读全文
posted @ 2021-11-26 16:01 yangxiaohui227 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 1.copyOnWrite思想,可以保证读写高并发,同时使用阻塞队列和单线程来保证数据一致性 阅读全文
posted @ 2021-11-25 09:37 yangxiaohui227 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 说到分布式锁,我们都会想到setNx命令,存在就不更新,不存在就更新成功,根据这个命令,看如下代码有啥问题? 1.上面的分布式锁实现会出现的问题: 如果代码执行到减库存的操作,此时服务挂了,如断电了,那么就会导致死锁,其他线程永远都进不来了 解决方案:加个过期时间,如加了10s 2. 上面加了过期时 阅读全文
posted @ 2021-11-05 18:21 yangxiaohui227 阅读(145) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 21 下一页