并行垃圾收集器通常在主程序的单独线程上运行。下面是一个示例代码,展示了如何在Java中使用并行垃圾收集器:
public class ParallelGCExample {
public static void main(String[] args) {
// 启用并行垃圾收集器
System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "2");
// 创建一个大型数组
int[] array = new int[1000000];
// 填充数组
for (int i = 0; i < array.length; i++) {
array[i] = i;
}
// 并行处理数组,使用并行垃圾收集器
Arrays.parallelSort(array);
// 打印排序后的数组
for (int num : array) {
System.out.println(num);
}
}
}
在上面的示例中,我们通过设置系统属性java.util.concurrent.ForkJoinPool.common.parallelism
来启用并行垃圾收集器。然后,我们创建一个大型数组并使用Arrays.parallelSort
方法对其进行排序。在排序过程中,并行垃圾收集器会在单独的线程上进行垃圾收集操作,而主程序则继续执行其他任务。