類初始化實例分析

測試前先準(zhǔn)備兩個繼承關(guān)系的類
父類:

/**
 * @author 公眾號:IT三明治
 * @date 2021/7/5
 */
public class SuperClazz {

    static {
        System.out.println("SuperClazz init! ");
    }

    public static int value = 111;
    public static final  String SANDWICH  = "Sandwich";
    public static final int WHAT = value;
}

子類:

/**
 * @author 公眾號:IT三明治
 * @date 2021/7/5
 */
public class SubClazz extends SuperClazz{

    static {
        System.out.println("SubClazz init! ");
    }
}

1.new一個類翩肌,并觀看他的類加載情況

/**
 * @author 公眾號:IT三明治
 * -XX:+TraceClassLoading 通過vm參數(shù)觀察類加載
 * @date 2021/7/5
 */
public class Initialization {
    public static void main(String[] args) {
        Initialization initialization = new Initialization();
        initialization.method1(); //new 一個父class
    }

    public void method1() {
        //new super class 就會初始化父class
        SuperClazz superClazz = new SuperClazz();
    }
}

打印結(jié)果

"C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" -XX:+TraceClassLoading "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2020.3.2\lib\idea_rt.jar=49707:D:\Program Files\JetBrains\IntelliJ IDEA 2020.3.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar;D:\git\test\target\classes;C:\Users\Sandwich\.m2\repository\cglib\cglib\3.3.0\cglib-3.3.0.jar;C:\Users\Sandwich\.m2\repository\org\ow2\asm\asm\7.1\asm-7.1.jar;C:\Users\Sandwich\.m2\repository\org\apache\commons\commons-lang3\3.9\commons-lang3-3.9.jar" sandwich.test6.Initialization
[Opened C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Object from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.Serializable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Comparable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.CharSequence from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.String from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.AnnotatedElement from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.GenericDeclaration from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.Type from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Class from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Cloneable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ClassLoader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.System from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Throwable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Error from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ThreadDeath from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Exception from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.RuntimeException from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.SecurityManager from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.ProtectionDomain from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.AccessControlContext from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.SecureClassLoader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ReflectiveOperationException from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ClassNotFoundException from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.LinkageError from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.NoClassDefFoundError from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ClassCastException from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ArrayStoreException from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.VirtualMachineError from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.OutOfMemoryError from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.StackOverflowError from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.IllegalMonitorStateException from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.Reference from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.SoftReference from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.WeakReference from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.FinalReference from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.PhantomReference from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Cleaner from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.Finalizer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.ReferenceQueue from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Runnable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Thread from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Thread$UncaughtExceptionHandler from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ThreadGroup from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Map from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Dictionary from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Hashtable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Properties from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.AccessibleObject from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.Member from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.Field from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.Parameter from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.Executable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.Method from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.Constructor from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.MagicAccessorImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.MethodAccessor from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.MethodAccessorImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.ConstructorAccessor from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.ConstructorAccessorImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.DelegatingClassLoader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.ConstantPool from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.FieldAccessor from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.FieldAccessorImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.UnsafeFieldAccessorImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.UnsafeStaticFieldAccessorImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.annotation.Annotation from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.CallerSensitive from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandle from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.DirectMethodHandle from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MemberName from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleNatives from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.LambdaForm from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MethodType from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.BootstrapMethodError from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.CallSite from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.ConstantCallSite from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MutableCallSite from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.VolatileCallSite from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Appendable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.AbstractStringBuilder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.StringBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.StringBuilder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Unsafe from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.AutoCloseable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.Closeable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.InputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.ByteArrayInputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.File from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.URLClassLoader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.URL from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.jar.Manifest from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Launcher from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Launcher$AppClassLoader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Launcher$ExtClassLoader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.CodeSource from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.StackTraceElement from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.Buffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Boolean from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Character from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Number from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Float from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Double from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Byte from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Short from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Integer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Long from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.NullPointerException from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ArithmeticException from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.ObjectStreamField from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Comparator from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.String$CaseInsensitiveComparator from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.Guard from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.Permission from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.BasicPermission from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.RuntimePermission from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.AccessController from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.ReflectPermission from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.PrivilegedAction from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.ReflectionFactory$GetReflectionFactoryAction from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.cert.Certificate from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Iterable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Collection from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.List from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.RandomAccess from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.AbstractCollection from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.AbstractList from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Vector from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Stack from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.ReflectionFactory from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.Reference$Lock from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.Reference$ReferenceHandler from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.InterruptedException from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.ArrayList from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Collections from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Set from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.AbstractSet from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Collections$EmptySet from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Collections$EmptyList from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.AbstractMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Collections$EmptyMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Collections$UnmodifiableCollection from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Collections$UnmodifiableList from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Collections$UnmodifiableRandomAccessList from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.ReferenceQueue$Null from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.ReferenceQueue$Lock from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.JavaLangRefAccess from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.Reference$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.SharedSecrets from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.IncompatibleClassChangeError from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.NoSuchMethodError from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.Reflection from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.HashMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Map$Entry from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.HashMap$Node from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.VM from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Hashtable$Entry from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Math from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ref.Finalizer$FinalizerThread from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.charset.Charset from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.charset.spi.CharsetProvider from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.FastCharsetProvider from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.util.PreHashedMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets$Aliases from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets$Classes from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets$Cache from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ThreadLocal from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicInteger from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Class$3 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Class$ReflectionData from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Class$Atomic from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.generics.repository.AbstractRepository from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.generics.repository.GenericDeclRepository from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.generics.repository.ClassRepository from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Class$AnnotationData from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.annotation.AnnotationType from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.WeakHashMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ClassValue$ClassValueMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.Modifier from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.LangReflectAccess from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.ReflectAccess from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Arrays from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.charset.Charset$ExtendedProviderHolder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.charset.Charset$ExtendedProviderHolder$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Opened C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar]
[Loaded sun.nio.cs.AbstractCharsetProvider from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.ext.ExtendedCharsets from C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar]
[Loaded java.lang.Class$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.ReflectionFactory$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.NativeConstructorAccessorImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.DelegatingConstructorAccessorImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.SortedMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.NavigableMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.TreeMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.ASCIICaseInsensitiveComparator from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.TreeMap$Entry from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.HistoricallyNamedCharset from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.ext.GBK from C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar]
[Loaded java.lang.StringCoding from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ThreadLocal$ThreadLocalMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ThreadLocal$ThreadLocalMap$Entry from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.StringCoding$StringDecoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.ext.DoubleByte from C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar]
[Loaded sun.nio.cs.ext.DelegatableDecoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar]
[Loaded sun.nio.cs.ArrayDecoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.charset.CharsetDecoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.ext.DoubleByte$Decoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar]
[Loaded java.nio.charset.CodingErrorAction from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Hashtable$EntrySet from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Collections$SynchronizedCollection from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Collections$SynchronizedSet from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Objects from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Enumeration from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Iterator from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Hashtable$Enumerator from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Runtime from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Version from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FileInputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FileDescriptor from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.JavaIOFileDescriptorAccess from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FileDescriptor$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.Flushable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.OutputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FileOutputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FilterInputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.BufferedInputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicReferenceFieldUpdater from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.PrivilegedExceptionAction from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.misc.ReflectUtil from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FilterOutputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.PrintStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.BufferedOutputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.Writer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.OutputStreamWriter from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.StreamEncoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.security.action.GetPropertyAction from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.Unicode from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.UTF_8 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.ArrayEncoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.charset.CharsetEncoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.UTF_8$Encoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.ByteBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.HeapByteBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.Bits from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.ByteOrder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicLong from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.JavaNioAccess from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.Bits$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.BufferedWriter from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.DefaultFileSystem from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FileSystem from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.WinNTFileSystem from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.ExpiringCache from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.LinkedHashMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.ExpiringCache$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Enum from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.File$PathStatus from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.file.Watchable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.file.Path from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.StringCoding$StringEncoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.ext.DoubleByte$Encoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar]
[Loaded java.lang.Readable from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.CharBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.HeapCharBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.charset.CoderResult from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.charset.CoderResult$Cache from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.charset.CoderResult$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.charset.CoderResult$2 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ClassLoader$3 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.ExpiringCache$Entry from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.LinkedHashMap$Entry from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ClassLoader$NativeLibrary from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Terminator from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.SignalHandler from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Terminator$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Signal from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.NativeSignalHandler from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Integer$IntegerCache from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.OSEnvironment from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.io.Win32ErrorMode from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.JavaLangAccess from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.System$2 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.IllegalArgumentException from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Compiler from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Compiler$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.URLStreamHandlerFactory from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Launcher$Factory from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.security.util.Debug from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ClassLoader$ParallelLoaders from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.WeakHashMap$Entry from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Collections$SetFromMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.WeakHashMap$KeySet from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.JavaNetAccess from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.URLClassLoader$7 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Launcher$ExtClassLoader$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.StringTokenizer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.MetaIndex from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.Reader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.BufferedReader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.InputStreamReader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FileReader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.StreamDecoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.UTF_8$Decoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.Array from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Locale from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.util.locale.LocaleObjectCache from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Locale$Cache from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.locks.Lock from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.locks.ReentrantLock from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$Segment from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$Node from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$CounterCell from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$CollectionView from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$KeySetView from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$ValuesView from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$EntrySetView from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.util.locale.BaseLocale from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.util.locale.BaseLocale$Cache from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.util.locale.BaseLocale$Key from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.util.locale.LocaleObjectCache$CacheEntry from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Locale$LocaleKey from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.util.locale.LocaleUtils from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.CharacterData from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.CharacterDataLatin1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.HashMap$TreeNode from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FileInputStream$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.www.ParseUtil from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.BitSet from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.Parts from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.URLStreamHandler from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.www.protocol.file.Handler from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.JavaSecurityAccess from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.ProtectionDomain$JavaSecurityAccessImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.JavaSecurityProtectionDomainAccess from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.ProtectionDomain$2 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.ProtectionDomain$Key from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.Principal from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.HashSet from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.URLClassPath from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.www.protocol.jar.Handler from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Launcher$AppClassLoader$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.SystemClassLoaderAction from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.InternalError from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.instrument.Instrumentation from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.instrument.InstrumentationImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.instrument.TransformerManager from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.instrument.TransformerManager$TransformerInfo from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.URLClassLoader$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.util.URLUtil from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.URLClassPath$3 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.URLClassPath$Loader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.URLClassPath$JarLoader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.zip.ZipConstants from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.zip.ZipFile from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.JavaUtilZipFileAccess from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.zip.ZipFile$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.ThreadLocalCoders from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.ThreadLocalCoders$Cache from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.ThreadLocalCoders$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.ThreadLocalCoders$2 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.URLClassPath$JarLoader$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.FileURLMapper from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.jar.JarFile from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.JavaUtilJarAccess from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.jar.JavaUtilJarAccessImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.charset.StandardCharsets from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.US_ASCII from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.ISO_8859_1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.UTF_16BE from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.UTF_16LE from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.cs.UTF_16 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Queue from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.Deque from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.ArrayDeque from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.zip.ZipCoder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.PerfCounter from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Perf$GetPerfAction from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Perf from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.PerfCounter$CoreCounters from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.ch.DirectBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.MappedByteBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.DirectByteBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.LongBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.nio.DirectLongBufferU from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.JarIndex from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.ExtensionDependency from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.zip.ZipEntry from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.jar.JarEntry from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.jar.JarFile$JarFileEntry from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.zip.ZipFile$ZipFileInputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.IOUtils from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.zip.Inflater from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.zip.ZStreamRef from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.zip.InflaterInputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.zip.ZipFile$ZipFileInflaterInputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.AbstractSequentialList from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.LinkedList from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.LinkedList$Node from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.URLClassPath$FileLoader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.Resource from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.URLClassPath$JarLoader$2 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.jar.Attributes from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.jar.Manifest$FastInputStream from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.jar.Attributes$Name from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Package from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.nio.ByteBuffered from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.PermissionCollection from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.Permissions from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.URLConnection from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.www.URLConnection from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.www.protocol.file.FileURLConnection from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.www.MessageHeader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FilePermission from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FilePermission$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FilePermissionCollection from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.AllPermission from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.UnresolvedPermission from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.security.BasicPermissionCollection from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded com.intellij.rt.execution.application.AppMainV2$Agent from file:/D:/Program%20Files/JetBrains/IntelliJ%20IDEA%202020.3.2/lib/idea_rt.jar]
[Loaded sun.instrument.InstrumentationImpl$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.NativeMethodAccessorImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.reflect.DelegatingMethodAccessorImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded com.intellij.rt.execution.application.AppMainV2 from file:/D:/Program%20Files/JetBrains/IntelliJ%20IDEA%202020.3.2/lib/idea_rt.jar]
[Loaded java.lang.NoSuchMethodException from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.reflect.InvocationTargetException from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$ForwardingNode from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded com.intellij.rt.execution.application.AppMainV2$1 from file:/D:/Program%20Files/JetBrains/IntelliJ%20IDEA%202020.3.2/lib/idea_rt.jar]
[Loaded java.net.Socket from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.SocketAddress from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.InetSocketAddress from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.InetAddress from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.InetSocketAddress$InetSocketAddressHolder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.security.action.GetBooleanAction from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.InetAddress$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleImpl$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.function.Function from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleImpl$2 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleImpl$3 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ClassValue from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleImpl$4 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ClassValue$Entry from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ClassValue$Identity from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.ClassValue$Version from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MemberName$Factory from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleStatics from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.invoke.MethodHandleStatics$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.PostVMInitHook from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.usagetracker.UsageTrackerClient from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicBoolean from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.usagetracker.UsageTrackerClient$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.usagetracker.UsageTrackerClient$4 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.usagetracker.UsageTrackerClient$2 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded jdk.internal.util.EnvUtils from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.usagetracker.UsageTrackerClient$3 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.InetAddress$InetAddressHolder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.InetAddress$Cache from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.InetAddress$Cache$Type from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.InetAddressImplFactory from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.InetAddressImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.Inet6AddressImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.spi.nameservice.NameService from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.InetAddress$2 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.util.IPAddressUtil from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.Inet4Address from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.SocksConsts from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.io.FileOutputStream$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.SocketOptions from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.SocketImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.AbstractPlainSocketImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.PlainSocketImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.SocksSocketImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.launcher.LauncherHelper from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.AbstractPlainSocketImpl$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.URLClassPath$FileLoader$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.PlainSocketImpl$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.FloatingDecimal from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.FloatingDecimal$BinaryToASCIIConverter from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.FloatingDecimal$ExceptionalBinaryToASCIIBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.FloatingDecimal$BinaryToASCIIBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.FloatingDecimal$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.FloatingDecimal$ASCIIToBinaryConverter from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.misc.FloatingDecimal$ASCIIToBinaryBuffer from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.DualStackPlainSocketImpl from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.Inet6Address from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sandwich.test6.Initialization from file:/D:/git/test/target/classes/]
[Loaded java.net.Inet6Address$Inet6AddressHolder from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.launcher.LauncherHelper$FXHelper from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Class$MethodArray from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Void from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.SocksSocketImpl$3 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.net.ProxySelector from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.spi.DefaultProxySelector from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.spi.DefaultProxySelector$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.NetProperties from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sun.net.NetProperties$1 from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded sandwich.test6.SuperClazz from file:/D:/git/test/target/classes/]
SuperClazz init! 
[Loaded java.util.Properties$LineReader from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Shutdown from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
[Loaded java.lang.Shutdown$Lock from C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar]
Process finished with exit code 0

由此可見痰驱,如此簡單的一個main實例饭玲,其實我們需要加載了這么多jre的基礎(chǔ)類庫
字節(jié)碼出現(xiàn)new砚婆,就會初始化類本身:

字節(jié)碼出現(xiàn)new潮模,就會初始化類本身

類加載和初始化結(jié)果:
類加載和初始化結(jié)果

2.new一個子class

/**
 * @author 公眾號:IT三明治
 * -XX:+TraceClassLoading 通過vm參數(shù)觀察類加載
 * @date 2021/7/5
 */
public class Initialization {
    public static void main(String[] args) {
        Initialization initialization = new Initialization();
        initialization.method2(); //new 一個子class
    }
    public void method2() {
        //new sub class 會連父class一起初始化
        SubClazz subClazz = new SubClazz();
    }
}

輸出結(jié)果



由此可見new子class拓哺,父class也會初始化

3. 打印子類的靜態(tài)字段

/**
 * @author 公眾號:IT三明治
 * -XX:+TraceClassLoading 通過vm參數(shù)觀察類加載
 * @date 2021/7/5
 */
public class Initialization {
    public static void main(String[] args) {
        Initialization initialization = new Initialization();
        initialization.method3(); //打印子類的靜態(tài)字段
    }

    public void method3() {
        System.out.println(SubClazz.value);
    }
}

從輸出結(jié)果看出:通過子類引用父類中的靜態(tài)字段比伏,只會觸發(fā)父類初始化弥锄,而不會觸發(fā)子類的初始化(但是子類會被加載)


從字節(jié)碼分析沼侣,有g(shù)etstatic字節(jié)碼的時候都會初始化相關(guān)類

4.使用數(shù)組方式創(chuàng)建對象

/**
 * @author 公眾號:IT三明治
 * -XX:+TraceClassLoading 通過vm參數(shù)觀察類加載
 * @date 2021/7/5
 */
public class Initialization {
    public static void main(String[] args) {
        Initialization initialization = new Initialization();
        initialization.method4(); //使用數(shù)組方式創(chuàng)建對象
    }
    public void  method4() {
        SuperClazz[] sca = new SuperClazz[10];
    }
}

使用數(shù)組的方式祖能,不會觸發(fā)初始化(同樣不會觸發(fā)子類加載)。
由下圖可見蛾洛,在Initialization類加載后直至退出程序都沒有看到SuperClazz類和它的子類被加載养铸,更沒有被初始化。

5.打印一個常量

public class Initialization {
    public static void main(String[] args) {
        Initialization initialization = new Initialization();
        initialization.method5(); //打印一個常量
    }
    public void method5() {
        System.out.println(SuperClazz.SANDWICH);
    }

打印一個常量轧膘,不會觸發(fā)初始化(同樣不會觸發(fā)類加載)钞螟。
由下圖可見,Initialization類被加載后谎碍,直至程序退出并沒有加載SuperClazz類和它的子類鳞滨,更不會初始化它們,但是常量正常打印了蟆淀。


6.使用常量去引用另外一個常量

/**
 * @author 公眾號:IT三明治
 * -XX:+TraceClassLoading 通過vm參數(shù)觀察類加載
 * @date 2021/7/5
 */
public class Initialization {
    public static void main(String[] args) {
        Initialization initialization = new Initialization();
        initialization.method6(); //使用常量去引用另外一個常量
    }
    public void method6() {
        System.out.println(SuperClazz.WHAT);
    }
}

如果使用常量去引用另外一個常量(這個值未知拯啦,所以需要觸發(fā)初始化)。
由下圖可知類加載并初始化完成熔任。


由字節(jié)碼分析可見這里需要觸發(fā)getstatic字節(jié)碼褒链,所以需要初始化。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末疑苔,一起剝皮案震驚了整個濱河市甫匹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惦费,老刑警劉巖兵迅,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異趁餐,居然都是意外死亡喷兼,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門后雷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來季惯,“玉大人吠各,你說我怎么就攤上這事∶阕ィ” “怎么了贾漏?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長藕筋。 經(jīng)常有香客問我纵散,道長,這世上最難降的妖魔是什么隐圾? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任伍掀,我火速辦了婚禮,結(jié)果婚禮上暇藏,老公的妹妹穿的比我還像新娘蜜笤。我一直安慰自己,他們只是感情好盐碱,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布把兔。 她就那樣靜靜地躺著,像睡著了一般瓮顽。 火紅的嫁衣襯著肌膚如雪县好。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天暖混,我揣著相機與錄音缕贡,去河邊找鬼。 笑死儒恋,一個胖子當(dāng)著我的面吹牛善绎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播诫尽,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼禀酱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了牧嫉?” 一聲冷哼從身側(cè)響起剂跟,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酣藻,沒想到半個月后曹洽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡辽剧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年送淆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怕轿。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡偷崩,死狀恐怖辟拷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情阐斜,我是刑警寧澤衫冻,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站谒出,受9級特大地震影響隅俘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜笤喳,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一为居、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧莉测,春花似錦颜骤、人聲如沸唧喉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽八孝。三九已至董朝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間干跛,已是汗流浹背子姜。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留楼入,地道東北人哥捕。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像嘉熊,于是被迫代替她去往敵國和親遥赚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 原文鏈接:Java 類加載機制(阿里面試題)-何時初始化類 - aspirant - 博客園 閱讀目錄 什么是類加...
    Walter_Hu閱讀 924評論 0 8
  • 1. 概述 類從被加載到虛擬機內(nèi)存中開始阐肤,到卸載出內(nèi)存為止凫佛,它的整個生命周期包括:加載(Loading)、驗證(V...
    最后的輕語_dd43閱讀 7,740評論 0 14
  • 上一篇講了類的加載過程孕惜,到最后一步觸發(fā)了初始化愧薛,那么一個類到底在什么情況下才會觸發(fā)初始化過程呢? 簡單總結(jié) jvm...
    IT樂知閱讀 146評論 0 0
  • 之前整理了《JVM之類加載機制》的文章衫画,對于一個類的初始化階段介紹太過簡略毫炉,這里再開一篇文章,著重介紹類的初始化流...
    Lebens閱讀 472評論 0 0
  • Java類加載與初始化(轉(zhuǎn)載+整合) 這種層面的知識削罩,目前都是從其他的博客或者是書中讀來的瞄勾,自己的認(rèn)識理解還沒有深...
    Muscleape閱讀 368評論 0 3