package com.test;
import java.io.ByteArrayOutputStream;
import java.util.Arrays;
import java.util.List;
import java.util.stream.IntStream;
import com.google.common.collect.Lists;
/**
* {@link https://blog.csdn.net/qq_42945742/article/details/84107531}
* {@link https://blog.csdn.net/u011381576/article/details/79755069}
* <pre>
* javac -g:vars GcTest
* javap -verbose GcTest
* java -verbose:gc GcTest
* </pre>
*
* @author
* @date 2021/01/20
*/
public class GcTest {
public static void main(String[] args) {
List<ByteArrayOutputStream> list = Lists.newArrayListWithCapacity(20);
System.out.println("===");
IntStream.range(0, 5).boxed().forEach(i -> {
ByteArrayOutputStream bas = new ByteArrayOutputStream(64 * 1024 * 1024);
list.add(bas);
System.out.println("=====!\r\n");
});
System.out.println("===1");
System.gc();
System.out.println("===2");
ByteArrayOutputStream[] basArray = list.stream().toArray(ByteArrayOutputStream[]::new);
List<ByteArrayOutputStream> list2 = Arrays.asList(basArray);
System.gc();
System.out.println("===2");
basArray = null;
list.clear();
System.gc();
System.out.println("===3");
list2 = null;
System.gc();
System.out.println("===4");
}
private static void test3() {
{
byte[] placeholder = new byte[64 * 1024 * 1024];
}
int a = 0;
System.gc();
System.out.println("====");
}
private static void test2() {
{
int b = 0;
byte[] placeholder = new byte[64 * 1024 * 1024];
}
int a = 0;
System.gc();
System.out.println("====");
}
private static void test1() {
{
int b = 0;
byte[] placeholder = new byte[64 * 1024 * 1024];
}
ByteArrayOutputStream bas = new ByteArrayOutputStream(64 * 1024 * 1024);
for (int i = 0; i < 64 * 1024 * 1024; i++) {
bas.write(i);
}
byte[] xx = bas.toByteArray();
byte[] yy = Arrays.copyOf(xx, xx.length);
System.out.println("====");
int a = 0;
System.gc();
System.out.println("====");
bas = null;
System.gc();
System.out.println("====");
yy = null;
System.gc();
System.out.println("====");
xx = null;
System.gc();
System.out.println("====");
}
}
GC輔助,Help GC,把變量賦值為NULL會幫助GC嗎?
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...