摘要:不知不觉微信中收藏了很多技术文章,这些文章都是在平时看到后,因为没时间就暂时收藏了,久而久之,积攒了很多,也没有分门别类。 忽然发现,专业是一种习惯,在努力逼迫自己学习的时候,就会慢慢觉得自己专业起来。近期这方面做得较少,就渐渐觉得自己不够专业了。所以希望在 2019年继续努力学习,继续专业起来,继 阅读全文
CMS 阶段性了结
2018-09-16 16:33 by 乱月灵猫, 1457 阅读, 0 推荐, 收藏, 编辑
摘要:CMS 阶段性了结 接触 CMS 已经很长时间了,但是对 CMS 的了解似乎一直没有开始,直到最近模型平台项目用到时遇到了很多问题。网上查阅了很多资料,主要参考了 R大、寒泉子、占小狼的各种文章以及回帖。不过自己还是有些愚钝,对一些问题至今不是很清楚,主要原因在于一方面 JVM GC 知识点很多,划 阅读全文
Java 代码监控 JVM 运行状态 —— 记一次 JVM 调优的毛招
2018-09-15 13:52 by 乱月灵猫, 1296 阅读, 0 推荐, 收藏, 编辑
摘要:在做模型项目的时候遇到一个问题,由于模型服务装载一些大模型,大模型对象的大小在 300M 左右,而一台服务器可能装载多个大模型。在服务启动和模型更新的时候会遇到 young gc 耗时过长的问题,young gc 所采用的垃圾回收器是 ParNew。通过观察 GC 日志可以发现,模型对象一开始是存在 阅读全文
ClassLoader PPT 总结
2018-08-25 14:18 by 乱月灵猫, 203 阅读, 0 推荐, 收藏, 编辑
摘要:如果理解了上述所讲的内容,最后的这个问题其实不难解答,在这里就先不做解答了(这个问题是自己想的,网上没有搜到,所以我的答案也未必完全标准,不过有兴趣的朋友可以留下自己的看法) 阅读全文
记一次 CMS 回收异常问题 —— 跨代引用和循环依赖
2018-08-25 14:07 by 乱月灵猫, 1261 阅读, 0 推荐, 收藏, 编辑
摘要:模型系统加载深度学习模型后,会触发报警,原因是触发了 Full GC,而 GC 后回收效率却不高,回收前 83%,回收后 65%,老年代加载完成单率模型后,竟然从 150M 飙到了 1.5G 以上,而实际上用 jol 计算出来的模型大小才 300M,这明显是不符合预期的。最后排查发现实际是 导致的问 阅读全文
读懂 GC 日志
2018-08-22 16:17 by 乱月灵猫, 3766 阅读, 0 推荐, 收藏, 编辑
摘要:读懂 GC 日志 这个课题拖了很久了,可以说读懂 GC 日志对于一个 java 后端开发来说是必须的事情。然而读懂 GC 日志并非是一件容易的事情,首先要对 JVM 内存模型有基本的理解,熟悉常用的 JVM 垃圾回收器,其次要知晓每个参数能够产生的效果,再次要清楚不同的垃圾回收器的日志该如何去读。这 阅读全文
ClassLoader 学习笔记
2018-07-01 20:36 by 乱月灵猫, 874 阅读, 0 推荐, 收藏, 编辑
摘要:ClassLoader 参考 blog: "JVM类生命周期概述:加载时机与加载过程" "深入理解Java类加载器(一):Java类加载原理解析" "深入理解Java类加载器(2):线程上下文类加载器" Java 类加载机制是技术体系中比较重要的部分,对其背后机理有一定理解有助于排查 问题,以及自定 阅读全文
java 可见性简单总结
2018-05-21 10:43 by 乱月灵猫, 3143 阅读, 1 推荐, 收藏, 编辑
摘要:Java 可见性 内存模型 主存 所有线程都可以访问 本地内存 每个线程私有的内存 可见性的方法 volatile 这种方式可以保证每次取数直接从主存取 它只能保证内存的可见性,无法保证原子性 它不需要加锁,比 synchronized 更轻量级,不会阻塞线程 不会被编译器优化 然而要求对这个变量做 阅读全文
Kafka 基本原理整理
2018-05-21 10:39 by 乱月灵猫, 725 阅读, 0 推荐, 收藏, 编辑
摘要:Kafka 体系架构 Producers push message Brokers contain messages Consumers pull message Zookeeper Cluster manage kafka cluster config select leader rebalanc 阅读全文