Ernest Friedman-Hill wrote:In C++, the virtual method table ("vtbl") is an explicit part of the object model. Discussions of a class's vtbl, where it is, what it looks like, are common. Likewise the virtual method table pointer (vptr) -- each C++ object with virtual methods has at least one of those.
But there is no implicit or explicit notion of a vtbl in Java. Virtual machine implementors are free to do things however they'd like. You won't find an article about vtbls and vptrs in Java -- and if you do, it'll be pure hogwash.
Are you saying that Java does not use a method table?
Here's a part of one of the articles i found
"For each non-abstract class a Java virtual machine loads, it could generate a method table and include it as part of the class information it stores in the method area. A method table is an array of direct references to all the instance methods that may be invoked on a class instance, including instance methods inherited from superclasses. (A method table isn't helpful in the case of abstract classes or interfaces, because the program will never instantiate these.) A method table allows a virtual machine to quickly locate an instance method invoked on an object."
Im confused