關於長期以來Java效能方面的說辭的闢謠

來源:互聯網
上載者:User

標籤:java效能

網上有很多文章通過分析來說明Java的效能最佳化的好的話是不輸C++的,還有一些是通過一些實際的代碼測試來說明,不過在一些測試中明顯是作弊了

本文不打算用長篇大論來論述,只是簡單的說明一些真相


為什麼很少有人懷疑C/C++ 的效率,為什麼被懷疑的總是Java,為什麼懷疑Python,PHP等指令碼的人也不多?

    Java不會做人,所為做人留一線,見後好xx。Java總是想要自己很完美,任何領域都想插一腳,做為一個完美的語言,效能上怎麼能落後呢,這多沒面子,於是發生了可笑的事情,總是想證明在效能上跟C/C++在一個層級上,而且每個個版本更新都會說效能有了很大的提升,提升了這麼多年,結果呢?只能用一些作弊方式哄騙一些不明真想的圍觀群眾


GC是Java效能的主要問題

    其實真相應該是反過來的,不是GC影響了Java的效能,而是Java敗壞了GC的名聲,GC和malloc/free 都是動態記憶體管理的方法,申請記憶體的操作基本上是一樣,不同的是選擇釋放的時機問題,通常GC的釋放動作自動觸發的,但實現上並沒有禁止手動觸發,只是一些語言拒絕這麼做,全自動的記憶體管理一定做不到最優,全手動的可以有機會做到最優,很多時候半自動才是更好的選擇。這裡並不想詳細討論GC的實現,只是想客觀的指出應該正確的認識GC,更多關於GC的內容請參考:http://www.iecc.com/gclist/GC-faq.html


JIT就可以達到和C/C++一樣的速度

    只能說JIT可以提高Java的速度,但不表示JIT就可以達到和C/C++一樣的速度,理由很簡單,編譯型的語言也不是只有C/C++,都沒有說能達到C/C++的速度,實際上這是魚與熊掌不能兼得的問題,對於C語言的效率是在第一位的,為了效率可以放棄很多進階特性,而其它語言則是為了特性可以損失效能,這才是根本問題


Java的流行度證明Java語言足夠好

    語言流行的原因很多,實際情況是語言是不是足夠好並不是影響流行度最大的原因,而是商業公司的支援,利益驅動下的結果,所以流行度不是評價語言好壞的標準,而是一個參考值


一次編譯到處運行是Java最大的有點

    那對於指令碼來說,一次編寫就到處運行又怎麼說,而且沒有哪個指令碼會說這是它的優勢,為什麼Java卻能把這個拿出來說事兒呢,而很多人的實際情況是一次編寫到處調試


Java繼承C++的優點,也拋棄了C++的一些弊端

    我只能說C++最大的優點是有著僅次於C語言的效能,有著C一樣的平台操控能力,幾乎無縫的相容C(這點有爭議,其實這也是C++的曆史包袱),這才是C++的競爭力所在,Java一點都沒繼承到,只是在語言特性上做了些文章,論這個,Python,Ruby等語言可能更讓人認可


Java是簡單的

    這是Java問世以來就有的一句話,而且還經常被一些書引用,只能說Java比C++簡單,但是不表示比C++簡單就叫簡單,因為還沒有哪個語言說比C++還難


暫時寫這麼多,還有哪些希望大家補充

最後:Java總是喜歡和C++比,其實沒有可比性,從文法上,能認可C++的文法設計好的人不多,從這點上跟C++比文法不能證明文法設計好。領域不同,C++是系統程式設計語言,C/C++是技術與效能的代名詞(效能本來就是它的重要的目標之一,而C/C++使用者被要求必須瞭解平台相關的技術才能很好的使用),而Java是應用程式層語言,是理想主意的代名詞(硬體可以提升效能,平台技術無需深入瞭解,理論上jvm可以提供一切,java什麼都能做)

關於長期以來Java效能方面的說辭的闢謠

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.