在JVM中使用本地方法JNI函数访问字符串或数组数据(代码在临界区执行),必须保证原始数据不被修改,以防止其他线程操作,或者GC回收改变字符串对象。使用GC_locker进行加锁,保证临界区代码的正确执行。线程进入临界区,导致触发的YGC被丢弃。线程执行完临界区的代码后,执行ReleaseStringCritical方法,离开临界区。这时发现已经触发了gc。此时再次触发gc时,会出现类似的日志(GCLockerInitiatedGC)36377.653:[ParNew:857904K->15631K(943744K),0.0208915secs]940486K->98215K(4089472K),0.0210903secs][Times:用户=0.08系统=0.00,真实=0.02秒]
