<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java-Android-jwebee
    Java-Android-jwebee
    對IT人來說,要成為一個優秀的技術型管理者,除了需要具備扎實的技術基礎之外,還應該培養良好的人際關系能力、談判與溝通技能、客戶關系與咨詢技能、商業頭腦和財務技能以及創新意識,此外還要有巧妙的激勵技巧和化解沖突與解決突發問題的能力.
    作者: DenialSu ,  出處:賽迪網, 責任編輯: 包春林, 
    2008-04-03 04:00
    Java是一種杰出的產業開發語言,這是因為它帶來了偉大的統一和對事實上以前并不存在的重要標準的關注。但是和所有語言一樣,Java將來也會褪色。依據我做的超越Java的研究,一個重復出現的主題是有越來越多的人相信Java已不再足夠的有效率。以下一組技術可以使你更有效率。他們不是對所有的工程都適合,但當被應用于適合的工程時,他們是優秀的工具。

      1.動態語言

      動態語言可以比像C++或Java這樣的靜態語言更加有效率。他們可以讓你用更少的語言表達更多的意思。這里,我會關注現在新出現最流行的動態語言Ruby。用Ruby的"Hello, World"和Java的作一個比較:

      puts "Hello, world."

      這顯然既簡單又明了。你不需要寫一些其他的代碼去做這件事。下面是用Java語言的描述:

      class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!") }}

      在Java中,類型是靜態的。這就代表了編譯器要檢查所有的類型;你必須建立和編譯一個完整的程序。在Ruby中,類型是動態的,所以你不需要去聲明他們,你可以馬上編寫和運行他們。下面是用兩種語言描述的Fibonacci 序列:

      First, Ruby:x1, x2 = 0, 1 //110.times do puts x2 x1, x2 = x2, x1+x2 //4end

      注意到在第一、四行同時聲明兩個變量,讓你可以簡潔地表達兩種不同的聲明形式。

      另外,注意到10是一個對象,它支持方法,如:times。再另外,在do和end之間是一個代碼塊。

      Ruby代碼塊可以讓你把代碼塊傳入方法。。這種技術導致了難以置信的效率和簡潔的代碼。

      接下來,看一看用Java實現的代碼:

      class Fib { public static void main (String args[]) { int x1 = 0; int x2 = 1; int total = 1; for (int i=0; i<10; i++) { System.out.println(total); total = x1+x2; x1 = x2; x2 = total; } }}

      你需要去聲明所有的變量,以及詳細地寫出來你用for循環實現的迭代。每個變量都是獨立的,所以你必須有一個臨時變量用于存放total。

      相比,動態語言更為簡潔。按照一個普通的規則,如果你可以寫更少的代碼而不犧牲可讀性,這些代碼將導致更高的效率。

      (但是你不可以犧牲可讀性來達到這一步,我們可以以Perl舉例作為結尾。)

      更為重要的是,動態語言在Java開發者想要去解決的重要問題上表現得更好,如: 元編程。 Hibernate 使用元編程技術使對象持久化。

      Spring使用元編程來為Java對象增加服務,而免除你為他們構建額外支持的煩惱。在Rails框架上,當紅的Ruby利用了自己能力來構建某種已存的

      最有效率的應用開發框架。

      令人驚訝的是,許多Java開發者采用了Ruby。Ant和Tomcat的發明者James Duncan Davidson正在Rails上使用Ruby,以及Java的暢銷書作者之一,JSP專家組的

      成員David Geary正在寫一本關于Rails上的Rub的書y。許多在Java社區里有著聰明思想的人都轉向使用像Ruby一樣的動態語言。這是因為這種新出現的語言能更好的解決最有興趣的問題。動態語言將不會完全取代Java,但是他們會適合于解決小的,輕量級的問題。

     2。Continuation 服務

      Web編程絕對是個的災難。在Java誕生十年后,我們仍舊不能構建一個使返回按鈕正確的框架。Web應用是無國界的,所以Web應用會發展得更好。但是很難去構建無國界的應用,而我們現有的框架不能給與我們足夠的幫助。你使用大多數Java的Web框架時,從根本上說,你構建了許多

      不相關的使用servlets或JSP技術的應用。然后通過手工保存對象來把他們集成起來,這些對象就是你需要的,用來暫時存儲對象的會話。

      Continuation是語言的構造器,它可以使你快速存儲某個線程的狀態,過后執行這個線程?;?Continuation的web框架總體上是通過模擬一個監控狀態的應用來使web開發變得更為容易。當你的應用需要從用戶那取得數據時,這種框架使用continuation來自動保存應用程序的狀態。如果用戶按下返回按鈕或者通過瀏覽器的歷史紀錄回到以前的頁面,應用程序可以重新讀取一個continuation。

      基于continuation最好的框架是用動態語言來開發的。到目前為止,最健壯的框架是Seaside。他是基于一種Smalltalk的Squeak語言的框架。Seaside支持很好的調試功能,你可以實時檢查、調試以及在瀏覽器里改動你的代碼。Borges、Iowa和Wee都是基于Ruby且支持continuation的框架。

      Java不支持continuations,但是一些在特殊限制下構造的Java框架支持模擬continuations。這些框架具有用其他語言編寫的continuations框架的某些特征。

      。流行的框架是用了一些高級的技術,如:字節碼增強、反射以及特殊類的裝載器。這些技術用Java部分地實現了continuations。

      。Cocoon 2在Rhino JavaScript 虛擬機中增加了continuations,用來模擬監控狀態的應用。

      。Spring Webflow使用了狀態機來提供對返回按鈕良好的支持,以及其他一些continuation服務的特征。

      。Lakeshore使用了懸掛的線程來模擬continuations。這種方法不像其他方法一樣有可擴展性,同時還缺乏對返回按鈕完整的支持,但是這些預計在將來

      都會具有。

      每個月都會有新的框架出現。我認為在未來的三年內,我們都會使用支持基于continuations的方法的web開發框架,這種框架是由一種語言或者其他語言

      編寫的。

      3.慣例超越配置

      Java開發者經常探索用于改進配置的方法。新的框架越來越多的使用Java 5批注來進行配置。其他的框架是用一種不同的方法。Rails中的Ruby常用慣例來推斷需要在其他框架進行配置的聯系。例如:在結束的時候,一個叫BlogController且有一個show方法的Rails控制器,會自動在blog_controller目錄里提交一個叫show.rhtml的視圖。Rails還使用命名慣例來綁定數據庫表里持久化的類。默認情況下,Perosn類會與用英語的復數people與表進行匹配。

      新的框架將會支持慣例,而不是配置。

      4.元編程

      就像前面提到的一樣,在Rails編程框架上的Ruby里,存在著許多hype的。我認為這種hype是正確的。在Rails上的Ruby讓你比起java,可以在一個更抽象的層次上編寫你的程序。有了Rails上的Ruby,你可以創建對象,這種對象可以發現相關聯的數據庫表的內容。例如:你可以寫這樣簡單的模型對象:

      class Person < ActiveRecord::Baseend

      這種類表面看起來相當的受限制。但是一旦你執行它,Rails就會展現它的神奇。這種實現了持久化Rails的活動紀錄框架與相關的數據庫關聯,以及為了表定義掃描系統表,還發現數據庫里列項。然后,活動記錄為數據庫中的每一列增加一個屬性,為數據庫中id列名在類中增加一個獨一無二的標示符。你可以用下面的類去編寫代碼:

      person=Person.newperson.name='Bruce Tate'person.email='bruce.tate@j2life.nospam.com'person.save

      數據庫的列名和行為都會在運行時后加入Person類。你可以很容易的擴展Person類:

      class Person < ActiveRecord::Base has_many :carsend

      通過Ruby中一個belongs_to的簡單方法和:department標示符,我實現了所有我想做的。活動記錄隱式調用了Ruby的元編程來添加了所有的方法和變量,這些方法和變量用來管理一個任何一個部門之間的一對多關系。Rails用戶使用域語言來管理像繼承這樣的關系,另外可以用Ruby語言在一個更抽象的層次上工作。Rails無縫擴展了Ruby語言。

      Rails會不會是下一代偉大的框架?有可能。要做一個選擇的話,Rails應該會是在使用Ruby或是其他動態編程語言的元編程框架潮流中的第一個。或者,你可能看到Rails會作為某些松散對齊技術的中樞,它是以元編程作為基礎的。在任何情況下,你都會更有效率。



    jwebee

    我的個人網站
    posted on 2008-04-03 20:12 周行 閱讀(401) 評論(0)  編輯  收藏 所屬分類: IT技術評論
    Java-Android-jwebee
    主站蜘蛛池模板: ww在线观视频免费观看w| 粉色视频免费入口| 精品国产麻豆免费人成网站| 午夜国产羞羞视频免费网站| 亚洲av永久无码天堂网| 最近中文字幕mv免费高清视频7| 亚洲中文久久精品无码1| 毛片a级毛片免费观看免下载| 亚洲一级毛片免费看| 97视频免费在线| 亚洲乱码一二三四区国产| 国产免费av片在线看| 亚洲影院天堂中文av色| 日产乱码一卡二卡三免费| 国产精品国产亚洲区艳妇糸列短篇 | 国内精品一级毛片免费看| 亚洲av永久无码精品古装片 | 美女露100%胸无遮挡免费观看| 日本不卡在线观看免费v| 性生大片视频免费观看一级| 亚洲综合色区在线观看| 国产成年无码久久久免费| 久久亚洲精品人成综合网| 国产精品69白浆在线观看免费| 亚洲日韩国产二区无码| 亚洲av区一区二区三| 花蝴蝶免费视频在线观看高清版| 亚洲AV日韩AV高潮无码专区| **aaaaa毛片免费| 亚洲综合小说另类图片动图| 免费一区二区三区四区五区| 久久最新免费视频| 亚洲一级二级三级不卡| 免费毛片在线播放| 插鸡网站在线播放免费观看| 亚洲成人黄色在线观看| 少妇亚洲免费精品| 91成人在线免费视频| 国产精品亚洲小说专区| 亚洲国产精品一区二区久久hs | 日本不卡视频免费|