03 Java虚拟机是如何加载Java类的?

java虚拟机将字节流转化为Java类的过程:加载、链接、初始化三大步骤
加载:查找字节流,并且据此创建类的过程。加载需要借助类加载器,在java虚拟机中,类加载器使用了双亲委派模型,即接收到加载请求时,会先将请求转发给父类加载器。
链接:将创建的类合并至java虚拟机中,使之能够执行的过程。链接还分验证、准备和解析三个阶段。其中,解析阶段非必须。
初始化:标记为常量值的字段赋值,以及执行<clinit>方法的过程。类的初始化仅会被执行一次,这个特性被用来实现单例的延迟初始化。

实验:通过JVM参数-verbose:class 来打印类加载的先后顺序,并且在LazyHolder的初始化方法中打印----,在命令行中运行

/**
 * Created by chen qianqian on 2018/7/25.
 */
public class Singleton {
    public Singleton() {
    }
    private static class LazeHolder{
        static final Singleton INSTANCE = new Singleton();
        static {
            System.out.println("LazyHolder.<clinit>");
        }
    }
    public static Object getInstance(boolean flag){
        if(flag) return new LazeHolder[2];
        return LazeHolder.INSTANCE;
    }

    public static void main(String[] args) {
        getInstance(true);
        System.out.println("-------------");
        getInstance(false);
    }
}
D:\SpringBoot\Foo\src>javac Singleton.java

