上一页 1 ··· 8 9 10 11 12 13 14 下一页
摘要: what: G1全称Garbag first。早在JDK 7中就加入了。 其适合:大堆内存、小时延的回收。其解决了CMS中很多的缺陷。 核心思想:引入了分区的思想,弱化了分代的概念,从而合理利用垃圾回收各个周期的资源。 内存结构: G1将heap划分为一系列大小相等的region,叫做“小堆区”。每 阅读全文
posted @ 2021-11-07 23:41 修心而结网 阅读(192) 评论(0) 推荐(0) 编辑
摘要: why: CMS和G1都存在并发标记期间对象引用发生改变,从而导致部分白色对象标记不到(被视为了非活跃对象),被清理掉。 CMS和G1各自采用了不同的方案来解决。 例如: 引用关系改为:B->D的引用,改为了A->D和B->C。 how: CMS:incremental update算法 incre 阅读全文
posted @ 2021-11-07 00:35 修心而结网 阅读(373) 评论(0) 推荐(0) 编辑
摘要: what: SATB全称Snapshot-At-The-Beginning,字面意思是:GC开始时活着对象的一个快照。它是通过root tracing得到的,作用是保持并发GC的正确性。 具体如何确保并发GC正确性?三色标记法(和CMS的一样)。 why: 三色标记法,是会产生漏标问题。具体是:白色 阅读全文
posted @ 2021-11-06 21:22 修心而结网 阅读(772) 评论(0) 推荐(0) 编辑
摘要: what: RSet是个空间换时间的数据结构,全称是Remembered set。RSet是Points-into(谁引用了我);而CMS中的Card Table (https://www.cnblogs.com/sfzlstudy/p/15429902.html)是一种Points-out(我引用 阅读全文
posted @ 2021-10-28 00:18 修心而结网 阅读(818) 评论(0) 推荐(0) 编辑
摘要: why: 非对称加密,通过使用“私钥+公钥”(私钥解密,公钥加密。注意:使用的公钥一定是需要安全获取的,例如:CA认证机构,不能直接使用网络传输的),可以保证安全(只有私钥的人才可以看到真实的原文)。 注意:公钥加密的算法比较复杂比较慢,所有一般不用公钥加密过长的内容。一般加密的是对称密钥。 那么能 阅读全文
posted @ 2021-10-25 11:18 修心而结网 阅读(34) 评论(0) 推荐(0) 编辑
摘要: why: 对称加密可以解决数据的安全,但是对称加密的加密密钥和解密密钥是一样的。那就需要有安全的密钥交换方案。 what: DH算法(Diffie-Hellman算法)可以保证在双方不直接传输原始密钥的情况下,完成双方密钥交换。 DH算法交换密钥的步骤。假设甲乙双方需要传递密钥,他们之间可以这么做: 阅读全文
posted @ 2021-10-25 10:43 修心而结网 阅读(600) 评论(0) 推荐(0) 编辑
摘要: what: 逻辑上将老年代的内存分成大小一致的卡片(card,一般128个字节),每个用1个标记位来记录,将所有的卡片收集到一起来管理,就构成了表格(mark table)。 当改写引用,是从老年代到新生代的,那么对应card在table中的标记就变为1,即该卡就是dirty card。该过程可以在 阅读全文
posted @ 2021-10-20 17:36 修心而结网 阅读(643) 评论(0) 推荐(0) 编辑
摘要: why: 并发标记标记阶段,应用线程是在run的,就会是并发标记的结果不准,漏垃圾还好,主要是把一下需要使用的对象清理了。 where: 如下图: 并发标记线程在扫描完A后。应用线程将C的引用关系,经过b转换到了c。这时由于A已经扫描(三色扫描)完毕了,不会再扫描标记A,那么C对象就会最终标记为白色 阅读全文
posted @ 2021-10-20 17:23 修心而结网 阅读(139) 评论(0) 推荐(0) 编辑
摘要: what: 分为:空闲列表、碰撞指针; 空闲列表:jvm的内存不是规整的,使用和未使用的内存块都是交错放置的,jvm只能使用“空闲内存表”来管理未使用的内存空间。所有新对象的内存块分配,都从“空闲内存表”来分配。该中内存分配管理方式是“空闲列表”方式。 碰撞指针:jvm的内存是规整的,使用1个指针来 阅读全文
posted @ 2021-10-20 16:10 修心而结网 阅读(99) 评论(0) 推荐(0) 编辑
摘要: whate: 三色标记法,是把内存中的对象,标记为3种颜色,分布是:黑、灰、白。 黑:表示该对象已经扫描到,并且它可触达的对象也已经扫描到; 灰:表示该对象已经扫描到,但是它能触发的对象至少还有一个没有扫描到; 白:表示该节点没有被扫描到; where: CMS的三色标记发生并发标记和重新标记阶段。 阅读全文
posted @ 2021-10-20 15:52 修心而结网 阅读(858) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 下一页