属性访问----C++快于Java
JVM访问对象属性时(字节码OP_IGET_/OP_SGET_),会先通过属性名字字符串去查ClassObject元数据中属性的偏移(通过属性名字符串找到ClassObject中Field,再取保存在Field中属性在对象中的偏移,最后访问属性),这是一个比较低效的步骤。
C++在编译的时候就已经计算出属性的偏移,访问时直接进行。
方法/函数调用----C++快于Java
Java调用方法时(字节码OP_INVOKE_),先通过方法名字字符串去查ClassObject元数据中方法Method(通过方法名字符串找到ClassObject中Method,再取保存在Method)
C++函数比Java方法执行效率高。