两个操作之间存在happens-before关系,并不意味着一定要按照happens-before原则制定的顺序来执行。如果重排序之后的执行结果与按照happens-before关系来执行的结果一致,那么这种重排序并不非法。 happens-before规则: 程序次序规则 program order rule:在一个线程内,按照程序代码顺序,书写在前面的操作先行发生于书写在后面的...
使用-XX:UseCMS-CompactAtFullCollection默认开启,可以在fullGC发生时进行内存碎片整理(压缩)。 使用-XX:UseCMSFullGCsBeforeCompaction,默认0,决定Full GC几次后进行压缩 并发标记过程:初始标记(判断对象是否能跟gc roots连接)-并发标记-重新标记(修正并发标记中不准备的点,如对象消失问题)-并发清理。其中初始标记和...