在什麼情況下Java比C++快?
回覆者: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為開發人員做了許多“全域性”優化(比如內聯動態載入的程式碼能力)。
一家之言,至少我的感覺是這樣……
相關文章
- Java類什麼情況下被初始化?Java
- 什麼是java序列化?什麼情況下需要序列化?Java
- 企業在什麼情況下引入分散式資料庫?分散式資料庫
- 爬蟲在什麼情況下才需要使用代理IP爬蟲
- 什麼情況下你能接受 996996
- 什麼情況下進行效能測試
- 什麼情況下會出現css阻塞?CSS
- 什麼情況下會出現js阻塞?JS
- 在什麼情況下可採取區塊鏈的流程圖 - TProphet區塊鏈流程圖
- 【知識分享】企業在什麼情況下需要做負載均衡負載
- 應用架構設計中,什麼情況下開始考慮快取?應用架構快取
- vue什麼情況下需要用到this.$nextTickVue
- 股票抄底絕招 什麼情況下抄底合適
- 什麼情況下需要搭建大資料平臺大資料
- 香港伺服器什麼情況下需要更新升級?伺服器
- Linux中什麼情況下會發生程式排程?Linux
- Snowflake(雪花演算法),什麼情況下會衝突?演算法
- 看不了帖子了,什麼情況
- 你的企業在什麼情況下需要人工智慧?快來看看你需要具備哪些條件與能力吧人工智慧
- Nature回應:為什麼在沒有程式碼的情況下發布AlphaFold3?
- 拼多多開店需要了解哪些規則?在什麼情況下會被罰款?
- Go高階特性 12 | 指標詳解:在什麼情況下應該使用指標?Go指標
- 什麼情況!華為開源JDK!JDK
- GreatSQL 中 Insert 慢是什麼情況?SQL
- java面試一日一題:講下在什麼情況下會發生類載入Java面試
- oracle組合索引什麼情況下生效?Oracle索引
- 容器化,微服務,DevOps,什麼情況下會三位一體?微服務dev
- 請在這幾種情況下匯入TPM管理
- 4.3.4.1 在不使用Oracle OMF的情況下建立CDBOracle
- 在不影響程式使用的情況下新增shellcode
- 成都現在的情況
- 什麼情況下需要進行靜態程式分析?常用Java靜態程式碼分析工具的優勢Java
- CPU超頻小知識:電腦CPU什麼情況下需要超頻?
- 一般情況下,大圖片需要壓縮到什麼程度呢?
- 驗證碼不顯示是什麼情況
- 什麼情況下不要用Rust語言? - kerkourRust
- 簡單的效能測試說明為什麼Go比Java快?GoJava
- 一個頁面繼承了base.html的內在是什麼情況?繼承HTML
- 在不安裝oracle客戶端的情況下,使用PLSQLOracle客戶端SQL