JVM

JVM Structure


JVM


JVM


JVM


JVM


JVM


JVM

JVM Architecture

JVM

Life of JVM

JVM


Loading

JVM


JVM


JVM


JVM


JVM

ClassLoader

JVM


JVM

public class ClassLoaderTest{
    public static void main(String[] args){
        // 系统类加载器
        ClassLoader systemClassLoader =  ClassLoader.getSystemClassLoader();
        System.out.println(systemClassLoader); //  
        //获取系统类加载器的上级:扩展类加载器
        ClassLoader extClassLoader = systemClassLoader.getParent();
        System.out.println(extClassLoader); // 

        // 获取本类的加载器
        ClassLoader selfClassLoader = ClassLoaderTest.class.getClassLoader();
        System.out.println(selfClassLoader);  // 
    }
}

JVM


JVM


JVM


JVM


JVM


JVM

双亲委派机制

JVM


JVM


JVM

What makes it all the same:

JVM
JVM


PC register

JVM

JVM

VM Stack

JVM


JVM


JVM


JVM

操作数栈(表达式栈)

JVM

动态链接

JVM


JVM


JVM


JVM


JVM

Native Method Interface

JVM

Native Method Stack

JVM

Default Garbage Collector : G1