程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java技巧久長占居重要位置的12個緣由

Java技巧久長占居重要位置的12個緣由

編輯:關於JAVA

Java技巧久長占居重要位置的12個緣由。本站提示廣大學習愛好者:(Java技巧久長占居重要位置的12個緣由)文章只能為提供參考,不一定能成為您想要的結果。以下是Java技巧久長占居重要位置的12個緣由正文


我們很輕易就會遺忘那些已經在猿群中年夜熱而又被各類新技巧掩飾直至堙滅的技巧的價值。就拿COBOL這個老猿們昔時所用的神器來講,就跟條逝世魚一樣被古代猿根本這麼描述:沒價值,腥臭,過時了,對你沒利益。Java 作為古代猿的中堅力氣在這點上能夠會成為下一個COBOL。

有關JAVA的技巧賣出若干本書曾經是一個良久遠的記憶了。現處中年時代的Java說話的用處曾經不再湧現在各類雜志的封面上了。JAVA從出身到如今曾經19年了,運用開辟圈曾經開端繞著那些更有吸引力的如“Node.js”,”Objective-C”,”Dart”,”Go” 等等相似的新技巧轉圈了。Java? 那是Web 1.0時期的一個傳說吧?

在我們忘卻Java在盤算機行業裡所飾演的腳色和做出的那些卓著進獻前,這裡有12個相對的來由來告知你Java不只不會和COBOL一樣被堙滅,而且在厥後時期中加倍強大。

換句話說:別說這是Java的逆襲,Java一向就在,而且其位置沒法撼動。

Java連續占領主導位置的症結緣由,第1位:在政治(平日手腕拙劣)奮斗中不平不撓

開端時,技巧界歷來沒以為Java會勝利,由於它的敵手太多並且都是“土豪”。雖然如斯,Java照樣繁華成長起來。那些驚訝Java依然存在的人們,必定是花了太多時光聽那些對Java懷恨在心的人,而沒有花時光去懂得為何Java會勝利。

微軟是Java第一個面臨的壯大敵手,由於那時MS-DOS供給了通用性,而微軟看到Java是此通用性最具能夠性的替換者。Redmond從一開端就對Java惡評赓續,從每一個能夠方面與其奮斗(譯注,Redmond,雷德蒙德,是微軟總部地點地,此處代指微軟公司)。在桌面運用偏向,Java歷來沒有找它須要的成長推進力,部門是由於壯大的Java虛擬機啟動時須要消費太長時光。雖然有些啟動延時,Java運用在Window平台上照樣可用的。

因為一些不明緣由,Steve Jobs(譯注,史蒂夫·喬布斯)歷來沒吸收過Java,即便是在Mac被除Adobe以外一切人疏忽的年月。Java的兼容性可以帶來許多有效的代碼,然則Apple一向未把Java視作第一選擇。(切實其實,iOS智妙手機比起我用的Android更流利,所以或許Steve是對的。)

Java外部的許多奮斗也給它帶來了偉大苦楚。IBM愛好Java,然則一向在和Sun奮斗。IBM將其開辟的優良的IDE對象稱為“Eclipse”的決議,一向沒被Sun的人員怅然接收。Sun也歷來沒像IBM那樣深入懂得貿易范疇。

雖然這些緣由,雖然Java發明者也在Java成長中有很多掉策的地方,Java仍然疾速強大,在辦事器運用范疇甕中之鱉,碩果累累,在桌面運用范疇知足根本營業需求。一切技巧都須要在政治湍流中前行,然則Java走的更難也更遠,證實了,平日,Java對很多運用都是一個優秀選擇。

Java連續占領主導位置的症結緣由,第2點:線程的魔力

Java虛擬機的強項之一是多線程掌握。JVM針對年夜型多核機上跑數百線程的穩固性做了極佳的優化。這也是為何其他說話會為了能跑在JVM下面弄出穿插編譯器和模仿器。

Java的這個才能同時也吸引了許多高流量的網站。他們可以在台式機上弄開辟然後丟到辦事器上讓JVM施展出多核的功能。

Ruby 由於語法的簡練和源碼可讀性好成了Java今朝的一個敵手。然則當機能成為瓶頸時,Ruby開辟人員轉到了JRuby,一個用Java模仿出來的Ruby情況並加強了高負載下的線程處置才能。Sun的老猿們在細節上的處置讓JRuby年夜受迎接。(譯注:似乎多半人都是寫完Ruby法式然後用JRuby打成war丟辦事器上….)

Java連續占領主導位置的症結緣由,第3點:Java是初學者的說話

宗教,部隊和國度旺盛都離不開對國人少年時代的洗腦。作為年夜學AP盤算機課程(譯注:高中生可修並計入年夜學學分的課程。由美國年夜學理事會供給,就是擔任美國SAT的誰人機構)意味著許多先生第一次接觸到的盤算機說話就是Java。因為這個先入為主的緣由,當他們進修其他新的說話時,他們會反不雅Java的長處和缺陷,就算年夜部門轉行學其他說話了--固然年夜部門先生修完課程就把Java丟一邊了--然則他們在思慮的時刻仍會遭到Java的影響。

