内存模型
qiaoHaoTing
这个作者很懒,什么都没留下…
展开
-
记一次生产大对象导致的OOM让架构师连夜排查解决
为何半夜告警电话狂打不停,为何上线用户投诉不断,是道德的沦丧还是人性的扭曲,NO,是代码的缺陷。Java8的JVM内存管理中,大对象生成直接放入老年代的,当老年代空间不足,就会进行FullGC,频繁的生成大对象,会进行频繁的FullGC,甚至直接OOM导致应用宕机。有时候一段平平无奇的代码,看似温柔,实则暗藏着巨大隐患,这时候算法显得格外的重要,这也是为什么算法是一些大厂招人必备考核项目的原因之一。如何去用最短的时间,最少的空间去使整个产品更加健壮流畅。在某个场景中需要计算出时长,已知开始时间,原创 2020-12-06 15:17:51 · 130247 阅读 · 0 评论 -
从初级开发给大龄架构师review代码来看慢慢人生路
本人就职于世界前30强旗下科技公司,初级小开发一枚,组内现在仅存一位年龄40+的架(zhen)构(shui)师(a)一次版本需求,我们的架构师写了一个消费者-生产者的代码,快要到发版了都无法正常实现业务功能,这时候私下找我一起看一下代码,如下问题:在生产者这边给一个对象的属性进行赋值A,这消费者那边取不到A,因为把对象属性拿出来赋值的时候进行了类型强转,所以新开辟了内存空间,不再指向对象原来的地址,这时候需要进行set回去一个对象中有一个Map属性,但是没有指定Map的键值对的数据类型(实际业务原创 2020-11-25 23:18:36 · 23087 阅读 · 1 评论