随笔分类 - jvm
摘要:import java.util.HashMap;/** * Created by wb-xxd249566 on 2017/4/5. * -Xmx1g -Xms1g -Xmn512k -XX:+UseSerialGC -Xloggc:gc.log -XX:+PrintGCDetails */public class StopWorldTest { public static class M...
阅读全文
摘要:java中提供了四个级别的引用:强引用、软引用、弱引用和虚引用。除强引用外,其它三种均可以在java.lang.ref包中找到它们的身影。强引用就是程序中一般使用的引用类型,强引用对象是可触及的,不会被回收。相对的,软引用、弱引用和虚引用的对象是软可触及、弱可触及和虚可触及的,在一定条件下,都可以被回收。强引用/** * Created by wb-xxd249566 on 2017/4/5. *...
阅读全文
摘要:可触及性的3种状态:1.可触及的:从根节点开始,可以到达这个对象。2.可复活的:对象的所有引用都被释放,但是对象有可能在finalize()函数中复活。3.不可触及的:对象的finalize()函数被调用,并且没有复活,那么就会进入不可触及状态,不可触及的对象不能被复活,因为finalize()函数只会被调用一次。对象的复活/** * Created by xxd on 2017/4/4. */p...
阅读全文
摘要:引用计数法对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器就减1.只要A对象的引用计数器的值为0,则对象A就不可能再被使用。实现也很简单,只需要为每个对象配备一个整型的计数器即可。缺点:1.无法处理循环引用的情况2.引用计算器要求在每次引用产生和消除的时候,需要伴随一个加法操作和减法操作,对系统性能有一定影响。A引用了B,B又引用了A,因此A和B的引用计...
阅读全文
摘要:方法区配置-XX:PerSize 初始永久区的大小-XX:MaxPermSize 最大永久区的大小栈配置-Xss 指定线程栈的大小直接内存配置直接内存跳过了Java堆,使java程序可以直接访问原生堆空间,它从一定程度上加快了内存空间的访问速度。-XX:MaxDirectMemorySize 最大可用直接...
阅读全文
摘要:import java.util.Vector;/** * Created by xxd on 2017/4/2. */public class DumpOOM { public static void main(String[] args){ Vector v = new Vector(); for (int i=0;i<25;i++){ ...
阅读全文
摘要:import java.util.Vector;/** * Created by xxd on 2017/4/2. */public class DumpOOM { public static void main(String[] args){ Vector v = new Vector(); for (int i=0;i504K(1024K)] 512K->51...
阅读全文