Java作為一個教授教養說話是有它的緣由的。有些幼猿不愛好聲明數據類型,以為似乎有人讓你穿個背帶褲又要系皮帶一樣是畫蛇添足的行動。這個看上去能夠比擬籠統,然則為了能讓幼猿們懂得盤算機的一些道理,這是一個很好的辦法。讓幼猿在寫代碼的時刻聲明數據類型,然後編譯器會告知他們數據類型不婚配而沒法編譯時可讓他們更好的懂得盤算機的底層道理。

一些所謂時興的說話曾經摒棄了花括號,由於他們認為保護它們很費事。這或許是對的,然則花括號對那些老手長短常有效的,由於這能贊助他們懂得嵌套的代碼塊。花括號贊助新人拆解一切的嵌套。

有些人想盡力推行他們本身的說話,在年夜多半情形下,他們心愛的說話更自在,並沒有像java那末多的限制和規矩。他們有一個異常好的設法主意,然則他們疏忽了這麼一個現實,就是越簡略,越清潔的語法會在前期開辟中湧現顯著的成績。一些人認為這類“穿個背帶褲又要系皮帶”方法讓人梗塞,然則java在一開端就推進更好的編程習氣。當老手經由好的練習後,他們便可以處置這類自在和風險的編程方法了。

Java連續占領主導位置的症結緣由,第4位:跨平台兼容性(曾經很接近了)

固然Java其實不是第一個供給跨平台兼容才能的說話,然則Java曾經成為最受迎接的(跨平台說話)。這其實不是說Java是完善的——缺乏的一個庫或許一個版本不婚配的庫都邑招致法式瓦解。你也不克不及把應用最新的JRE 1.7編譯的須要應用年夜量內存的桌面法式放到一台Java ME手機上運轉。Java其實不是那末兼容。

然則Sun和如今的Oracle曾經為法式可以跨平台應用做了最年夜的盡力。當法式(不克不及在多個平台上)應用時,(招致這些成績的)緣由平日是可以弄懂的。假如你應用適合的Java版本,而且確保有足夠的內存,那末,(法式)普通可以正常任務。Java法式員可使用他們的桌面開辟對象停止編碼,並安排到目的裝備,能夠是一台手機或許一台辦事器。假如編譯器包括了准確的庫而且應用了准確的版本,代碼便可以運轉。這是一個很寶貴的(特征)。

Java連續占領主導位置的症結緣由,第5位:在小芯片上的連續勝利

Java或許從沒有在桌面范疇培養過年夜型的運用法式,但它卻在挪動世界中找到了一片溫床 —— 這是一個迸發了的細分市場。Android平台從上到下都是基於Java構建起來的,而且它現在的銷量隨意馬虎的跨越了iPhone。

這一霸主位置其實不是新晉的。JAVA ME作為精簡版的說話和VM曾經被普遍運用在很多所謂功效手機之上,那些智妙手機在全球的數目也簡直數以百億計。

當你將它們都混雜到一路,Java的優勢是就是驚人的。

Java連續占領主導位置的症結緣由,第6位:藍光(Blu-ray)

Java已經被稱為“Oak”,是為機頂盒而設計的說話,Sun想在占領此市場。工作沒有完整依照籌劃成長,然則Java卻在“客堂”中找到了適合的地位。藍光尺度是環繞Java樹立的,任何想在藍光光碟中添加額定內容的人,必需獲得其Javac編譯器版本。

藍光光碟不止限於寄存視頻內容。那些額定特征和交互對象可使用純Java代碼修正並加強。藍光光碟是緊縮後的視頻和緊縮後的Java字節碼的混雜。應用藍光尺度,你可以完成很多功效。

Java連續占領主導位置的症結緣由,第7位:花括號正好能任務

那些像Ruby、Python或CoffeeScript等時興說話的喜好者們高興的鄙棄Java(和C)是如何的請求法式員們重復敲打花括號鍵來明白表達代碼段的開端和停止。括號、花括號、乃至方括號——都是這些人感恩戴德的。(我自己也異常憎惡它們,但我依然思念有一些類型的Lisp說話讓你應用一個方括號停止一切內容的編程方法。)

然則轉變標點符號其實不能清除龐雜性。假如有效,它也只是隱蔽或許掩蓋了龐雜性。應用像制表符等空白後你只能用直覺去感觸感染那些沒法看到的器械。假如if語句只引誘了一行代碼,如許不會有成績,然則當許多層嵌套時,就很好看明確。當我用Python編程時,我發明本身在重復數這些縮進。只是由於如許看起來像英文,其實不意味著它像懂得一句英文那末簡略。

Java連續占領主導位置的緣由,第8位:Groovy

假設Java開辟者必需要有一個帶有靜態類型的更干淨更簡略的語法,他們沒需要去運轉一種別致的說話。他們可使用Groovy,一個帶有預處置器的整潔的利器,它可以或許生成出Java字節碼來。這類說話也完整集成到了Java中,是以你可以在你的Groovy中混入對Java庫的挪用。就像是編寫Java代碼的縮略情勢。

