C++和Java的属性访问和方法调用 效率比较
生活随笔
收集整理的這篇文章主要介紹了
C++和Java的属性访问和方法调用 效率比较
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
屬性訪問----C++快于Java
JVM訪問對象屬性時(字節(jié)碼OP_IGET_/OP_SGET_),會先通過屬性名字字符串去查ClassObject元數(shù)據(jù)中屬性的偏移(通過屬性名字符串找到ClassObject中Field,再取保存在Field中屬性在對象中的偏移,最后訪問屬性),這是一個比較低效的步驟。
C++在編譯的時候就已經(jīng)計算出屬性的偏移,訪問時直接進行。
?
方法/函數(shù)調(diào)用----C++快于Java
Java調(diào)用方法時(字節(jié)碼OP_INVOKE_),先通過方法名字字符串去查ClassObject元數(shù)據(jù)中方法Method(通過方法名字符串找到ClassObject中Method,再取保存在Method)
C++函數(shù)比Java方法執(zhí)行效率高。
?
總結(jié)
以上是生活随笔為你收集整理的C++和Java的属性访问和方法调用 效率比较的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dalvik漫谈
- 下一篇: 【C/C++高质量编程 笔记】