StringTable位置

 

 

 

 

 

 测试案例:

import java.util.ArrayList;
import java.util.List;

/**
 * StringTableTest
 *
 * @author KpWong * 
 */

/*
 * jdk8下设置 -Xmx10m -XX:-UseGCOverheadLimit
 * jdk6下设置 -XX:MaxPermSize=10m
 */
public class StringTableTest {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        int i =0;
        try{
            for(i =0;i<260000;i++)
            {
                list.add(String.valueOf(i).intern());
            }
        }
        catch (Throwable e)
        {
            e.printStackTrace();
        }
        finally {
            System.out.println(i);
        }

    }
}

JDK8下运行结果:

 

 JDK6运行结果:

 

元空间 也属于堆区:

测试代码:

/**
 * StringTableTest02
 *
 * @author KpWong
 */
/*
 * -Xmx10m -XX:+PrintStringTableStatistics -XX:+PrintGCDetails -verbose:gc
 */
public class StringTableTest02 {
    public static void main(String[] args) {
        int i = 0;
        try {
        } catch (Throwable e) {
            e.printStackTrace();
        } finally {
            System.out.println(i);
        }
    }
}
-Xmx10m -XX:+PrintStringTableStatistics -XX:+PrintGCDetails -verbose:gc

运行结果:

 

posted @ 2021-05-09 20:15  kpwong  阅读(158)  评论(0编辑  收藏  举报