D:\SpringBoot\Foo\src>java -verbose:class Singleton
[Opened C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Object from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.Serializable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Comparable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.CharSequence from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.String from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.AnnotatedElement from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.GenericDeclaration from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.Type from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Class from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Cloneable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ClassLoader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.System from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Throwable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Error from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ThreadDeath from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Exception from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.RuntimeException from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.SecurityManager from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.ProtectionDomain from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.AccessControlContext from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.SecureClassLoader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ReflectiveOperationException from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ClassNotFoundException from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.LinkageError from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.NoClassDefFoundError from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ClassCastException from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ArrayStoreException from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.VirtualMachineError from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.OutOfMemoryError from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.StackOverflowError from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.IllegalMonitorStateException from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.Reference from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.SoftReference from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.WeakReference from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.FinalReference from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.PhantomReference from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Cleaner from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.Finalizer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Runnable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Thread from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Thread$UncaughtExceptionHandler from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ThreadGroup from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Map from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Dictionary from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Hashtable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Properties from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.AccessibleObject from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.Member from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.Field from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.Parameter from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.Executable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.Method from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.Constructor from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.MagicAccessorImpl from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.MethodAccessor from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.MethodAccessorImpl from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.ConstructorAccessor from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.ConstructorAccessorImpl from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.DelegatingClassLoader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.ConstantPool from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.FieldAccessor from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.FieldAccessorImpl from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.UnsafeFieldAccessorImpl from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.UnsafeStaticFieldAccessorImpl from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.annotation.Annotation from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.CallerSensitive from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandle from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.DirectMethodHandle from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MemberName from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleNatives from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.LambdaForm from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MethodType from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.BootstrapMethodError from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.CallSite from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.ConstantCallSite from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MutableCallSite from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.VolatileCallSite from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Appendable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.AbstractStringBuilder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.StringBuffer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.StringBuilder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Unsafe from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.AutoCloseable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.Closeable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.InputStream from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.ByteArrayInputStream from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.File from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.net.URLClassLoader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.net.URL from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.jar.Manifest from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Launcher from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Launcher$AppClassLoader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Launcher$ExtClassLoader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.CodeSource from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.StackTraceElement from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.Buffer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Boolean from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Character from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Number from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Float from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Double from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Byte from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Short from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Integer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Long from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.NullPointerException from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ArithmeticException from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.ObjectStreamField from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Comparator from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.String$CaseInsensitiveComparator from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.Guard from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.Permission from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.BasicPermission from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.RuntimePermission from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.AccessController from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.ReflectPermission from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.PrivilegedAction from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.ReflectionFactory$GetReflectionFactoryAction from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.cert.Certificate from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Iterable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Collection from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.List from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.RandomAccess from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.AbstractCollection from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.AbstractList from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Vector from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Stack from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.ReflectionFactory from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.Reference$Lock from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.Reference$ReferenceHandler from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.InterruptedException from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.ArrayList from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Collections from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Set from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.AbstractSet from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Collections$EmptySet from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Collections$EmptyList from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.AbstractMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Collections$EmptyMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Collections$UnmodifiableCollection from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Collections$UnmodifiableList from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Collections$UnmodifiableRandomAccessList from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.ReferenceQueue from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.ReferenceQueue$Null from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.ReferenceQueue$Lock from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.JavaLangRefAccess from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.Reference$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.SharedSecrets from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.IncompatibleClassChangeError from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.NoSuchMethodError from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.Reflection from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.HashMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Map$Entry from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.HashMap$Node from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.VM from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Hashtable$Entry from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Math from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ref.Finalizer$FinalizerThread from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.charset.Charset from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.charset.spi.CharsetProvider from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.FastCharsetProvider from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.util.PreHashedMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets$Aliases from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets$Classes from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets$Cache from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ThreadLocal from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicInteger from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Class$3 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Class$ReflectionData from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Class$Atomic from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.generics.repository.AbstractRepository from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.generics.repository.GenericDeclRepository from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.generics.repository.ClassRepository from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Class$AnnotationData from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.annotation.AnnotationType from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.WeakHashMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ClassValue$ClassValueMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.Modifier from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.LangReflectAccess from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.ReflectAccess from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Arrays from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.charset.Charset$ExtendedProviderHolder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.charset.Charset$ExtendedProviderHolder$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Opened C:\Program Files\Java\jre1.8.0_131\lib\charsets.jar]
[Loaded sun.nio.cs.AbstractCharsetProvider from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.ext.ExtendedCharsets from C:\Program Files\Java\jre1.8.0_131\lib\charsets.jar]
[Loaded java.lang.Class$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.ReflectionFactory$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.NativeConstructorAccessorImpl from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.DelegatingConstructorAccessorImpl from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.SortedMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.NavigableMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.TreeMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.ASCIICaseInsensitiveComparator from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.TreeMap$Entry from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.HistoricallyNamedCharset from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.ext.GBK from C:\Program Files\Java\jre1.8.0_131\lib\charsets.jar]
[Loaded java.lang.StringCoding from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ThreadLocal$ThreadLocalMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ThreadLocal$ThreadLocalMap$Entry from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.StringCoding$StringDecoder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.ext.DoubleByte from C:\Program Files\Java\jre1.8.0_131\lib\charsets.jar]
[Loaded sun.nio.cs.ext.DelegatableDecoder from C:\Program Files\Java\jre1.8.0_131\lib\charsets.jar]
[Loaded sun.nio.cs.ArrayDecoder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.charset.CharsetDecoder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.ext.DoubleByte$Decoder from C:\Program Files\Java\jre1.8.0_131\lib\charsets.jar]
[Loaded java.nio.charset.CodingErrorAction from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Hashtable$EntrySet from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Collections$SynchronizedCollection from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Collections$SynchronizedSet from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Objects from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Enumeration from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Iterator from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Hashtable$Enumerator from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Runtime from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Version from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FileInputStream from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FileDescriptor from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.JavaIOFileDescriptorAccess from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FileDescriptor$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.Flushable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.OutputStream from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FileOutputStream from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FilterInputStream from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.BufferedInputStream from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicReferenceFieldUpdater from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.PrivilegedExceptionAction from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.reflect.misc.ReflectUtil from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FilterOutputStream from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.PrintStream from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.BufferedOutputStream from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.ext.MS936 from C:\Program Files\Java\jre1.8.0_131\lib\charsets.jar]
[Loaded java.io.Writer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.OutputStreamWriter from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.StreamEncoder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.ArrayEncoder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.charset.CharsetEncoder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.ext.DoubleByte$Encoder from C:\Program Files\Java\jre1.8.0_131\lib\charsets.jar]
[Loaded java.nio.ByteBuffer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.HeapByteBuffer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.Bits from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.ByteOrder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicLong from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.JavaNioAccess from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.Bits$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Readable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.CharBuffer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.HeapCharBuffer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.charset.CoderResult from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.charset.CoderResult$Cache from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.charset.CoderResult$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.charset.CoderResult$2 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.BufferedWriter from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.security.action.GetPropertyAction from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.DefaultFileSystem from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FileSystem from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.WinNTFileSystem from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.ExpiringCache from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.LinkedHashMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.ExpiringCache$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Enum from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.File$PathStatus from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.file.Watchable from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.file.Path from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.StringCoding$StringEncoder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ClassLoader$3 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.ExpiringCache$Entry from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.LinkedHashMap$Entry from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ClassLoader$NativeLibrary from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Terminator from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.SignalHandler from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Terminator$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Signal from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.NativeSignalHandler from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Integer$IntegerCache from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.OSEnvironment from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.io.Win32ErrorMode from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.JavaLangAccess from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.System$2 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.IllegalArgumentException from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Compiler from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Compiler$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.net.URLStreamHandlerFactory from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Launcher$Factory from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.security.util.Debug from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ClassLoader$ParallelLoaders from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.WeakHashMap$Entry from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Collections$SetFromMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.WeakHashMap$KeySet from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.JavaNetAccess from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.net.URLClassLoader$7 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.StringTokenizer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Launcher$ExtClassLoader$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.MetaIndex from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.Reader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.BufferedReader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.InputStreamReader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FileReader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.StreamDecoder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.reflect.Array from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Locale from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.util.locale.LocaleObjectCache from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Locale$Cache from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.locks.Lock from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.locks.ReentrantLock from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$Segment from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$Node from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$CounterCell from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$CollectionView from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$KeySetView from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$ValuesView from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$EntrySetView from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.util.locale.BaseLocale from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.util.locale.BaseLocale$Cache from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.util.locale.BaseLocale$Key from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.util.locale.LocaleObjectCache$CacheEntry from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Locale$LocaleKey from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.util.locale.LocaleUtils from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.CharacterData from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.CharacterDataLatin1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.HashMap$TreeNode from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FileInputStream$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.net.www.ParseUtil from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.BitSet from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.net.Parts from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.net.URLStreamHandler from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.net.www.protocol.file.Handler from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.JavaSecurityAccess from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.ProtectionDomain$JavaSecurityAccessImpl from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.JavaSecurityProtectionDomainAccess from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.ProtectionDomain$2 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.ProtectionDomain$Key from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.Principal from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.HashSet from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.URLClassPath from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.net.www.protocol.jar.Handler from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Launcher$AppClassLoader$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.SystemClassLoaderAction from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleImpl from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleImpl$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.function.Function from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleImpl$2 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleImpl$3 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ClassValue from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleImpl$4 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ClassValue$Entry from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ClassValue$Identity from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ClassValue$Version from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MemberName$Factory from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleStatics from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleStatics$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.PostVMInitHook from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.usagetracker.UsageTrackerClient from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicBoolean from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.usagetracker.UsageTrackerClient$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.usagetracker.UsageTrackerClient$4 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.usagetracker.UsageTrackerClient$2 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ProcessEnvironment from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ProcessEnvironment$NameComparator from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ProcessEnvironment$EntryComparator from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.Collections$UnmodifiableMap from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ProcessEnvironment$CheckedEntrySet from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.HashMap$EntrySet from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ProcessEnvironment$CheckedEntrySet$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.HashMap$HashIterator from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.HashMap$EntryIterator from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.ProcessEnvironment$CheckedEntry from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.usagetracker.UsageTrackerClient$3 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.Unicode from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.UTF_8 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.UTF_8$Encoder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FileOutputStream$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.launcher.LauncherHelper from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.net.URLClassLoader$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.net.util.URLUtil from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.URLClassPath$3 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.URLClassPath$Loader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.URLClassPath$JarLoader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.zip.ZipConstants from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.zip.ZipFile from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.JavaUtilZipFileAccess from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.util.zip.ZipFile$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.ThreadLocalCoders from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.ThreadLocalCoders$Cache from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.ThreadLocalCoders$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.ThreadLocalCoders$2 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.cs.UTF_8$Decoder from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.URLClassPath$FileLoader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Resource from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.URLClassPath$FileLoader$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.ByteBuffered from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.PerfCounter from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Perf$GetPerfAction from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.Perf from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.misc.PerfCounter$CoreCounters from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.nio.ch.DirectBuffer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.MappedByteBuffer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.DirectByteBuffer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.LongBuffer from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.nio.DirectLongBufferU from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.PermissionCollection from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.Permissions from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.net.URLConnection from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.net.www.URLConnection from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.net.www.protocol.file.FileURLConnection from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded sun.net.www.MessageHeader from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FilePermission from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FilePermission$1 from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.io.FilePermissionCollection from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.AllPermission from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.UnresolvedPermission from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.security.BasicPermissionCollection from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded Singleton from file:/D:/SpringBoot/Foo/src/]
[Loaded sun.launcher.LauncherHelper$FXHelper from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Class$MethodArray from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Void from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded Singleton$LazeHolder from file:/D:/SpringBoot/Foo/src/]
-------------
LazyHolder.<clinit>
[Loaded java.lang.Shutdown from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]
[Loaded java.lang.Shutdown$Lock from C:\Program Files\Java\jre1.8.0_131\lib\rt.jar]

