回覆者:Cameron Purdy,Oracle中間件高級工程師。
這是根據我同時使用C++和Java工作超過20年所學到的,其實使用Java比C++還要早幾年:
1、根據我的經驗,當你把優化過的C++代碼轉換成Java代碼,代碼的速度會慢大約三倍。
2、根據我的經驗,把Java代碼轉換成C++的代碼,速度同樣也會慢三倍。首先,這種比較根本沒有意義,除非你能意識到用Java的方式去寫Java代碼,而不是像C++開發者那樣去組織C++代碼。
3、對於併發的數據結構使用Java往往更有效率。當數據結構不是併發使用時,JVM會消除內存屏障和同步,並傾向使用基於運行時性能分析的併發管理。
4、Java的動態內存管理往往更有效率,在過度使用動態內存管理和多線程的系統中效果尤其明顯。
5、Java內聯代碼往往表現更加優秀,除非你基於分析器對C++代碼進行了大量優化(或者確切地知道如何使用內聯讓C++更加高效……你肯定會愛上這些頭文件!)。
6、使用Java的大型項目往往更容易優化,因爲JVM爲開發人員做了許多“全局”優化(比如內聯動態加載的代碼能力)。
一家之言,至少我的感覺是這樣……
原文鏈接: quora 翻譯: ImportNew.com - hackingwu譯文鏈接: http://www.importnew.com/16056.html
[ 轉載請保留原文出處、譯者和譯文鏈接。]