Java - 匿名对象占用多少空间?

Bob*_*r02 4 java heap space anonymous-class

假设以下场景:

void thisIsCalledManyTimes(){
    // ....
    someObject.executeIfNecessary( new Runnable(){
         void run(){ //do sth here}
    });
}
Run Code Online (Sandbox Code Playgroud)

匿名对象占用多少空间?我知道每个对象匿名obj都会有一个指向run其方法查找表中相同实现的指针.

Bri*_*new 5

Runnable的源代码没有指定任何字段,因此匿名类不会占用任何空间,而是Object有两个不同.内部类具有对外部类实例的隐式引用,因此您可能希望将其考虑在内.它还将获取final从外部类引用的变量的副本.