回覆列表
-
1 # 滴逃逃
-
2 # 阿邁達聊技術
阿里巴巴是 java深度使用的大型公司。阿里挖了很多曾經參與jdk開發的大佬。
java擁有幾百萬開發者,超過一半以上的網際網路公司使用java語言開發,這就是它的優勢。龐大的使用者群體,會不斷的完善這門語言。讓他獨領風騷。
Java是世界上最好的語言。
阿里巴巴是 java深度使用的大型公司。阿里挖了很多曾經參與jdk開發的大佬。
java擁有幾百萬開發者,超過一半以上的網際網路公司使用java語言開發,這就是它的優勢。龐大的使用者群體,會不斷的完善這門語言。讓他獨領風騷。
Java是世界上最好的語言。
開源,很多大公司都用這種語言,國外國內都很熱門。
今天,Java最大的優勢在於其龐大而完善的生態系統。一門程式語言是否能流行,主要是由其生態系統決定的。Java生態系統的完善性主要體現在以下幾個方面:
Java擁有世界上數量最多的程式設計師。你說他們是農民也好,但數量放在那裡,最明顯的效果就是公司招人的時候會比較容易地招到Java程式設計師。試想如果你想要做一套軟體,你有一個很棒的技術方案需要用C++,Scala或Ruby等語言實現,但招不到足夠的人手,那麼計劃多半泡湯。這時候你的應用Java也能做到,並且很輕鬆就能招到足夠的人,那麼你選擇Java的可能性就要大一些。
Java擁有大量的第三方類庫。假如你想解析HTML,用C/C++這類語言恐怕多半隻能自己編寫解析演算法庫了,而如果是Java,你可以非常輕鬆地在Github上找到JSoup,使用Maven匯入依賴後分分鐘就搞定HTML。為此還有一句諷刺Java的話是:“我們不生產程式碼,我們只是Github的搬運工。”這句話從字面上看是很有道理的,但卻忽略了對軟體生產效率的提升所帶來的巨大價值。對於軟體的開發,公司的唯一成本其實就是“人頭費”,每減少一個月開發時間,就能幫助公司節省幾十萬幾千萬的研發成本。
Java擁有功能強大的IDE。Eclipse,透過外掛幾乎可以滿足你開發的任何需求。它雖然有些慢,但你可以透過JVM調優來提高程式的流暢度,千萬不要使用預設的JVM引數。不過,IntelliJ Idea已經完全超越Eclipse了,Idea的智慧程度幾乎可以媲美Win平臺下的VS。我是那類離了Vim就活不下去的人,在這兩款IDE中都有Vim外掛從而讓我愉快地存活下去。
Java擁有很多殺手級應用。不必多說,Spring, Struts, Hibernate, Hadoop, Tomcat, JBoss等等。
Java的語法特性很少。對,這也是一項優點。C++相比C添加了大量特性,學起來費事不說,用起來還會降低程式碼可讀性,其實是費了工夫不討好。當今世界對程式語言的要求是語法簡單,程式碼可讀,對效能已經是退而求其次了,因此才誕生了Python, Ruby這樣的程式語言。有很多人批評Java語法寫起來很臃腫,我承認這一點,但事實是,程式語言從來都不是因為語法臃腫而被淘汰的,決定其生死的是生態系統。對於批評者,引用知乎的一句話:“動態型別一時爽,程式碼重構火葬場”
Java的效能已經足夠高了。Sun/Oracle的HotSpot JVM內建的JIT編譯器在執行時對位元組碼已經做出了非常大的最佳化努力,服務端應用啟動後對JVM進行足夠的“預熱”,並給出合理的啟動引數即可。如果不是對效能十分敏感的系統類應用,Java已經足夠快了。有一種簡單可行的方法可以形象地看出這點,在JVM啟動引數中新增+XX:PrintCompilation可以看到JIT編譯器的忙碌。當今世界對軟體的需求量越來越大,在效能可接受的情況下,開發效率才是第一位的,這也是Python這類動態指令碼語言流行的主要原因。