---
title:
category: Java
tag:
- JVM
---
##
7 LoadingVerificationPreparationResolutionInitializationUsingUnloadingLinking
7

##
**Class Class **
Class **->->****->->**

[Java Virtual Machine Specification - 5.3. Creation and Loading](https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-5.html#jvms-5.3 "Java Virtual Machine Specification - 5.3. Creation and Loading")
###
3
1.
2.
3. `Class`
3 "" `ZIP` `JAR``EAR``WAR` `JSP`...
**** ****
> [](https://javaguide.cn/java/jvm/classloader.html "")
Java `ClassLoader` `ClassLoader` JVM `getClassLoader()` `ClassLoader` `ClassLoader`
`loadClass()`
()
###
** Class Java **
() `-Xverify:none`
1. Class
2.
3.
4.

Java
> JVM Class ****
>
> [Java ](https://javaguide.cn/java/jvm/memory-area.html "Java ")
JVM
JVM
- `java.lang.IllegalAccessError`
- `java.lang.NoSuchFieldError`
- `java.lang.NoSuchMethodError`
- ......
###
****
1. Class Variables `static` Java
2. **** JDK 7 HotSpot JDK 7 HotSpot Class Java [ Java 3 #75](https://github.com/fenixsoft/jvm_book/issues/75 "Java3#75")
3. "" 00Lnullfalse `public static int value=111` value 0 111 value final `public static final int value=111` value 111
**** ( Java 3 7.33 )

###
**** 7
Java 7.34

Java
###
** ` ()` JVM Java ()**
> ` ()`
` ()` ` ()`
5 ()
1. `new` `getstatic``putstatic` `invokestatic` 4 `new` ( final )
- jvm `new`
- jvm `getstatic` ()
- jvm `putstatic`
- jvm `invokestatic`
2. `java.lang.reflect` `Class.forname("...")`, `newInstance()`
3.
4. ( `main` )
5. `MethodHandle` `VarHandle` 2
`findStaticVarHandle`
6. **[issue745](https://github.com/Snailclimb/JavaGuide/issues/745 "issue745")** JDK8 default
##
> [issue#662](https://github.com/Snailclimb/JavaGuide/issues/662 "issue#662") **[guang19](https://github.com/guang19 "guang19")**
** Class GC**
3 :
1. GC
2.
3. GC
JVM jvm
JDK `BootstrapClassLoader`, `ExtClassLoader`, `AppClassLoader` JDK ()
****
- Java
- Java
- Chapter 5. Loading, Linking, and Initializing - Java Virtual Machine Specificationhttps://docs.oracle.com/javase/specs/jvms/se8/html/jvms-5.html#jvms-5.4