2022年3月2日

摘要: 1.serial(复制算法):单线程收集器,它在进行了垃圾收集时,必须停顿所有用户线程。 优点:实现简单高效 缺点:停顿时间长 适用场景:单核的桌面应用。 2.parNew:新生代中多线程版的收集器 回收效率高 3.paralle Scavenge:并行垃圾回收器,指在达到控制的吞吐量的垃圾回收器, 阅读全文
posted @ 2022-03-02 14:13 云中哥 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 1.标记清除算法:分为两个阶段标记阶段和清除阶段。首先从根集合进行扫描,标记存活的对象。标记完成后,再扫描整个空间未被标记的对象并进行回收。 不足:1.效率问题,标记和清除效率不高 2.在GC的时候会造成GC停顿,响应延迟 3.由于标记-清除算法,不会对存活的对象进行移动,会导致大量的内存碎片,在需 阅读全文
posted @ 2022-03-02 13:52 云中哥 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 检测垃圾的方法? 1.引用计数法:每一个对象都有一个引用计数器,当对象被其他对象所引用的时候,引用计数器就会➕1,不再被引用时则减一 引用计数器的 优点,判断标识效率,回收快, 缺点: 单独的字段存储计数器,额外空间开销。 每次更新计数器伴随加法和减法操作,时间开销大。 存在循环引用问题 2.可达性 阅读全文
posted @ 2022-03-02 13:13 云中哥 阅读(72) 评论(0) 推荐(0) 编辑

2022年3月1日

摘要: https://www.cnblogs.com/fsmly/p/11020641.html 1.内存泄露问题 ThreadLocal中的ThreadLocalMap的Entry中的key存储的是ThreadLocal的对象的弱引用,当在其他地方不再引用它的是时候会被释放,key会null,但是val 阅读全文
posted @ 2022-03-01 23:10 云中哥 阅读(18) 评论(0) 推荐(0) 编辑

2022年2月28日

摘要: https://www.cnblogs.com/duanxz/p/4123068.html 阅读全文
posted @ 2022-02-28 15:38 云中哥 阅读(14) 评论(0) 推荐(0) 编辑

2022年2月25日

摘要: https://www.cnblogs.com/dolphin0520/p/3932921.html 阅读全文
posted @ 2022-02-25 23:20 云中哥 阅读(6) 评论(0) 推荐(0) 编辑

2022年2月23日

摘要: https://www.cnblogs.com/zhengwang/p/8136164.html 阅读全文
posted @ 2022-02-23 15:56 云中哥 阅读(9) 评论(0) 推荐(0) 编辑

2022年2月22日

摘要: https://www.cnblogs.com/dolphin0520/p/3920373.html volatile有两层语义: 1.保证多线程对变量操作时的可见性,即一个线程对变量修改后,对其他线程立刻可见。 2.禁止指令重排序。 第一点,在计算机内存模型上存在数据缓存一致性的问题。因为在执行程 阅读全文
posted @ 2022-02-22 00:10 云中哥 阅读(30) 评论(0) 推荐(0) 编辑

2022年2月21日

摘要: 上图简要描述了Apollo的总体设计,我们可以从下往上看: Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端 Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面) Config Service和Admin Serv 阅读全文
posted @ 2022-02-21 13:41 云中哥 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 长连接实际上我们是通过Http Long Polling实现的,具体而言: 客户端发起一个Http请求到服务端 服务端会保持住这个连接60秒 如果在60秒内有客户端关心的配置变化,被保持住的客户端请求会立即返回,并告知客户端有配置变化的namespace信息,客户端会据此拉取对应namespace的 阅读全文
posted @ 2022-02-21 13:28 云中哥 阅读(170) 评论(0) 推荐(0) 编辑

导航