changeset 80:7fa076c63a42

ClassChurn example
author shade
date Thu, 26 Oct 2017 12:03:09 +0200
parents e08d29090857
children c1b1811b7730
files src/main/java/org/openjdk/gcbench/wip/ClassChurn.java
diffstat 1 files changed, 23 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/org/openjdk/gcbench/wip/ClassChurn.java	Thu Oct 26 12:03:09 2017 +0200
@@ -0,0 +1,23 @@
+package org.openjdk.gcbench.wip;
+
+import org.openjdk.jmh.annotations.*;
+
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.concurrent.TimeUnit;
+
+@Warmup(iterations = 0)
+@Measurement(iterations = 200)
+@Fork(1)
+@BenchmarkMode(Mode.AverageTime)
+@OutputTimeUnit(TimeUnit.MICROSECONDS)
+@State(Scope.Thread)
+public class ClassChurn {
+
+    @Benchmark
+    public Class<?> load() throws ClassNotFoundException {
+        URLClassLoader loader = new URLClassLoader(new URL[0]);
+        return Class.forName("java.util.HashMap", true, loader);
+    }
+
+}
\ No newline at end of file