這一靈巧性閃開發工程師得以找到成績的前途。固然Groovy是慢——這平日是在應用了靜態辦法挪用的時刻 —— 開辟者可以一向用Java來重寫主要的費時的焦點操作。

Java連續占領主導位置的緣由,第9位:Java虛擬機

Java虛擬機是依照運轉Javac編譯器發生的那些代碼來的目標來設計和優化的,然則某個時刻開端,開辟者們認識到Java虛擬機也能夠運轉其他代碼。只需編譯器們產出尺度的Java字節碼,Java虛擬機基本不關懷是應用的那種編程說話。Haskell、Scala和Clojure的開辟者們按這個方法設計他們的編譯器搭上了Java這趟慢車。並且他們只是這個由Java虛擬機發生的生態圈中幾個比擬優良的代表。

吸引力是不言而喻的,Sun/Oracle為創立跨平台情況而盡力,一切其它人從中受害。Sun/Oracle的工程師們清除平台間差別,並斟酌兼容性成績,然後一切人可以運轉他們想運轉的法式。

微軟在創立C#時借用(並擴大)了這個創意,為年夜部門重要說話設計了編譯器,如許C#虛擬機便可以運轉這些說話編寫的一切法式。C#法式員說他們可以用許多分歧的說話編寫法式,只需經由過程一個Windows盒子將其運轉在一個虛擬機上便可。多麼靈巧!

Java連續占領主導位置的緣由,第10位:NoSQL反動很年夜部門樹立在Java之上

良久之前,數據庫是一個奧秘的黑盒子,它保留信息並疾速有用的應對查詢要求。然後NoSQL反動光降,法式員們認識到他們可以本身編寫本身的數據庫,並依據需求修剪其代碼。那些最主要的NoSQL對象中許多都是用Java編寫的。Cassandra、Lucene、ElasticSearch、HBase和Neo4J只是一些常常提到的NoSQL選擇。然後還有一些像acid-state等法式,應用Haskell編寫並運轉在Java虛擬機中。

這些對象平日是開源的,可以便利的集成。一些開辟者將其自力運轉,另外一些人將它們集成在本身的模塊好比庫中。豈論哪一種方法,Java在數據庫層中成為通用說話的情形,包管了Java開辟者們的生涯更簡略了些。 他們更少擔憂因為字符編碼和行停止符帶來的小毛病。這意味著Java開辟者們可以享用由NoSQL反動帶來的豐富果實。

Java連續占領主導位置的緣由,第11位:Minecraft游戲融入00後們的配合情結中

或許布魯克林時髦的非主流們對Java五體投地,然則Java法式員們卻搶先一步。在Ruby時髦團正集合起本身的一群粉絲時,他們以後的一代人卻愛上了Java。為何?一個詞:Minecraft。它用Java編寫而成。假如孩子們想要擴大該游戲,他們就須要進修Java來設計其插件。這包管下一代法式員第一個進修的是Java。

Java連續占領主導位置的緣由,第12位:開源

Sun一向是開源范疇中的引導者之一,但它卻在完整開放Java的進程中時有遲疑。但這並沒有妨害Java法式員們宣布許多巨大的有著寬松開源允許的庫和項目。Apache項目一向都在應用一個沒請求太多報答的允許證來供給優良的Java代碼。

Sun在2007年完成了在GPL允許下地下年夜部門代碼的任務,從那時開端,它和它以後的新主人Oracle想盡力成為它以為的Java的及格管家。固然,這類開放的立場並沒有阻攔Oracle將Google拖入一場凌亂的司法訴訟中,然則另外一方面,Java平台很年夜水平是開放和收費的。

憎惡它的人許多,但Java連續前行

切實其實Java有它本身的成績,並且憎惡的Java人們也會愈來愈多, 並將他們的不滿情感充滿在線上評論區中。Java渣滓收受接管器會惹起法式的小抽風。法式書寫規矩沉重,也其實不能阻攔那些確切低劣的代碼。注解(譯注:annotation)太龐雜。各個特征也不如之前演進的頻仍。花括號增長凌亂。其缺陷列表很長,然則平日是合道理的。

但是今朝還沒有湧現一個廣度和深度上可與之競爭的敵手。固然一些埋怨很輕易處理,然則處理計劃自己會帶來本身的成績。最接近的或許是JavaScript,依附有閃電般速度的Node.js,它在辦事器范疇愈來愈有吸引力。不外這些創意可以被復制,法式員們也能夠用其來編寫疾速的Java。

在最初,這是Java的優勢之一:它運轉一切法式,並且接收轉變。假如你須要分歧的功效,你可以將年夜部門庫調換成本身的代碼。說話是開源的並且靈巧多變。豈論說話戰爭台有甚麼限制,都可以絕對輕松的處理。這意味著Java法式員持續是最具臨盆力的人員之一。即便相干圖書不在能再占領滯銷榜,軟件更新也沒之前頻仍,Java將仍然存在乃至加倍旺盛。

以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved