从一起GC血案谈到反射原理 (club.perfma.com)

【简介】

首先回答一下提问者的问题。这主要是由于存在大量反射而产生的临时类加载器和 ASM 临时生成的类,这些类会被保留在 Metaspace,一旦 Metaspace 即将满的时候,就会触发 FullGc,已达到回收不再被使用的类对象的目的。具体问题请参考接下来的内容,更好的了解反射的实现原理。

点击查看全文 >>

@PerfMa社区 2020-04-09 10:18分享 / 0个评论
赞过的人: IT技术博客大学习 PerfMa社区
要不要再学学下面的文章?
这些浏览器工作原理你都吃透了吗? (mp.weixin.qq.com)
在我们面试过程中,面试官经常会问到这么一个问题,那就是从在浏览器地址栏中输入URL到页面显示,浏览器到底发生了什么?这个问题看起来是老生常谈,但是这个问题回答的好坏,确实可以很好的反映出面试者知识的广度和深度。
by @code小生 2020-11-29 20:16 分享 查看详情
探索 Glide 原理 (mp.weixin.qq.com)
接下来的讲解将基于 Glide 目前的最新版本 4.11。
Glide 的使用特别简单,首先添加依赖。
by @code小生 2020-11-15 17:53 分享 查看详情
Android DEPPLINK、APPLink 原理简析 (mp.weixin.qq.com)
APP 开发中经常会有这种需求:在浏览器或者短信中唤起 APP,如果安装了就唤起,否则引导下载。对于 Android 而言,这里主要牵扯的技术就是 deeplink,也可以简单看成 scheme,Android一直是支持scheme的,但是由于 Android的开源特性,不同手机厂商或者不同浏览器厂家处理的千奇百怪,有些能拉起,有些不行,本文只简单分析下link的原理,包括 deeplink,也包括 Android6.0之后的 AppLink。其实个人认为,AppLink就是特殊的deeplink,只不过它多了一种类似于验证机制,如果验证通过,就设置默认打开,如果验证不过,则退化为deeplink,如果单从APP端来看,区别主要在 Manifest 文件中的android:autoVerify="true",如下,
by @code小生 2020-09-13 15:50 分享 查看详情
白话中台战略:中台的第一性原理 (insights.thoughtworks.cn)
中台所代表的企业架构向平台型演进的过程,本质上就是企业在发展过程中,随着对于市场信息认知不断提升,在不确定性中寻找确定性,持续在跨业务线探索通用最佳实践(Best Practice),并以中台层承载,并最终用于支撑和实现企业对于业务发展的快速响应、复制与增强的过程。
by @ThoughtWorks 2020-08-18 09:40 分享 查看详情
一个故事讲完 CPU 的工作原理 (mp.weixin.qq.com)
上二年级的小明正坐在教室里。现在是数学课,下午第一节,窗外的蝉鸣、缓缓旋转的吊扇让同学们昏昏欲睡。此时,刘老师在黑板上写下一个问题:
by @code小生 2020-08-02 13:40 分享 查看详情
深入浅出 Android 屏幕刷新原理 (mp.weixin.qq.com)
现在Android的应用界面越来越复杂,很多时候页面中还有各种动画,所以页面卡顿、掉帧等问题就随之而来,所以就想研究一下屏幕刷新的原理,以便于更快的定位和解决问题
by @code小生 2020-06-28 21:57 分享 查看详情
Hotspot GC研发工程师也许漏掉了一块逻辑 (club.perfma.com)
今天要说的这个问题,是我经常面试问的一个问题,只是和我之前排查过的场景有些区别,属于另外一种情况。也许我这里讲了这个之后,会成为不少公司JVM必问之题,所以本文还是值得大家好好看看的,相信也会让你很有收获,我把这个问题简单归纳为Hotspot GC研发工程师也许漏掉了一块逻辑。
by @PerfMa社区 2020-06-23 10:28 分享 查看详情
聊一个可能有惊喜的System GC知识点 (club.perfma.com)
有个系统一启动怎么就发生了System GC(从GC日志里看到了GC Cause是System GC),按照我的经验,这十有八九是堆外内存不够所致,但是启动就不够,这似乎不太可能,于是我又说是不是自己调用了,搜了下没有地方调。
by @PerfMa社区 2020-04-28 10:22 分享 查看详情
又抓了一个导致频繁GC的鬼--数组动态扩容 (club.perfma.com)
系统一直在做cms gc,但是老生代一直不降下去,但是执行一次jmap -histo:live之后,也就是主动触发一次full gc之后,通过jstat -gcutil来看老生代一下就降下去了,初看下理论上不太可能,因为full gc也会对old做回收。
by @PerfMa社区 2020-04-24 16:05 分享 查看详情
JVM源码分析之System.currentTimeMillis及nanoTime原理详解 (club.perfma.com)
有同事问了我一个现象很诡异的问题,说JDK7和JDK8下的System.nanoTime()输出完全不一样,而且差距还非常大,是不是两个版本里的实现不一样,之前我也没注意过这个细节,觉得非常奇怪,于是自己也在本地mac机器上马上测试了一下
by @PerfMa社区 2020-04-14 11:35 分享 查看详情