不过这个并不是根本原因,面向过程也需要分配内存,计算内存偏移量,Java 性能差的主要原因并不是因为它是面向对象语言,而是 Java 是半编译语言,编译生成的字节码(.class)的执行代码并不是可以直接被 CPU 执行的二进制机械码,需要使用JVM进行解释成机器码才能执行,好处就是跨平台,便于移植。就是执行效率付出了一定代价。而面向过程语言大多都是直接编译成机械码在电脑上执行,并且其它一些面向过程的脚本语言性能也并不一定比 Java 好。
原文:https://www.cnblogs.com/jfx2019/p/12905311.html