麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Java能夠成為完美的技術平臺嗎?

2019-11-18 13:13:22
字體:
來源:轉載
供稿:網友

  前言
  象許多在不斷發展的平臺/語言一樣,java讓很多程序員又愛又恨。當然,當然這不包括那些狂熱的Java愛好者,對于他們來說Java比.Net,LAMP或任何其他語言或平臺都要好,但是,我們還是不得不面對復雜的Swing,龐大的EJB規范等對硬件的額外要求以及J2ME的變化多端的實現方式等等等等。拋開以上這些Java的弱點,我們可以說Java是一個完美的技術平臺,那么Java到底有沒有成為一個完美的技術平臺的潛力呢?這篇文章將從兩個方面討論這一主題,開始,我會具體的告訴你什么是完美的技術平臺以及為什么Java平臺能夠成為完美的技術平臺。之后我會偏重于具體的解決方案,如何通過設計的優化避免Java平臺的弱點。
  
  基礎
  首先,你為什么會關心Java是否是一個完美的沉下平臺?它現在不是也很好嗎?不,不是的。我相信在文章結束的時候,我將向你展示一些列Java中可修正的缺點。解決這些缺點會加快Java平臺的發展,提高整個開發平臺的性能,簡而言之,它將使Java不管在工業還是商業領域都成為一個實際上的技術標準---成為程序員的一個超級語言。什么才是完美的技術平臺?在我作進一步說明之前,我應該先定義一下我認為的完美的技術標準是什么。簡單的講,我認為完美的技術平臺應該是這樣一個軟件系統,它可以讓新手或高級開發人員都能使用,能夠編寫簡單的程序也可以編寫高級的應用,它應該能夠運行在所有的硬件平臺或操作系統平臺上,并且應該是本地化的操作或接近本地化的操作。
  
  定義這篇文章討論的范圍
  類似這篇文章的主題,事先定義一個范圍是很重要的。首先,我們不討論任何非Java的技術平臺。你也許會認為這有些太狹隘了。我不這么想,這篇文章是要單獨的討論Java平臺的各個方面,并不是要和其他的語言平臺進行比較。我的愛好在于那些為了完善Java平臺提出的具有建設性意義的觀點。假如可能,我希望其他技術平臺的支持者能夠發表類似的文章提出他們認為最完美的技術平臺。另外,我在這里還假設Java語言已經是各種技術平臺中最佳程序語言。并且我也不會討論最新的Java2平臺J2SE1.5,盡管在J2SE1.5中我可以感覺到其中的一些變化比如標有” keeping up with the Joneses”的是把矛頭指向了C#語言。一個語言的穩定與否至少需要將近8年的不斷驗證才能證實它的最初設計是否是健壯的。參數化集合的實用行在JDK1.5中是顯而易見的,其中的一些新特性比如autoboxing, enumerations和 static imports引起了開發人員的廣泛關注。
  
  Java繼續了來自C和C++的健壯行,它一開始就被設計為一個面向對象的語言,我認為這是一個成為核心語言和優秀平臺的要害所在。當然這并不算什么先進的思想因為從最早的Eiffel到Smalltalk都是面向對象的語言,那么Java和他們之間有什么根本的不同嗎?Java和那些比如功能性編程語言象LISP、Haskell或象SQL這樣的可以通過語義來執行的語言又有什么不同嗎?因為我們學習這些語言只需要一本手冊就可以了,但別興奮的太早,假如一個市場上主要的廠商比如SUN,HP或微軟想要把這些語言中的一種拿出來,并圍繞它開發他們的下一代技術平臺,你會發現這個語言的不會再進一步更新;我喜歡把Java作為一個平臺來看待;實際上Java作為一種語言來說在Java平臺中只是較少的一部分。也因此我會在下面介紹作為一個完美的技術平臺的重要特征。
  
  什么才是完美的平臺
  比較起來,對于這個主題來說可以講的很具體也可以講的很簡短概括,我選擇了后者。對此有愛好的讀者可能會注重到有關這個主題的具體討論很多詞匯后面都會有一個”ility”作為結尾,也明白它是ility矩陣(matrix)。在我看來作為一個完美的技術平臺應該具備這些條件:便于開發,而且提供多路訪問(詳見下面的討論)
  
  穩定性,這體現它應該便于客戶平臺的部署;還應該是本地化模式的部署操作。
  必須具備可靠的性能和可測試性。
  基于開放的標準。
  
  Java符合這些標準嗎?
  到現在我已經定義了一系列符合完美技術平臺的標準和特征,讓我們看看Java的成長過程是否符合上述的特征。
  
  我不得不痛苦的承認,開發Java程序并不輕易。相對簡單的項目還好,但假如項目不斷增長以至于變得越來越復雜就會不斷出現越來越多的問題。比如J2EE應用就是這樣。因此在項目的開發中我程序員需要花更多的時間來跟蹤底層的問題,比如類引導(classloading)問題而不是解決實際的業務邏輯問題;還有令很多程序院頭疼的EJB(查看我過去的文章To EJB, Or Not To EJB?)通常情況下他們都是在清除一系列的警告信息,EJB也許想把負責的問題簡單花,但是它并沒有更貼近于現實中的持久化問題或業務邏輯的解決方案,這還與Java開發工具的不足有關,坦率的說,微軟的Visual Studio在這方面比Java作的要好,Java需要學習。
  
  我曾經提出過一個多層次訪問的想法,它答應開發人員或者用戶可以工作在Java中的不同層次。比如核心開發人員可能使用emacs/vi的方式來以命令行調試器的方式開發和部署以Java為基礎的系統,而業務分析師或最終用戶應該能通過使用WYSIWYG這樣的工具來訪問和修改這個系統。 Java在這兩方面的開發并不是很輕易。當然applet和JavaWeb Start技術在這方面提供了一定的幫助,當這兩種技術也有自己的不足---運行他們必須在客戶端安裝配置JRE。 Java平臺是想當穩定的,我已經不記得上一次應為Java本身的bug而給我帶來麻煩是什么時候了。所以假如要作一個企業級應用的話我寧愿選擇J2EE而不是.Net。 Java在服務器端的應用是足夠穩定和健壯的。Swing客戶端的應用表現也不錯但在執行速度方面比起本地的應用要差一些。由于對資源限制的原因比如移動電話(或智能終端),在這里使用Java而不是用本地化的開發工具從實用性角度來說就顯得有些奢侈了。附加額外的MIDP比起直接調用本地的應用造成了運行時的性能損失。
  
  很明顯,Java有來自業界的主要軟件廠商的廣泛支持(除了微軟)。比如IBM,HP,Oracle已經把他們自己的技術整合到了Java平臺上,這對關心Java的人來說是個好消息。還有更多的組織和團體化大量的精力不斷的晚上Java,他們希望看到Java在移動設備,PC,服務器等各個領域不斷的成長、進步。
  
  優點
  Java的優勢在哪里?
  平臺支持:J2SDK已經可以運行在任何的操作系統和硬件平臺上,從金融機構到娛樂設施,從科學研究到家用電腦都可以使用Java。 Java語言規范和Java運行時規范的明確區分答應研究人員可以通過運行一個編譯器來產生程序語言的映射,而不必非要使用Java來編譯二進制碼――也就是說它可以運行在任何的虛擬機(VM)上。這一點在我后面要提到的Java戰略的改變非常重要。 Java是當今企業級計算和應用中相當成熟和穩定的平臺。微軟仍然在不斷的改進他們的.Net,而且可能最后會象Java一樣好或者比Java好要好(但這只局限在Windows平臺上),但現在還作不到;另外,還有另一個競爭激烈的領域,那就是移動設備。盡管在前面我們提到過Java在節省設備資源方面相對較差,但是不可否認在這個領域它也占據著領導地位。 Java在學術界也獲得了強有力的支持。假如你在大學學習你會發現Java已經成為多數科學研究和計算使用的首選語言。在大學中有越來越多的人在使用Java語言,越來越多的尖端學術研究完全使用Java語言;各個行業的公司都有很多的Java程序員在開發他們的項目。
  
  缺點
  現在我們來看看Java的缺點:
  一個開發組織創建新的框架和組件庫幾乎總是在存在優點的同時也存在著不足。一個優秀的組件技術總是在不同的開發人員和組織間相互競爭和促進中成長起來的。但是在這一過程中,卻使得用戶(這里特指開發人員)非常困惑。盡管Sun一直在忙于應付,但是就到底是使用JDO還是EJB更好一直存在著爭論。的確,我們必須確定把哪一個繼續發展下去。現在我們能作的就是把這一個想法簡單的提交到JCP組織。比如,假如你是一個J2EE設計師,你能100%確定當前哪一種才是完美的解決方案嗎?我不能,但我的觀點是“注重實際的方案就是完美的方案”。
  現在有一種觀點認為Java過于復雜。有誰能完全了解Java從服務器到PDA各個方面的所有知識嗎?作為一個博大精深的語言,Java在人們生活的不同領域都無處不在,這不可避免的帶來了它的復雜性,但同時這也更值得開發人員在其平臺上使用Java來開發不同的應用。Sun的一句明言就是“嘿,我們已經給了你一個非常棒的核心技術?,F在你可以用它來創建任何開發工具或健壯的產品”。其中非?;钴S的Jini/Javaspaces就是一個例子。Sun自己把這一技術作為一個學術研究的工具,它幾乎沒有什么技術缺陷。實際上,基于JavaSpaces的編程模型也許是最簡單最強大的技術之一。
  Windows 家族集成了很多繁瑣的分布式客戶端平臺。除非與Java捆綁否則Windows技術永遠無法避免這些缺點。當然,隨著.Net的崛起,Java 在客戶端編程(thick-client)方面將失去了很多優勢。
  我不認為Sun為Java投入了足夠的財力。這給Java帶來了潛在的隱患,那么為什么Sun應該繼續對Java平臺投資呢?我更樂意看到Sun通過大量的財力扮演一個“善意的獨裁者”,它將通過與象BEA,IBM,HP等這樣的公司而不是和開發人員或最終用戶一起合作來指導Java的未來。我擔心來自Sun對Java的動搖。Sun公司的健壯穩定的發展預示著Java的不斷完善;假如Sun出了問題那么Java的發展和完善也將受到影響。下面的圖示顯示了影響Java技術平臺的幾個方面。
  圖1顯示了高層的理想化的Java技術平臺。其中,由Sun及其合作伙伴控制的技術顯示為橙色,其他不屬于Sun的為綠色。
  
 Java能夠成為完美的技術平臺嗎?

  Java有哪些缺點
  無疑,我承認Java平臺是有缺陷的,這必須指出。下面幾節將具體講述這些問題和戰略及戰術上的建議。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲无av | 国产亚洲精品久久久久久久久久 | 久久精品一级片 | 91一区二区在线观看 | 成年人视频在线免费观看 | 国产毛片在线看 | 亚洲一区在线免费视频 | 欧美成人精品一区二区 | 蜜桃av鲁一鲁一鲁一鲁 | 91av日韩| 日本在线视频免费 | 美女又黄又www | 97中文字幕第一一一页 | 成人免费在线视频播放 | 欧美高清在线精品一区二区不卡 | 国产二区三区四区 | 亚洲人成网站免费播放 | 欧美成人高清在线 | 成人三区四区 | 羞羞的动漫在线观看 | 国产成人在线视频播放 | 免费一区在线 | 香蕉久久久久久 | 国产精品久久999 | 国产黄色毛片 | 成人一级在线 | 中国老女人一级毛片视频 | 亚洲导航深夜福利涩涩屋 | 成人h精品动漫一区二区三区 | 泰剧19禁啪啪无遮挡 | 午夜精品毛片 | 国产精品久久久久永久免费 | av影片在线观看 | 2021av视频| 日本免费不卡一区二区 | 成人在线视频免费 | 李宗瑞国产福利视频一区 | 国产精品av久久久久久久久久 | 欧美囗交 | 一区二区视频在线看 | 亚洲精品无码不卡在线播放he |