[9] RFR (M) 8054888: Runtime: Add Diagnostic Command that prints the class hierarchy
Chris Plummer
chris.plummer at oracle.com
Fri Feb 6 02:49:36 UTC 2015
$> jcmd NeverExit help VM.class_hierarchy
25101:
VM.class_hierarchy
Print a list of all loaded classes, indented to show the class hiearchy.
Impact: Medium: Depends on number of loaded classes.
Syntax : VM.class_hierarchy [options] [<classname>]
Arguments:
classname : [optional] Name of class whose hierarchy should be printed. If not specified, all class hierarchies are printed. (STRING, no default value)
Options: (options must be specified using the <key> or <key>=<value> syntax)
-i : [optional] Inherited interfaces should be printed. (BOOLEAN, false)
-s : [optional] If a classname is specified, print its subclasses. Otherwise only it superclasses are printed. (BOOLEAN, false)
$> jcmd NeverExit VM.class_hierarchy java.lang.Error
25101:
java.lang.Object (0x080609c8)
|--java.lang.Throwable (0x080609c8)
| |--java.lang.Error (0x080609c8)
$> jcmd NeverExit VM.class_hierarchy java.lang.Error -i
25101:
java.lang.Object (0x080609c8)
|--java.lang.Throwable (0x080609c8)
| implements java.io.Serializable (declared intf)
| |--java.lang.Error (0x080609c8)
| | implements java.io.Serializable (transitive intf)
$> jcmd NeverExit VM.class_hierarchy java.lang.Error -s
25101:
java.lang.Object (0x080609c8)
|--java.lang.Throwable (0x080609c8)
| |--java.lang.Error (0x080609c8)
| | |--java.lang.VirtualMachineError (0x080609c8)
| | | |--java.lang.StackOverflowError (0x080609c8)
| | | |--java.lang.OutOfMemoryError (0x080609c8)
| | |--java.lang.LinkageError (0x080609c8)
| | | |--java.lang.IncompatibleClassChangeError (0x080609c8)
| | | | |--java.lang.NoSuchMethodError (0x080609c8)
| | | |--java.lang.BootstrapMethodError (0x080609c8)
| | | |--java.lang.NoClassDefFoundError (0x080609c8)
| | |--java.lang.ThreadDeath (0x080609c8)
$> jcmd NeverExit VM.class_hierarchy java.lang.Error -s -i
25101:
java.lang.Object (0x080609c8)
|--java.lang.Throwable (0x080609c8)
| implements java.io.Serializable (declared intf)
| |--java.lang.Error (0x080609c8)
| | implements java.io.Serializable (transitive intf)
| | |--java.lang.VirtualMachineError (0x080609c8)
| | | implements java.io.Serializable (transitive intf)
| | | |--java.lang.StackOverflowError (0x080609c8)
| | | | implements java.io.Serializable (transitive intf)
| | | |--java.lang.OutOfMemoryError (0x080609c8)
| | | | implements java.io.Serializable (transitive intf)
| | |--java.lang.LinkageError (0x080609c8)
| | | implements java.io.Serializable (transitive intf)
| | | |--java.lang.IncompatibleClassChangeError (0x080609c8)
| | | | implements java.io.Serializable (transitive intf)
| | | | |--java.lang.NoSuchMethodError (0x080609c8)
| | | | | implements java.io.Serializable (transitive intf)
| | | |--java.lang.BootstrapMethodError (0x080609c8)
| | | | implements java.io.Serializable (transitive intf)
| | | |--java.lang.NoClassDefFoundError (0x080609c8)
| | | | implements java.io.Serializable (transitive intf)
| | |--java.lang.ThreadDeath (0x080609c8)
| | | implements java.io.Serializable (transitive intf)
yolanda:/myws/hotspot/jdk9/hs-rt/hotspot> jcmd NeverExit VM.class_hierarchy
25101:
java.lang.Object (0x080609c8)
|--java.net.Parts (0x080609c8)
|--java.nio.charset.spi.CharsetProvider (0x080609c8)
| |--sun.nio.cs.FastCharsetProvider (0x080609c8)
| | |--sun.nio.cs.StandardCharsets (0x080609c8)
|--java.lang.Number (0x080609c8)
| |--java.lang.Float (0x080609c8)
| |--java.lang.Long (0x080609c8)
| |--java.util.concurrent.atomic.AtomicLong (0x080609c8)
| |--java.lang.Integer (0x080609c8)
| |--java.util.concurrent.atomic.AtomicInteger (0x080609c8)
| |--java.lang.Short (0x080609c8)
| |--java.lang.Byte (0x080609c8)
| |--java.lang.Double (0x080609c8)
|--java.nio.channels.spi.AbstractInterruptibleChannel (0x080609c8)
| |--java.nio.channels.FileChannel (0x080609c8)
| | |--sun.nio.ch.FileChannelImpl (0x080609c8)
|--java.nio.file.Path (0x080609c8, intf)
|--java.lang.reflect.Parameter (0x080609c8)
|--java.nio.channels.InterruptibleChannel (0x080609c8, intf)
|--sun.misc.SharedSecrets (0x080609c8)
|--java.lang.invoke.CallSite (0x080609c8)
| |--java.lang.invoke.VolatileCallSite (0x080609c8)
| |--java.lang.invoke.MutableCallSite (0x080609c8)
| |--java.lang.invoke.ConstantCallSite (0x080609c8)
|--java.util.concurrent.atomic.AtomicReferenceFieldUpdater (0x080609c8)
| |--java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl (0x080609c8)
|--sun.nio.cs.ArrayDecoder (0x080609c8, intf)
|--java.nio.file.Watchable (0x080609c8, intf)
|--sun.misc.PerfCounter$CoreCounters (0x080609c8)
|--java.lang.invoke.MethodHandle (0x080609c8)
| |--java.lang.invoke.DirectMethodHandle (0x080609c8)
|--sun.misc.Perf (0x080609c8)
|--java.lang.Enum (0x080609c8)
| |--sun.launcher.LauncherHelper (0x080609c8)
| |--java.io.File$PathStatus (0x080609c8)
|--java.lang.CharacterData (0x080609c8)
| |--java.lang.CharacterDataLatin1 (0x080609c8)
|--java.nio.channels.ScatteringByteChannel (0x080609c8, intf)
|--java.lang.StringCoding$StringDecoder (0x080609c8)
|--java.lang.Character (0x080609c8)
|--java.nio.channels.GatheringByteChannel (0x080609c8, intf)
|--java.lang.reflect.ReflectAccess (0x080609c8)
|--java.nio.channels.SeekableByteChannel (0x080609c8, intf)
|--java.lang.ref.Reference$1 (0x080609c8)
|--java.util.BitSet (0x080609c8)
|--sun.misc.Launcher$AppClassLoader$1 (0x080609c8)
|--java.lang.ref.Reference (0x080609c8)
| |--java.lang.ref.PhantomReference (0x080609c8)
| | |--sun.misc.Cleaner (0x080609c8)
| |--java.lang.ref.FinalReference (0x080609c8)
| | |--java.lang.ref.Finalizer (0x080609c8)
| |--java.lang.ref.WeakReference (0x080609c8)
| | |--java.lang.ThreadLocal$ThreadLocalMap$Entry (0x080609c8)
| | |--java.lang.ClassValue$Entry (0x080609c8)
| | |--java.util.WeakHashMap$Entry (0x080609c8)
| |--java.lang.ref.SoftReference (0x080609c8)
| | |--sun.util.locale.LocaleObjectCache$CacheEntry (0x080609c8)
|--java.lang.String$CaseInsensitiveComparator (0x080609c8)
|--sun.misc.JavaLangRefAccess (0x080609c8, intf)
|--java.nio.channels.ByteChannel (0x080609c8, intf)
|--java.lang.ref.Reference$Lock (0x080609c8)
|--java.nio.channels.WritableByteChannel (0x080609c8, intf)
|--java.util.Comparator (0x080609c8, intf)
|--java.io.InputStream (0x080609c8)
| |--java.io.FilterInputStream (0x080609c8)
| | |--java.io.BufferedInputStream (0x080609c8)
| |--java.io.ByteArrayInputStream (0x080609c8)
| |--java.io.FileInputStream (0x080609c8)
|--java.nio.channels.ReadableByteChannel (0x080609c8, intf)
|--java.lang.Cloneable (0x080609c8, intf)
|--java.lang.ref.ReferenceQueue$Lock (0x080609c8)
|--sun.reflect.LangReflectAccess (0x080609c8, intf)
|--java.lang.invoke.MethodType (0x080609c8)
|--java.nio.channels.Channel (0x080609c8, intf)
|--java.nio.charset.Charset (0x080609c8)
| |--sun.nio.cs.Unicode (0x080609c8)
| | |--sun.nio.cs.UTF_8 (0x080609c8)
|--sun.misc.Perf$GetPerfAction (0x080609c8)
|--java.lang.Class (0x080609c8)
|--sun.reflect.ReflectionFactory (0x080609c8)
|--sun.misc.PostVMInitHook (0x080609c8)
|--java.lang.Readable (0x080609c8, intf)
|--java.lang.ThreadLocal$ThreadLocalMap (0x080609c8)
|--java.io.Closeable (0x080609c8, intf)
|--sun.misc.PerfCounter (0x080609c8)
|--sun.util.locale.LocaleUtils (0x080609c8)
|--java.lang.AutoCloseable (0x080609c8, intf)
|--java.lang.ref.ReferenceQueue (0x080609c8)
| |--java.lang.ref.ReferenceQueue$Null (0x080609c8)
|--java.lang.reflect.Modifier (0x080609c8)
|--java.util.concurrent.ConcurrentMap (0x080609c8, intf)
|--java.lang.Void (0x080609c8)
|--java.io.OutputStream (0x080609c8)
| |--java.io.FileOutputStream (0x080609c8)
| |--java.io.FilterOutputStream (0x080609c8)
| | |--java.io.BufferedOutputStream (0x080609c8)
| | |--java.io.PrintStream (0x080609c8)
|--java.util.Collections$SynchronizedMap (0x080609c8)
|--java.io.Flushable (0x080609c8, intf)
|--sun.misc.Unsafe (0x080609c8)
|--java.lang.reflect.Member (0x080609c8, intf)
|--java.io.FileInputStream$1 (0x080609c8)
|--java.lang.Class$MethodArray (0x080609c8)
|--java.lang.invoke.MethodHandleStatics$1 (0x080609c8)
|--java.io.ObjectStreamField (0x080609c8)
|--sun.nio.ByteBuffered (0x080609c8, intf)
|--java.util.Locale$LocaleKey (0x080609c8)
|--java.security.Principal (0x080609c8, intf)
|--java.lang.invoke.MethodHandleStatics (0x080609c8)
|--sun.misc.Resource (0x080609c8)
| |--sun.misc.URLClassPath$FileLoader$1 (0x080609c8)
|--java.lang.reflect.AccessibleObject (0x080609c8)
| |--java.lang.reflect.Field (0x080609c8)
| |--java.lang.reflect.Executable (0x080609c8)
| | |--java.lang.reflect.Constructor (0x080609c8)
| | |--java.lang.reflect.Method (0x080609c8)
|--java.lang.StringCoding (0x080609c8)
|--java.security.ProtectionDomain$Key (0x080609c8)
|--java.util.Collections$UnmodifiableCollection (0x080609c8)
| |--java.util.Collections$UnmodifiableList (0x080609c8)
| | |--java.util.Collections$UnmodifiableRandomAccessList (0x080609c8)
|--java.io.ExpiringCache (0x080609c8)
|--sun.util.locale.BaseLocale$Key (0x080609c8)
|--java.util.concurrent.atomic.AtomicBoolean (0x080609c8)
|--java.security.ProtectionDomain$3 (0x080609c8)
|--sun.misc.JavaSecurityProtectionDomainAccess (0x080609c8, intf)
|--java.lang.Math (0x080609c8)
|--java.util.ArrayList$Itr (0x080609c8)
|--java.security.ProtectionDomain$1 (0x080609c8)
|--java.lang.invoke.MemberName$Factory (0x080609c8)
|--java.security.AccessControlContext (0x080609c8)
|--sun.misc.JavaSecurityAccess (0x080609c8, intf)
|--java.util.Dictionary (0x080609c8)
| |--java.util.Hashtable (0x080609c8)
| | |--java.util.Properties (0x080609c8)
|--sun.net.www.ParseUtil (0x080609c8)
|--java.io.FileDescriptor$1 (0x080609c8)
|--java.util.AbstractCollection (0x080609c8)
| |--java.util.AbstractList (0x080609c8)
| | |--java.util.Vector (0x080609c8)
| | | |--java.util.Stack (0x080609c8)
| | |--java.util.Collections$EmptyList (0x080609c8)
| | |--java.util.ArrayList (0x080609c8)
| |--java.util.AbstractSet (0x080609c8)
| | |--java.util.WeakHashMap$KeySet (0x080609c8)
| | |--java.util.Collections$SetFromMap (0x080609c8)
| | |--java.util.HashSet (0x080609c8)
| | |--java.util.Collections$EmptySet (0x080609c8)
| | |--java.util.Hashtable$EntrySet (0x080609c8)
|--sun.util.locale.LocaleObjectCache (0x080609c8)
| |--java.util.Locale$Cache (0x080609c8)
| |--sun.util.locale.BaseLocale$Cache (0x080609c8)
|--java.nio.charset.CharsetEncoder (0x080609c8)
| |--sun.nio.cs.UTF_8$Encoder (0x080609c8)
|--java.io.FileSystem (0x080609c8)
| |--java.io.UnixFileSystem (0x080609c8)
|--sun.misc.Launcher$ExtClassLoader$1 (0x080609c8)
|--sun.misc.JavaIOFileDescriptorAccess (0x080609c8, intf)
|--java.lang.Boolean (0x080609c8)
|--java.net.URLClassLoader$7 (0x080609c8)
|--java.io.FileDescriptor (0x080609c8)
|--sun.misc.JavaNetAccess (0x080609c8, intf)
|--sun.util.locale.BaseLocale (0x080609c8)
|--java.lang.invoke.LambdaForm (0x080609c8)
|--java.util.concurrent.locks.AbstractQueuedSynchronizer$Node (0x080609c8)
|--java.lang.ClassValue$Version (0x080609c8)
|--java.util.AbstractMap (0x080609c8)
| |--java.util.WeakHashMap (0x080609c8)
| | |--java.lang.ClassValue$ClassValueMap (0x080609c8)
| |--java.util.Collections$EmptyMap (0x080609c8)
| |--java.util.HashMap (0x080609c8)
| | |--java.util.LinkedHashMap (0x080609c8)
| | | |--java.io.ExpiringCache$1 (0x080609c8)
| |--java.util.concurrent.ConcurrentHashMap (0x080609c8)
| |--sun.util.PreHashedMap (0x080609c8)
| | |--sun.nio.cs.StandardCharsets$Cache (0x080609c8)
| | |--sun.nio.cs.StandardCharsets$Classes (0x080609c8)
| | |--sun.nio.cs.StandardCharsets$Aliases (0x080609c8)
|--sun.reflect.ReflectionFactory$1 (0x080609c8)
|--java.nio.Buffer (0x080609c8)
| |--java.nio.CharBuffer (0x080609c8)
| | |--java.nio.HeapCharBuffer (0x080609c8)
| |--java.nio.ByteBuffer (0x080609c8)
| | |--java.nio.MappedByteBuffer (0x080609c8)
| | | |--java.nio.DirectByteBuffer (0x080609c8)
| | | | |--java.nio.DirectByteBufferR (0x080609c8)
| | |--java.nio.HeapByteBuffer (0x080609c8)
| |--java.nio.IntBuffer (0x080609c8)
| | |--java.nio.ByteBufferAsIntBufferB (0x080609c8)
| | |--java.nio.DirectIntBufferU (0x080609c8)
| | | |--java.nio.DirectIntBufferRU (0x080609c8)
| |--java.nio.LongBuffer (0x080609c8)
| | |--java.nio.DirectLongBufferU (0x080609c8)
|--java.lang.ClassValue$Identity (0x080609c8)
|--java.util.Locale (0x080609c8)
|--sun.reflect.CallerSensitive (0x080609c8, intf)
|--java.lang.annotation.Annotation (0x080609c8, intf)
|--java.lang.Class$1 (0x080609c8)
|--sun.nio.ch.DirectBuffer (0x080609c8, intf)
|--java.security.ProtectionDomain (0x080609c8)
|--java.util.concurrent.locks.AbstractOwnableSynchronizer (0x080609c8)
| |--java.util.concurrent.locks.AbstractQueuedSynchronizer (0x080609c8)
| | |--java.util.concurrent.locks.ReentrantLock$Sync (0x080609c8)
| | | |--java.util.concurrent.locks.ReentrantLock$NonfairSync (0x080609c8)
|--jdk.internal.jimage.concurrent.ConcurrentPReader$TemporaryBuffer (0x080609c8)
|--java.lang.StackTraceElement (0x080609c8)
|--java.lang.ClassValue (0x080609c8)
| |--java.lang.invoke.MethodHandleImpl$4 (0x080609c8)
|--sun.reflect.annotation.AnnotationType (0x080609c8)
|--sun.nio.ch.Util$4 (0x080609c8)
|--sun.nio.cs.ArrayEncoder (0x080609c8, intf)
|--sun.reflect.FieldAccessor (0x080609c8, intf)
|--java.lang.reflect.Type (0x080609c8, intf)
|--java.io.DefaultFileSystem (0x080609c8)
|--jdk.internal.jimage.PReader (0x080609c8)
| |--jdk.internal.jimage.concurrent.ConcurrentPReader (0x080609c8)
|--sun.nio.cs.HistoricallyNamedCharset (0x080609c8, intf)
|--sun.misc.MetaIndex (0x080609c8)
|--java.util.Hashtable$Entry (0x080609c8)
|--sun.misc.Version (0x080609c8)
|--java.util.Map (0x080609c8, intf)
|--java.security.CodeSource (0x080609c8)
|--java.lang.reflect.GenericDeclaration (0x080609c8, intf)
|--sun.security.action.GetPropertyAction (0x080609c8)
|--jdk.internal.jimage.ImageLocation (0x080609c8)
|--java.lang.reflect.AnnotatedElement (0x080609c8, intf)
|--java.io.FilePermission$1 (0x080609c8)
|--java.lang.SecurityManager (0x080609c8)
|--sun.nio.ch.Util (0x080609c8)
|--java.lang.Class$AnnotationData (0x080609c8)
|--jdk.internal.jimage.UTF8String (0x080609c8)
|--java.lang.invoke.MethodHandleImpl$3 (0x080609c8)
|--java.util.concurrent.ConcurrentHashMap$CollectionView (0x080609c8)
| |--java.util.concurrent.ConcurrentHashMap$EntrySetView (0x080609c8)
| |--java.util.concurrent.ConcurrentHashMap$ValuesView (0x080609c8)
| |--java.util.concurrent.ConcurrentHashMap$KeySetView (0x080609c8)
|--sun.reflect.generics.repository.AbstractRepository (0x080609c8)
| |--sun.reflect.generics.repository.GenericDeclRepository (0x080609c8)
| | |--sun.reflect.generics.repository.ClassRepository (0x080609c8)
|--java.lang.ClassLoader$ParallelLoaders (0x080609c8)
|--java.lang.invoke.MethodHandleImpl$2 (0x080609c8)
|--java.util.function.Function (0x080609c8, intf)
|--sun.misc.VM (0x080609c8)
|--java.lang.Runtime (0x080609c8)
|--sun.security.util.Debug (0x080609c8)
|--java.nio.Bits$1 (0x080609c8)
|--sun.misc.Launcher (0x080609c8)
|--java.util.RandomAccess (0x080609c8, intf)
|--sun.nio.ch.FileChannelImpl$Unmapper (0x080609c8)
|--java.util.Arrays (0x080609c8)
|--java.lang.invoke.MethodHandleImpl$1 (0x080609c8)
|--java.util.List (0x080609c8, intf)
|--sun.misc.JavaNioAccess (0x080609c8, intf)
|--sun.misc.Launcher$BootClassPathHolder$1 (0x080609c8)
|--java.util.Set (0x080609c8, intf)
|--sun.reflect.ConstantPool (0x080609c8)
|--jdk.internal.jimage.PackageModuleMap (0x080609c8)
|--sun.nio.ch.NativeThread (0x080609c8)
|--sun.misc.Launcher$BootClassPathHolder (0x080609c8)
|--java.lang.String (0x080609c8)
|--sun.net.www.MessageHeader (0x080609c8)
|--java.lang.Class$Atomic (0x080609c8)
|--java.util.jar.Manifest (0x080609c8)
|--java.util.concurrent.ConcurrentHashMap$CounterCell (0x080609c8)
|--java.nio.channels.spi.AbstractInterruptibleChannel$1 (0x080609c8)
|--java.io.Writer (0x080609c8)
| |--java.io.BufferedWriter (0x080609c8)
| |--sun.nio.cs.StreamEncoder (0x080609c8)
| |--java.io.OutputStreamWriter (0x080609c8)
|--java.util.Collection (0x080609c8, intf)
|--jdk.internal.jimage.ImageStream (0x080609c8)
|--sun.nio.ch.Interruptible (0x080609c8, intf)
|--java.util.concurrent.ConcurrentHashMap$Node (0x080609c8)
|--java.lang.invoke.MethodHandleImpl (0x080609c8)
|--jdk.internal.jimage.BasicImageReader (0x080609c8)
| |--jdk.internal.jimage.ImageReader (0x080609c8)
|--java.lang.AbstractStringBuilder (0x080609c8)
| |--java.lang.StringBuilder (0x080609c8)
| |--java.lang.StringBuffer (0x080609c8)
|--java.lang.Class$ReflectionData (0x080609c8)
|--java.nio.channels.FileChannel$MapMode (0x080609c8)
|--java.util.Hashtable$Enumerator (0x080609c8)
|--java.util.HashMap$Node (0x080609c8)
| |--java.util.LinkedHashMap$Entry (0x080609c8)
| | |--java.util.HashMap$TreeNode (0x080609c8)
|--java.lang.Iterable (0x080609c8, intf)
|--java.lang.Class$3 (0x080609c8)
|--java.lang.System$2 (0x080609c8)
|--java.nio.ByteOrder (0x080609c8)
|--jdk.internal.jimage.ImageHeader (0x080609c8)
|--java.util.Iterator (0x080609c8, intf)
|--java.util.Map$Entry (0x080609c8, intf)
|--sun.reflect.ConstructorAccessor (0x080609c8, intf)
|--java.net.URL (0x080609c8)
|--java.util.concurrent.locks.ReentrantLock (0x080609c8)
| |--java.util.concurrent.ConcurrentHashMap$Segment (0x080609c8)
|--java.util.Collections (0x080609c8)
|--java.util.Enumeration (0x080609c8, intf)
|--sun.misc.Launcher$Factory (0x080609c8)
|--java.util.concurrent.CopyOnWriteArrayList (0x080609c8)
|--sun.reflect.MethodAccessor (0x080609c8, intf)
|--java.lang.ThreadGroup (0x080609c8)
|--sun.misc.JavaLangAccess (0x080609c8, intf)
|--sun.reflect.MagicAccessorImpl (0x080609c8)
| |--sun.reflect.FieldAccessorImpl (0x080609c8)
| | |--sun.reflect.UnsafeFieldAccessorImpl (0x080609c8)
| | | |--sun.reflect.UnsafeStaticFieldAccessorImpl (0x080609c8)
| |--sun.reflect.ConstructorAccessorImpl (0x080609c8)
| | |--sun.reflect.DelegatingConstructorAccessorImpl (0x080609c8)
| | |--sun.reflect.NativeConstructorAccessorImpl (0x080609c8)
| |--sun.reflect.MethodAccessorImpl (0x080609c8)
|--java.net.URLStreamHandlerFactory (0x080609c8, intf)
|--java.util.Objects (0x080609c8)
|--java.nio.Bits (0x080609c8)
|--java.lang.Throwable (0x080609c8)
| |--java.lang.Exception (0x080609c8)
| | |--java.lang.InterruptedException (0x080609c8)
| | |--java.lang.ReflectiveOperationException (0x080609c8)
| | | |--java.lang.ClassNotFoundException (0x080609c8)
| | |--java.io.IOException (0x080609c8)
| | |--java.lang.RuntimeException (0x080609c8)
| | | |--java.lang.IllegalMonitorStateException (0x080609c8)
| | | |--java.lang.ArrayStoreException (0x080609c8)
| | | |--java.lang.ClassCastException (0x080609c8)
| | | |--java.lang.ArithmeticException (0x080609c8)
| | | |--java.lang.NullPointerException (0x080609c8)
| | | |--java.lang.IllegalArgumentException (0x080609c8)
| |--java.lang.Error (0x080609c8)
| | |--java.lang.VirtualMachineError (0x080609c8)
| | | |--java.lang.StackOverflowError (0x080609c8)
| | | |--java.lang.OutOfMemoryError (0x080609c8)
| | |--java.lang.LinkageError (0x080609c8)
| | | |--java.lang.IncompatibleClassChangeError (0x080609c8)
| | | | |--java.lang.NoSuchMethodError (0x080609c8)
| | | |--java.lang.BootstrapMethodError (0x080609c8)
| | | |--java.lang.NoClassDefFoundError (0x080609c8)
| | |--java.lang.ThreadDeath (0x080609c8)
|--jdk.internal.jimage.ImageStrings (0x080609c8)
|--java.security.cert.Certificate (0x080609c8)
|--java.util.concurrent.locks.Lock (0x080609c8, intf)
|--java.lang.invoke.MethodHandleNatives (0x080609c8)
|--sun.nio.ch.NativeDispatcher (0x080609c8)
| |--sun.nio.ch.FileDispatcher (0x080609c8)
| | |--sun.nio.ch.FileDispatcherImpl (0x080609c8)
|--sun.misc.URLClassPath (0x080609c8)
|--java.lang.ThreadLocal (0x080609c8)
| |--jdk.internal.jimage.concurrent.ConcurrentPReader$TemporaryBuffer$1 (0x080609c8)
| |--sun.nio.ch.Util$1 (0x080609c8)
|--sun.misc.OSEnvironment (0x080609c8)
|--sun.reflect.ReflectionFactory$GetReflectionFactoryAction (0x080609c8)
|--java.util.Collections$SynchronizedCollection (0x080609c8)
| |--java.util.Collections$SynchronizedSet (0x080609c8)
|--java.io.ObjectStreamClass (0x080609c8)
|--java.security.PrivilegedAction (0x080609c8, intf)
|--java.lang.Integer$IntegerCache (0x080609c8)
|--java.lang.Appendable (0x080609c8, intf)
|--sun.misc.NativeSignalHandler (0x080609c8)
|--java.lang.System (0x080609c8)
|--java.lang.Thread$UncaughtExceptionHandler (0x080609c8, intf)
|--sun.misc.Signal (0x080609c8)
|--java.security.PermissionCollection (0x080609c8)
| |--java.security.BasicPermissionCollection (0x080609c8)
| |--java.io.FilePermissionCollection (0x080609c8)
| |--java.security.Permissions (0x080609c8)
|--sun.nio.ch.NativeThreadSet (0x080609c8)
|--sun.misc.URLClassPath$Loader (0x080609c8)
| |--sun.misc.URLClassPath$FileLoader (0x080609c8)
| |--sun.misc.URLClassPath$JImageLoader (0x080609c8)
|--java.lang.Thread (0x080609c8)
| |--java.lang.ref.Reference$ReferenceHandler (0x080609c8)
| |--java.lang.ref.Finalizer$FinalizerThread (0x080609c8)
| |--sun.misc.InnocuousThread (0x080609c8)
|--NeverExit (0xa533bfe0)
|--java.net.URLStreamHandler (0x080609c8)
| |--sun.net.www.protocol.jar.Handler (0x080609c8)
| |--sun.net.www.protocol.file.Handler (0x080609c8)
|--java.lang.invoke.MemberName (0x080609c8)
|--NE2 (0xa533bfe0, intf)
|--NE1 (0xa533bfe0, intf)
|--java.lang.Terminator$1 (0x080609c8)
|--sun.nio.ch.IOUtil$1 (0x080609c8)
|--sun.misc.SignalHandler (0x080609c8, intf)
|--java.lang.CharSequence (0x080609c8, intf)
|--java.lang.Terminator (0x080609c8)
|--java.nio.charset.CodingErrorAction (0x080609c8)
|--java.nio.charset.CoderResult$Cache (0x080609c8)
| |--java.nio.charset.CoderResult$2 (0x080609c8)
| |--java.nio.charset.CoderResult$1 (0x080609c8)
|--sun.nio.ch.IOUtil (0x080609c8)
|--sun.net.www.protocol.jrt.JavaRuntimeURLConnection$ResourceFinder (0x080609c8, intf)
|--java.lang.Comparable (0x080609c8, intf)
|--java.security.AccessController (0x080609c8)
|--java.io.Serializable (0x080609c8, intf)
|--java.lang.ClassLoader (0x080609c8)
| |--java.security.SecureClassLoader (0x080609c8)
| | |--java.net.URLClassLoader (0x080609c8)
| | | |--sun.misc.Launcher$AppClassLoader (0x080609c8)
| | | |--sun.misc.Launcher$ExtClassLoader (0x080609c8)
| |--sun.reflect.DelegatingClassLoader (0x080609c8)
|--java.io.ExpiringCache$Entry (0x080609c8)
|--java.nio.charset.CoderResult (0x080609c8)
|--sun.reflect.misc.ReflectUtil (0x080609c8)
|--sun.misc.URLClassPath$3 (0x080609c8)
|--java.nio.charset.CharsetDecoder (0x080609c8)
| |--sun.nio.cs.UTF_8$Decoder (0x080609c8)
|--java.net.URLConnection (0x080609c8)
| |--sun.net.www.URLConnection (0x080609c8)
| | |--sun.net.www.protocol.file.FileURLConnection (0x080609c8)
| | |--sun.net.www.protocol.jrt.JavaRuntimeURLConnection (0x080609c8)
|--sun.net.util.URLUtil (0x080609c8)
|--java.io.File (0x080609c8)
|--java.lang.ClassLoader$3 (0x080609c8)
|--sun.reflect.Reflection (0x080609c8)
|--java.net.URLClassLoader$1 (0x080609c8)
|--java.util.StringTokenizer (0x080609c8)
|--java.lang.StringCoding$StringEncoder (0x080609c8)
|--java.nio.file.attribute.FileAttribute (0x080609c8, intf)
|--java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1 (0x080609c8)
|--java.security.Permission (0x080609c8)
| |--java.security.UnresolvedPermission (0x080609c8)
| |--java.security.AllPermission (0x080609c8)
| |--java.io.FilePermission (0x080609c8)
| |--java.security.BasicPermission (0x080609c8)
| | |--java.lang.reflect.ReflectPermission (0x080609c8)
| | |--java.lang.RuntimePermission (0x080609c8)
|--java.security.PrivilegedExceptionAction (0x080609c8, intf)
|--sun.nio.ch.IOStatus (0x080609c8)
|--java.lang.Runnable (0x080609c8, intf)
|--java.security.Guard (0x080609c8, intf)
|--java.lang.SystemClassLoaderAction (0x080609c8)
|--java.lang.ClassLoader$NativeLibrary (0x080609c8)
More information about the hotspot-runtime-dev
mailing list