< prev index next >

test/jdk/jdk/jfr/event/runtime/TestClassUnloadEvent.java

Print this page
rev 51054 : imported patch 9000013-aixDisableJFR-requires.patch


  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package jdk.jfr.event.runtime;
  27 
  28 import java.time.Duration;
  29 import java.util.List;
  30 
  31 import jdk.jfr.Recording;
  32 import jdk.jfr.consumer.RecordedClass;
  33 import jdk.jfr.consumer.RecordedClassLoader;
  34 import jdk.jfr.consumer.RecordedEvent;
  35 import jdk.test.lib.Asserts;
  36 import jdk.test.lib.jfr.EventNames;
  37 import jdk.test.lib.jfr.Events;
  38 import jdk.test.lib.jfr.TestClassLoader;
  39 
  40 /*
  41  * @test
  42  * @summary The test verifies that a class unload event is created when class is unloaded
  43  * @key jfr

  44  * @library /test/lib /test/jdk
  45  * @build jdk.jfr.event.runtime.TestClasses
  46  * @run main/othervm -Xlog:class+unload -Xlog:gc -Xmx16m jdk.jfr.event.runtime.TestClassUnloadEvent
  47  */
  48 
  49 /**
  50  * System.gc() will trigger class unloading if -XX:+ExplicitGCInvokesConcurrent is NOT set.
  51  * If this flag is set G1 will never unload classes on System.gc() and
  52  * CMS will not guarantee that all semantically dead classes will be unloaded.
  53  * As far as the "jfr" key guarantees no VM flags are set from the outside
  54  * it should be enough with System.gc().
  55  */
  56 public final class TestClassUnloadEvent {
  57     private final static String TEST_CLASS_NAME = "jdk.jfr.event.runtime.TestClasses";
  58     private final static String EVENT_PATH = EventNames.ClassUnload;
  59 
  60     // Declare unloadableClassLoader as "public static"
  61     // to prevent the compiler to optimize away all unread writes
  62     public static TestClassLoader unloadableClassLoader;
  63 




  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package jdk.jfr.event.runtime;
  27 
  28 import java.time.Duration;
  29 import java.util.List;
  30 
  31 import jdk.jfr.Recording;
  32 import jdk.jfr.consumer.RecordedClass;
  33 import jdk.jfr.consumer.RecordedClassLoader;
  34 import jdk.jfr.consumer.RecordedEvent;
  35 import jdk.test.lib.Asserts;
  36 import jdk.test.lib.jfr.EventNames;
  37 import jdk.test.lib.jfr.Events;
  38 import jdk.test.lib.jfr.TestClassLoader;
  39 
  40 /**
  41  * @test
  42  * @summary The test verifies that a class unload event is created when class is unloaded
  43  * @key jfr
  44  * @requires vm.hasJFR
  45  * @library /test/lib /test/jdk
  46  * @build jdk.jfr.event.runtime.TestClasses
  47  * @run main/othervm -Xlog:class+unload -Xlog:gc -Xmx16m jdk.jfr.event.runtime.TestClassUnloadEvent
  48  */
  49 
  50 /**
  51  * System.gc() will trigger class unloading if -XX:+ExplicitGCInvokesConcurrent is NOT set.
  52  * If this flag is set G1 will never unload classes on System.gc() and
  53  * CMS will not guarantee that all semantically dead classes will be unloaded.
  54  * As far as the "jfr" key guarantees no VM flags are set from the outside
  55  * it should be enough with System.gc().
  56  */
  57 public final class TestClassUnloadEvent {
  58     private final static String TEST_CLASS_NAME = "jdk.jfr.event.runtime.TestClasses";
  59     private final static String EVENT_PATH = EventNames.ClassUnload;
  60 
  61     // Declare unloadableClassLoader as "public static"
  62     // to prevent the compiler to optimize away all unread writes
  63     public static TestClassLoader unloadableClassLoader;
  64 


< prev index next >