29 * @library /testlibrary
30 * @modules java.base/jdk.internal.misc
31 * java.management
32 */
33
34 import jdk.test.lib.ProcessTools;
35 import jdk.test.lib.OutputAnalyzer;
36
37 public class TestStringSymbolTableStats {
38 public static void main(String[] args) throws Exception {
39
40 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
41 "-XX:+UnlockExperimentalVMOptions",
42 "-Xlog:gc+stringtable=trace",
43 SystemGCTest.class.getName());
44
45 OutputAnalyzer output = new OutputAnalyzer(pb.start());
46
47 System.out.println("Output:\n" + output.getOutput());
48
49 output.shouldContain("Cleaned string and symbol table");
50 output.shouldHaveExitValue(0);
51 }
52
53 static class SystemGCTest {
54 public static void main(String [] args) {
55 System.out.println("Calling System.gc()");
56 System.gc();
57 }
58 }
59 }
|
29 * @library /testlibrary
30 * @modules java.base/jdk.internal.misc
31 * java.management
32 */
33
34 import jdk.test.lib.ProcessTools;
35 import jdk.test.lib.OutputAnalyzer;
36
37 public class TestStringSymbolTableStats {
38 public static void main(String[] args) throws Exception {
39
40 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
41 "-XX:+UnlockExperimentalVMOptions",
42 "-Xlog:gc+stringtable=trace",
43 SystemGCTest.class.getName());
44
45 OutputAnalyzer output = new OutputAnalyzer(pb.start());
46
47 System.out.println("Output:\n" + output.getOutput());
48
49 output.shouldMatch("GC\\(\\d+\\) Cleaned string and symbol table");
50 output.shouldHaveExitValue(0);
51 }
52
53 static class SystemGCTest {
54 public static void main(String [] args) {
55 System.out.println("Calling System.gc()");
56 System.gc();
57 }
58 }
59 }
|