java垃圾回收那点事(五)ParallelGCThreads参数

为了提高垃圾回收的性能,java在parallel回收的时候可以设置同时并行处理的线程数也就是ParallelGCThreads,如果你没有设置该参数,该单数jvm会默认设置成online的cpu的数目,并不包括被shutdown的内核 Linux 下获取online的cpu的核数 int online_cpus = ::sysconf(_SC_NPROCESSORS_ONLN);...
阅读(9670) 评论(0)

java垃圾回收那点事(四)谁执行了GC的任务

在第一篇中曾经提到过,System.gc 曾经调用代码 Universe::heap()->collect(GCCause::_java_lang_system_gc); 而每个不同类型的gc,使用不同的heap策略,以parallelScavengeHeap 为例子 void ParallelScavengeHeap::collect(GCCause::Cause cause) { a...
阅读(2129) 评论(0)

java垃圾回收那点事(二)究竟有多少GC

java的gc回收的类型主要有几种 UseSerialGC,UseConcMarkSweepGC,UseParNewGC,UseParallelGC,UseParallelOldGC,UseG1GC,而这几个参数是如何搭配的,实际上只要看下面的代码就非常清楚 bool Arguments::check_gc_consistency() { bool status = true; // E...
阅读(7016) 评论(0)

java垃圾回收那点事(三)不同gc策略的heap分配

在前面的文章中曾提到了在java虚拟机启动的时候会让不同的GC,使用不同的heap的分配策略。...
阅读(4361) 评论(0)

java垃圾回收那点事(一) System.gc开始说起

java提供了从语言角度能够强制jvm进行垃圾回收,在我们的程序中会通过调用System.gc去强制jvm进行垃圾回收,通过源码我们可以看到实际上是调用了Runtime去强制gc public static void gc() { Runtime.getRuntime().gc(); } Runtime的gc方法是native方法也就是Rumtime.c中的 JNIEXPORT v...
阅读(12467) 评论(0)
    个人资料
    • 访问:422489次
    • 积分:4922
    • 等级:
    • 排名:第6135名
    • 原创:97篇
    • 转载:3篇
    • 译文:0篇
    • 评论:72条
    最新评论