摘要:
1 serial 单线程 serial old 常见组合 2 parallel Scavenge 多线程 parallel old 常见组合 3 parNew CMS 常见组合 前面几种 不仅在逻辑上分年轻代和老年代 在物理上也是分为年轻代和老年代 内存两大块 年轻代 老年代 G1 只是在逻辑上分年 阅读全文
posted @ 2022-04-28 13:46
花心大萝卜li
阅读(120)
评论(0)
推荐(0)
摘要:
根据Java虚拟机规范的规定,方法区无法满足内存分配需求时,也会抛出OutOfMemoryError异常,虽然规范规定虚拟机可以不实现垃圾收集,因为和堆的垃圾回收效率相比,方法区的回收效率实在太低,但是此部分内存区域也是可以被回收的。 方法区的垃圾回收主要有两种,分别是对废弃常量的回收和对无用类的回 阅读全文
posted @ 2022-04-28 10:28
花心大萝卜li
阅读(466)
评论(0)
推荐(0)
摘要:
Parallel Scavenge 15 最大是15 因为GC age 占4位 1111 s1 中的对象拷贝到s2 超过50%的话 s1+伊甸区 经过垃圾回收 进入s2里面 超过s2的50%的话 s2中年龄最大的对象 会直接进入老年代 new 出一个对象后 先尝试在栈上分配 能分配 分配栈上 栈上弹 阅读全文
posted @ 2022-04-28 10:28
花心大萝卜li
阅读(39)
评论(0)
推荐(0)
摘要:
栈上分配 无需调整 1小 2 线程私有不会被其他线程所共享 3 没有逃逸 在某一段代码里使用 出了代码块 没人使用 4 标量替换 整个对象T 里面有两个类型 int m int n 可以使用m 和 n 替换对象T 栈上分配不下了 会优先进行本地的分配TLAB 无需调整 当多个线程都向伊甸区做分配时, 阅读全文
posted @ 2022-04-28 09:42
花心大萝卜li
阅读(51)
评论(0)
推荐(0)
摘要:
将内存分为几大块 第一块为新生代 new /young 刚new 出来的对象 新生代包含 eden(伊甸区)和两个survivor 比例为8:1:1 enden区回收之后进入survivor区 新生代大量死去,少量存活,采用复制算法 老年代存活率较高,回收较少 ,采用MC 或者MS 算法 第二块为老 阅读全文
posted @ 2022-04-28 09:16
花心大萝卜li
阅读(78)
评论(0)
推荐(0)
摘要:
1invokeStatic 2invokeVirtual 3invokeInterface 4invokespecial 5invokeDynamic invokeStatic 虚拟机优化 invokeVirtual 多数方法都是用的它 invokeVirtual 自带多态(new 的是哪个对象 就 阅读全文
posted @ 2022-04-28 08:25
花心大萝卜li
阅读(132)
评论(0)
推荐(0)

浙公网安备 33010602011771号