java—内存中的内部类在哪里?

lzfw57am  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(285)

我们知道类通常被加载到元空间中,但是非静态的内部类呢?装完后它会去哪里?

class OuterClass {
    /**
     * Where is this class? would this class goes to the meta space?
     */
    class InnerClass{
        public void method(){
            /**
             * And where is this class?
             */
            class InnerClassInMethod{
                public void method(){
                    System.out.println("Hello");
                }
            }

            new LocalClass().method();
        }
    }
}

什么时候加载类?它将与外部类一起加载,或者推迟到请求示例时再加载?同样的问题是,它们将被卸载吗?

wdebmtf2

wdebmtf21#

MetaSpace 也。两者之间唯一的区别 static 以及 non-static 班级是 non-static 类包含引用 this 到父类。

相关问题