摘要: CMS(Concurrent Mark Sweep)应用场景 CMS是一种以获取最短回收停顿时间为目标的收集器。目前很大一部分的Java应用集中在互联网网站或者基于浏览器的B/S系统的服务端上,这类应用通常都会较为关注服务的响应速度,希望系统停顿时间尽可能短,以给用户带来良好的交互体验。CMS收集器 阅读全文
posted @ 2020-10-10 16:10 天门道人 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 明确垃圾回收器组合 -XX:+UseSerialGC 年轻代和老年代都用串行收集器 -XX:+UseParNewGC 年轻代使用ParNew,老年代使用 Serial Old -XX:+UseParallelGC 年轻代使用Paraller Scavenge,老年代使用Serial Old -XX: 阅读全文
posted @ 2020-10-10 11:21 天门道人 阅读(1707) 评论(0) 推荐(0) 编辑
摘要: GC通用参数 -Xmn:年轻代 -Xss:栈空间 -Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRa 阅读全文
posted @ 2020-10-09 23:18 天门道人 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 什么是垃圾? 没有任何引用指向的对象,就是垃圾 如何找到垃圾?(2 种方法) **过程:**先找到正在使用的对象,然后把没有正在使用的对象进行回收 1.引用数-Reference-Count 被引用数为 0 的即为垃圾,在 Java 领域,至少主流的 Java 虚拟机里面都没有选用引用计数算法来管理 阅读全文
posted @ 2020-10-09 16:26 天门道人 阅读(476) 评论(0) 推荐(0) 编辑
摘要: G1诞生的背景 Garbage First(简称G1)收集器是垃圾收集器技术发展历史上的里程碑式的成果,它开创了收集器面向局部收集的设计思路和基于Region的内存布局形式。HotSpot开发团队最初赋予它的期望是(在比较长期的) 未来可以替换掉JDK 5中发布的CMS收集器。 现在这个期望目标已经 阅读全文
posted @ 2020-10-08 23:59 天门道人 阅读(1291) 评论(0) 推荐(0) 编辑
摘要: JVM 堆中的数据是共享的,是占用内存最大的一块区域。 可以执行字节码的模块叫作执行引擎。 执行引擎在线程切换时怎么恢复?依靠的就是程序计数器。 JVM 的内存划分与多线程是息息相关的。像我们程序中运行时用到的栈,以及本地方法栈,它们的维度都是线程。 本地内存包含元数据区和一些直接内存。 本地方法栈 阅读全文
posted @ 2020-09-30 15:53 天门道人 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 1.对象的创建过程 class loading class linking(verification,preparation,resolution) class initializing 申请对象内存 给对象的成员变量赋默认值 调用构造方法 成员变量顺序赋初始值 执行构造方法语句(如果有父类,则先调 阅读全文
posted @ 2020-09-30 15:47 天门道人 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 1.Class文件内容格式 2.一个class文件是被加载到内存的过程是怎样的? loading 把一个class文件装到内存里,class文件是一个二进制,一个个的字节 linking Verification:校验装载进来的class文件是不是符合jvm规定,如果不符合规范,直接就被拒掉了 Pr 阅读全文
posted @ 2020-09-30 14:40 天门道人 阅读(425) 评论(0) 推荐(0) 编辑