In Java all public non static methods are virtual. This means that which method to call is decided on run time(dynamic binding).
In C++ virtual functions (dynamic binding) is implemented by using vpointer and vtable. I want to know that how this is implemented by Java. Does Java also use vpointer and vtable like C++ or some other technique to know which method to call on run time?
In Java all public non static methods are virtual. This means that which method
Share
vtables, as described at https://wikis.oracle.com/display/HotSpotInternals/VirtualCalls
[edit Tomasz makes a good point in the question comments – this is for Oracle’s hotspot]