
jvm总结
文章平均质量分 74
zhang_rk
这个作者很懒,什么都没留下…
展开
-
Jvm调优总结--1:概念
数据类型基本数据类型:基本数据类型的变量值保存原始值——它代表的值就是数值本身包括:byte–short–int–long–char–float–double–Boolean–returnAddress引用数据类型:引用数据类型的变量保存引用值——代表对象的引用,不是对象本身,对象本身存放在这个引用值所标示的地址的位置包括:类类型–接口类型–数组堆与栈栈是运行时的单位,堆是...原创 2018-11-21 15:47:57 · 238 阅读 · 0 评论 -
Jvm调优总结--2:基本垃圾回收算法
按照基本回收策略分:引用计数(Reference Counting):对象有一个引用,增加一个引用则增加一个计数,删除一个引用则减少一个计数,垃圾回收的时候,只对收集计数为0的对象。(最致命的是无法处理循环引用的问题)标记-清除(Mark-Sweep):第一阶段:从引用根节点开始标记是所有被引用的对象。第二阶段:遍历整个堆,把未标记的对象清除。(此算法需要暂停应用,还会产生内存锁...原创 2018-11-21 15:54:14 · 196 阅读 · 0 评论 -
Jvm调优总结--3:垃圾回收面临的问题
如何处理碎片“复制”和“标记-整理”都可以如何解决同时存在的对象创建和对象回收问题进行垃圾回收前,暂停内存的分配,进行垃圾回收,回收完继续应用。这种方式最直接最有效(弊端:堆空间持续增大时,垃圾回收的时间也相应持续增大,对应的暂停时间也相应增大)为了解决这个问题就有了并发垃圾回收算法,垃圾回收线程与程序运行线程同时运行。(在新生成对象的同时要回收对象,算法复杂性增大,系统的处理...原创 2018-11-21 15:56:06 · 361 阅读 · 0 评论 -
Jvm调优总结--4:分代垃圾回收
为什么要分代不同生命周期的对象采用不同的收集方式,提高回收效率如何分代持久代主要存放java类的类信息,与垃圾收集要收集的java对象关系不大。年轻代:所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象。当eden区满时,还存活的对象被复制到survivor区,当该区满时分配到另一个区,三个区都满的时候复制到年老区。年老代:在年轻代经历...原创 2018-11-21 16:01:50 · 203 阅读 · 0 评论 -
Jvm调优总结--5:典型配置
堆设置-Xms:初始堆大小-Xmx:最大堆大小-XX:NewSize=n:设置年轻代大小-XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,...原创 2018-11-21 16:07:08 · 198 阅读 · 0 评论