类加载器并不需要等到某个类被首次主动使用时再加载它,JVM允许类加载器在预料某个类将要被使用时就预先加载它。当ExtClassLoader去加载一个class时,它首先也不会自己去加载这个类,而是把类加载请求委派给BootStrapClassLoader去完成。如果BootStrapClassLoader加载失败,会使用ExtClassLoader来尝试加载。JVM支持多线程运行,每个线程都有自己的程序计数器。若当前执行的是JVM的方法,则该寄存器中保存当前执行指令的地址,若执行native方法,则为空。所有对象和数组都在堆上进行分配。这部分空间可通过GC进行回收,当申请不到空间时会抛出OutOfMemoryError。所有依赖于静态类型来定位方法执行版本的分派动作成为静态分派,典型方法是重载。与方法重写有密切关系。

JVM类运行机制实现原理解析

JVM类运行机制实现原理解析

JVM类运行机制实现原理解析