Sto leggendo un po 'di materiale sul fatto che Java può essere più veloce di C++, e mi sono imbattuto la seguente citazione:Come può Java in linea oltre i limiti delle funzioni virtuali?
"Java può essere più veloce di C++, perché le squadre investigative comuni possono inline oltre i confini funzione virtuale."
(http://www.jelovic.com/articles/why_java_is_slow.htm)
Cosa significa? Significa che il JIT può effettuare chiamate di funzioni virtuali in linea (perché presumibilmente ha accesso alle informazioni del tempo di esecuzione) mentre C++ deve chiamare la funzione attraverso il suo vtable?
Grazie
Taras
+1 per rispondere alla domanda effettiva – ykaganovich
Un vantaggio è che getter e setter possono essere intradiati, ovvero protezione completa dell'astrazione (codifica per interfacce e tutto) senza pagare automaticamente una penalità ogni volta. –