實不相瞞,Java是我見過的執行效率最低的程序設計語言,前不久在論壇上有個評測,計算9999的階乘,同樣的循環算法,Java的耗時是.Net的5倍。我以前很喜歡Serv-U,自從它用Java重寫之後我就再也沒用過,實在是太慢了,我寧可用IIS搭建FTP,雖然IIS搭建FTP在權限管理上很不靈活。
我有個同學,他是搞Java的,他給我說“Java不是效率低,而是速度慢。”,我不是搞Java的,我實在想不透這句話的含義,難道執行速度慢不就是效率低嗎?難道執行速度慢還成效率高了?
其實Java之所以在曾經獨步天下,就是因為他的跨平台、安全性,這兩方面,效率可不是Java的強項,反而是他最短的一塊擋板,雖然Java總是用理論證明比.Net快。
也許C#剛上市的時候有些抄襲Java吧,但自從C# 2.0上市之後,整個局面就扭轉乾坤了,不但Java在模仿C#,而且他從來都沒能跟得上C#的腳步。
就安全性而言,Java已經遠遠低於VB.Net,更無法與安全性著稱的C#相比。
也許唯一可以讓世人留戀Java的理由就剩下它的王牌——跨平台。
說句實話,Java跨平台根本就不是外行人想想的那種,一次編譯,處處運行。
因為各系統的API不同,代碼調用API編寫程序就會遇到很多不兼容的地方,比如Java改寫後的Serv-U就不能在手機上執行,手機的游戲也不能直接在微機上執行。
歸根到底,Java跨平台可以,但是要重新編寫代碼,否則還分什麼J2EE/J2SE/J2ME呢!
如果需要重新編寫代碼,幾乎任何一門計算機語言都可以跨平台了,還用得著Java嘛,而且像PHP/C#等語言不需要修改代碼都可以跨Windows/Linux。
另外,小型軟件代碼重用價值低,沒有必要跨平台;大型軟件,有嚴格的規劃、部署,不可以隨意跨平台。
Java欺騙了我們那麼多年,如今的多核時代,我認為它氣數已盡!