java
文章平均质量分 64
热心网友summer
这个作者很懒,什么都没留下…
展开
-
网络延时抖动
排查并解决延时抖动原创 2022-06-22 16:55:13 · 3217 阅读 · 0 评论 -
G1 young gc日志分析
G1 日志分析原创 2022-06-02 12:42:59 · 486 阅读 · 0 评论 -
[问题跟进]解决Allocation stall延时过高问题
问题背景:3月15日巡检时发现,ai-operation-controller在5点左右出现性能尖刺,p99高达1500+ms问题结论:【直接原因】堆内存被占满,导致部分线程阻塞【根本原因】get-all-semantic-infos接口请求异常分析回收时堆的情况从垃圾回收的前后堆信息可以看出,High used已经达到100%观察并分析stall 信息从日志中可以看到, 在尖刺出现的附近出现大量的Allocation Stall的日志,阻塞时间过长有500+ms优化配置原创 2022-03-16 15:53:42 · 625 阅读 · 0 评论 -
[ZGC升级记录](to-space exhausted/Evacuation Failure)
1. 问题背景服务中存在大量的全量数据的接口,需要把运营平台配置的全量数据拉取下来,存在大量的大对象(结果实现服务有100M左右),传给垂域或者传给质量组监控。这就给GC带来了很大压力。小爱5.0场景配置服务上线后,观测到服务很不稳定,经常99-percentile > 4s, 性能很不稳定。解决方案和收益2.1 解决方案从根本上解决应该避免大量大对象的产生,这需要花费很大的人力成本去做迁移和重构升级ZGC垃圾回收器(可以实现并发转移),STW非常短让G1更早得启动混合式垃圾收集周期,原创 2022-02-22 19:03:25 · 606 阅读 · 0 评论 -
【最全】8种单例模式
设计模式(Design pattern),提供了在软件开发过程中面临的一些问题的最佳解决方案,是Java开发者必修的一门课程。主要分创建型模式、结构型模式和行为型模式。其中接下来我们要写的是单例模式,属于创建型模式。单例模式,顾名思义就是只有一个实例,并且她自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象懒汉式(线程不安全)public class Singleton { private static Singleton instance =原创 2021-09-26 13:43:19 · 249 阅读 · 0 评论 -
ArrayList源码阅读
ArrayList简介因为 ArrayList 是基于数组实现的,所以支持快速随机访问。RandomAccess 接口标识着该类支持快速随机访问。public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.SerializableArrayList是一个数组队列,相当于动态数组。与Java中的数组相比原创 2021-08-25 11:04:19 · 121 阅读 · 0 评论