D:\SpringBoot\Foo\src>java -jar D:/Foo/asmtools.jar jdis Singleton$LazeHolder.class

super class Singleton$LazeHolder
        version 52:0
{

static final Field INSTANCE:"LSingleton;";

private Method "<init>":"()V"
        stack 1 locals 1
{
                aload_0;
                invokespecial   Method java/lang/Object."<init>":"()V";
                return;
}

static Method "<clinit>":"()V"
        stack 2 locals 0
{
                new     class Singleton;
                dup;
                invokespecial   Method Singleton."<init>":"()V";
                putstatic       Field INSTANCE:"LSingleton;";
                getstatic       Field java/lang/System.out:"Ljava/io/PrintStream;";
                ldc     String "LazyHolder.<clinit>";
                invokevirtual   Method java/io/PrintStream.println:"(Ljava/lang/String;)V";
                return;
}

private static InnerClass LazeHolder=class Singleton$LazeHolder of class Singleton;

} // end Class Singleton$LazeHolder
D:\SpringBoot\Foo\src>java -jar D:/Foo/asmtools.jar jdis Singleton.class

super public class Singleton
        version 52:0
{


public Method "<init>":"()V"
        stack 1 locals 1
{
                aload_0;
                invokespecial   Method java/lang/Object."<init>":"()V";
                return;
}

public static Method getInstance:"(Z)Ljava/lang/Object;"
        stack 1 locals 1
{
                iload_0;
                ifeq    L9;
                iconst_2;
                anewarray       class Singleton$LazeHolder;
                areturn;
        L9:     stack_frame_type same;
                getstatic       Field Singleton$LazeHolder.INSTANCE:"LSingleton;";
                areturn;
}

public static Method main:"([Ljava/lang/String;)V"
        stack 2 locals 1
{
                iconst_1;
                invokestatic    Method getInstance:"(Z)Ljava/lang/Object;";
                pop;
                getstatic       Field java/lang/System.out:"Ljava/io/PrintStream;";
                ldc     String "-------------";
                invokevirtual   Method java/io/PrintStream.println:"(Ljava/lang/String;)V";
                iconst_0;
                invokestatic    Method getInstance:"(Z)Ljava/lang/Object;";
                pop;
                return;
}

private static InnerClass LazeHolder=class Singleton$LazeHolder of class Singleton;

} // end Class Singleton

猜你喜欢

转载自blog.csdn.net/QIANQIANCHEN0/article/details/81206021