类加载器通常采用双亲委派模型,首先请求父类加载器加载,如果父类加载器无法加载则自己加载。3. 链接阶段,将类的二进制数据合并到JVM运行状态之中的过程。包含验证、准备和解析三个步骤。...但是如果一个类的所有实例都被回收,对应的Class对象有可能被卸载。这个加载过程可以保证Class文件被正确加载到JVM,并且在加载过程中做必要的校验和转换,为后续使用阶段做好准备工作。...整个加载过程遵循双亲委派模型,先让父类加载器试图加载,父类加载器无法加载时子加载器才会尝试加载。每个加载的Class在JVM中都有一个对应的Class对象,存储了类的结构信息,方法,变量等数据。...通常使用引用计数或者可达性分析等算法来判断对象是否可访问。如果一个对象可以从GC Roots节点可达,那么它就是可访问的。4. 常见的GC算法有标记清除、标记压缩、分代收集等。...(或者GC对象的判定方法)在Java中,对象是否存活主要通过可达性分析来判断。可达性分析的基本思想是:如果一个对象可以被GC Roots直接或间接引用到,则该对象是存活的。