毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.scb-ycwb.com/bbs/index.asp)
--  JAVA語(yǔ)言開(kāi)發(fā)  (http://www.scb-ycwb.com/bbs/list.asp?boardid=64)
----  新技術(shù)倍出 誰(shuí)最可能挑戰(zhàn)Java開(kāi)發(fā)優(yōu)勢(shì)  (http://www.scb-ycwb.com/bbs/dispbbs.asp?boardid=64&id=2452)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-12-11 9:13:58
--  新技術(shù)倍出 誰(shuí)最可能挑戰(zhàn)Java開(kāi)發(fā)優(yōu)勢(shì)

?Bruce Tate有令人驚奇的預(yù)見(jiàn)成功技術(shù)的記錄。他是早期開(kāi)發(fā)者中能預(yù)見(jiàn)Spring框架出現(xiàn)的一位;他在EJB3專家組放棄老的方法一年前的時(shí)候就預(yù)見(jiàn)了EJB2技術(shù)的消亡。在他的新書(shū)《Beyond Java》中,Bruce關(guān)注了語(yǔ)言和技術(shù),這些將來(lái)有可能會(huì)在一些開(kāi)發(fā)領(lǐng)域?qū)ava的優(yōu)勢(shì)發(fā)出挑戰(zhàn)。在這篇文章中,Bruce提及了四種新出現(xiàn)的重要技術(shù)。
  
Java是一種杰出的產(chǎn)業(yè)開(kāi)發(fā)語(yǔ)言,這是因?yàn)樗鼛?lái)了偉大的統(tǒng)一和對(duì)事實(shí)上以前并不存在的重要標(biāo)準(zhǔn)的關(guān)注。但是和所有語(yǔ)言一樣,Java將來(lái)也會(huì)褪色。依據(jù)我做的超越Java的研究,一個(gè)重復(fù)出現(xiàn)的主題是有越來(lái)越多的人相信Java已不再足夠的有效率。以下一組技術(shù)可以使你更有效率。他們不是對(duì)所有的工程都適合,但當(dāng)被應(yīng)用于適合的工程時(shí),他們是優(yōu)秀的工具。
  
  1.動(dòng)態(tài)語(yǔ)言
  
  動(dòng)態(tài)語(yǔ)言可以比像C++或Java這樣的靜態(tài)語(yǔ)言更加有效率。他們可以讓你用更少的語(yǔ)言表達(dá)更多的意思。這里,我會(huì)關(guān)注現(xiàn)在新出現(xiàn)最流行的動(dòng)態(tài)語(yǔ)言Ruby。用Ruby的"Hello, World"和Java的作一個(gè)比較:
  puts "Hello, world."
  
  這顯然既簡(jiǎn)單又明了。你不需要寫(xiě)一些其他的代碼去做這件事。下面是用Java語(yǔ)言的描述:
  
  class HelloWorld { public static void main(String[] args) {  System.out.println("Hello World!") }}
  
  在Java中,類型是靜態(tài)的。這就代表了編譯器要檢查所有的類型;你必須建立和編譯一個(gè)完整的程序。在Ruby中,類型是動(dòng)態(tài)的,所以你不需要去聲明他們,你可以馬上編寫(xiě)和運(yùn)行他們。下面是用兩種語(yǔ)言描述的Fibonacci 序列:
  
  First, Ruby:x1, x2 = 0, 1          //110.times do puts x2  x1, x2 = x2, x1+x2     //4end
  
  注意到在第一、四行同時(shí)聲明兩個(gè)變量,讓你可以簡(jiǎn)潔地表達(dá)兩種不同的聲明形式。
  
  另外,注意到10是一個(gè)對(duì)象,它支持方法,如:times。再另外,在do和end之間是一個(gè)代碼塊。
  
  Ruby代碼塊可以讓你把代碼塊傳入方法。。這種技術(shù)導(dǎo)致了難以置信的效率和簡(jiǎn)潔的代碼。
  
  接下來(lái),看一看用Java實(shí)現(xiàn)的代碼:
  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;
     }
    }
  }
  
  你需要去聲明所有的變量,以及詳細(xì)地寫(xiě)出來(lái)你用for循環(huán)實(shí)現(xiàn)的迭代。每個(gè)變量都是獨(dú)立的,所以你必須有一個(gè)臨時(shí)變量用于存放total。
  相比,動(dòng)態(tài)語(yǔ)言更為簡(jiǎn)潔。按照一個(gè)普通的規(guī)則,如果你可以寫(xiě)更少的代碼而不犧牲可讀性,這些代碼將導(dǎo)致更高的效率。(但是你不可以犧牲可讀性來(lái)達(dá)到這一步,我們可以以Perl舉例作為結(jié)尾。)更為重要的是,動(dòng)態(tài)語(yǔ)言在Java開(kāi)發(fā)者想要去解決的重要問(wèn)題上表現(xiàn)得更好,如: 元編程。 Hibernate 使用元編程技術(shù)使對(duì)象持久化。
  Spring使用元編程來(lái)為Java對(duì)象增加服務(wù),而免除你為他們構(gòu)建額外支持的煩惱。在Rails框架上,當(dāng)紅的Ruby利用了自己能力來(lái)構(gòu)建某種已存的最有效率的應(yīng)用開(kāi)發(fā)框架。
  令人驚訝的是,許多Java開(kāi)發(fā)者采用了Ruby。Ant和Tomcat的發(fā)明者James Duncan Davidson正在Rails上使用Ruby,以及Java的暢銷(xiāo)書(shū)作者之一,JSP專家組的成員David Geary正在寫(xiě)一本關(guān)于Rails上的Rub的書(shū)y。許多在Java社區(qū)里有著聰明思想的人都轉(zhuǎn)向使用像Ruby一樣的動(dòng)態(tài)語(yǔ)言。這是因?yàn)檫@種新出現(xiàn)的語(yǔ)言能更好的解決最有興趣的問(wèn)題。動(dòng)態(tài)語(yǔ)言將不會(huì)完全取代Java,但是他們會(huì)適合于解決小的,輕量級(jí)的問(wèn)題。?

  2.Continuation 服務(wù)
  Web編程絕對(duì)是個(gè)災(zāi)難。在Java誕生十年后,我們?nèi)耘f不能構(gòu)建一個(gè)使返回按鈕正確的框架。Web應(yīng)用是無(wú)國(guó)界的,所以Web應(yīng)用會(huì)發(fā)展得更好。但是很難去構(gòu)建無(wú)國(guó)界的應(yīng)用,而我們現(xiàn)有的框架不能給與我們足夠的幫助。你使用大多數(shù)Java的Web框架時(shí),從根本上說(shuō),你構(gòu)建了許多不相關(guān)的使用servlets或JSP技術(shù)的應(yīng)用。然后通過(guò)手工保存對(duì)象來(lái)把他們集成起來(lái),這些對(duì)象就是你需要的,用來(lái)暫時(shí)存儲(chǔ)對(duì)象的會(huì)話。
  Continuation是語(yǔ)言的構(gòu)造器,它可以使你快速存儲(chǔ)某個(gè)線程的狀態(tài),過(guò)后執(zhí)行這個(gè)線程。基于 Continuation的web框架總體上是通過(guò)模擬一個(gè)監(jiān)控狀態(tài)的應(yīng)用來(lái)使web開(kāi)發(fā)變得更為容易。當(dāng)你的應(yīng)用需要從用戶那取得數(shù)據(jù)時(shí),這種框架使用continuation來(lái)自動(dòng)保存應(yīng)用程序的狀態(tài)。如果用戶按下返回按鈕或者通過(guò)瀏覽器的歷史紀(jì)錄回到以前的頁(yè)面,應(yīng)用程序可以重新讀取一個(gè)continuation。
  基于continuation最好的框架是用動(dòng)態(tài)語(yǔ)言來(lái)開(kāi)發(fā)的。到目前為止,最健壯的框架是Seaside。他是基于一種Smalltalk的Squeak語(yǔ)言的框架。Seaside支持很好的調(diào)試功能,你可以實(shí)時(shí)檢查、調(diào)試以及在瀏覽器里改動(dòng)你的代碼。Borges、Iowa和Wee都是基于Ruby且支持continuation的框架。
  Java不支持continuations,但是一些在特殊限制下構(gòu)造的Java框架支持模擬continuations。這些框架具有用其他語(yǔ)言編寫(xiě)的continuations框架的某些特征。
  ·流行的框架是用了一些高級(jí)的技術(shù),如:字節(jié)碼增強(qiáng)、反射以及特殊類的裝載器。這些技術(shù)用Java部分地實(shí)現(xiàn)了continuations。
  ·Cocoon 2在Rhino JavaScript 虛擬機(jī)中增加了continuations,用來(lái)模擬監(jiān)控狀態(tài)的應(yīng)用。
  ·Spring Webflow使用了狀態(tài)機(jī)來(lái)提供對(duì)返回按鈕良好的支持,以及其他一些continuation服務(wù)的特征。
  ·Lakeshore使用了懸掛的線程來(lái)模擬continuations。這種方法不像其他方法一樣有可擴(kuò)展性,同時(shí)還缺乏對(duì)返回按鈕完整的支持,但是這些預(yù)計(jì)在將來(lái)都會(huì)具有。
  每個(gè)月都會(huì)有新的框架出現(xiàn)。我認(rèn)為在未來(lái)的三年內(nèi),我們都會(huì)使用支持基于continuations的方法的web開(kāi)發(fā)框架,這種框架是由一種語(yǔ)言或者其他語(yǔ)言編寫(xiě)的。

  3.慣例超越配置
  Java開(kāi)發(fā)者經(jīng)常探索用于改進(jìn)配置的方法。新的框架越來(lái)越多的使用Java 5批注來(lái)進(jìn)行配置。其他的框架是用一種不同的方法。Rails中的Ruby常用慣例來(lái)推斷需要在其他框架進(jìn)行配置的聯(lián)系。例如:在結(jié)束的時(shí)候,一個(gè)叫BlogController且有一個(gè)show方法的Rails控制器,會(huì)自動(dòng)在blog_controller目錄里提交一個(gè)叫show.rhtml的視圖。Rails還使用命名慣例來(lái)綁定數(shù)據(jù)庫(kù)表里持久化的類。默認(rèn)情況下,Perosn類會(huì)與用英語(yǔ)的復(fù)數(shù)people與表進(jìn)行匹配。新的框架將會(huì)支持慣例,而不是配置。

  4.元編程
  就像前面提到的一樣,在Rails編程框架上的Ruby里,存在著許多hype的。我認(rèn)為這種hype是正確的。在Rails上的Ruby讓你比起java,可以在一個(gè)更抽象的層次上編寫(xiě)你的程序。有了Rails上的Ruby,你可以創(chuàng)建域?qū)ο螅@種對(duì)象可以發(fā)現(xiàn)相關(guān)聯(lián)的數(shù)據(jù)庫(kù)表的內(nèi)容。例如:你可以寫(xiě)這樣簡(jiǎn)單的模型對(duì)象:
  class Person < ActiveRecord::Baseend
  這種類表面看起來(lái)相當(dāng)?shù)氖芟拗啤5且坏┠銏?zhí)行它,Rails就會(huì)展現(xiàn)它的神奇。這種實(shí)現(xiàn)了持久化Rails的活動(dòng)紀(jì)錄框架與相關(guān)的數(shù)據(jù)庫(kù)關(guān)聯(lián),以及為了表定義掃描系統(tǒng)表,還發(fā)現(xiàn)數(shù)據(jù)庫(kù)里列項(xiàng)。然后,活動(dòng)記錄為數(shù)據(jù)庫(kù)中的每一列增加一個(gè)屬性,為數(shù)據(jù)庫(kù)中id列名在類中增加一個(gè)獨(dú)一無(wú)二的標(biāo)示符。你可以用下面的類去編寫(xiě)代碼:
?????? ?person=Person.newperson.name=\'Bruce Tate\'person.email=\'bruce.tate@j2life.nospam.com\'person.save
  數(shù)據(jù)庫(kù)的列名和行為都會(huì)在運(yùn)行時(shí)后加入Person類。你可以很容易的擴(kuò)展Person類:
  class Person < ActiveRecord::Base has_many :carsend
  通過(guò)Ruby中一個(gè)belongs_to的簡(jiǎn)單方法和:department標(biāo)示符,我實(shí)現(xiàn)了所有我想做的。活動(dòng)記錄隱式調(diào)用了Ruby的元編程來(lái)添加了所有的方法和變量,這些方法和變量用來(lái)管理一個(gè)任何一個(gè)部門(mén)之間的一對(duì)多關(guān)系。Rails用戶使用域語(yǔ)言來(lái)管理像繼承這樣的關(guān)系,另外可以用Ruby語(yǔ)言在一個(gè)更抽象的層次上工作。Rails無(wú)縫擴(kuò)展了Ruby語(yǔ)言。
 

 Rails會(huì)不會(huì)是下一代偉大的框架?有可能。要做一個(gè)選擇的話,Rails應(yīng)該會(huì)是在使用Ruby或是其他動(dòng)態(tài)編程語(yǔ)言的元編程框架潮流中的第一個(gè)。或者,你可能看到Rails會(huì)作為某些松散對(duì)齊技術(shù)的中樞,它是以元編程作為基礎(chǔ)的。在任何情況下,你都會(huì)更有效率。


毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精
偷窥少妇高潮呻吟av久久免费| 91精品国产综合久久婷婷香蕉| 欧美xxxxx牲另类人与| 国产精品18久久久久| 午夜精品在线看| 亚洲欧美色图小说| 国产精品全国免费观看高清 | 成人av网站在线| 国产在线播放一区二区三区| 日本欧美一区二区| 日本中文字幕一区二区有限公司| 亚洲一区二区三区四区五区中文| 亚洲欧美乱综合| 日韩毛片视频在线看| 国产精品美女久久久久av爽李琼| 欧美精品一区二区三区一线天视频| 91精品麻豆日日躁夜夜躁| 欧美日韩在线播放三区四区| 99久久精品免费看国产| 国产乱码精品一区二区三区av| 久久丁香综合五月国产三级网站 | 中文字幕五月欧美| 国产日产精品1区| 久久婷婷成人综合色| 精品国产一区二区三区av性色| 欧美挠脚心视频网站| 欧美男男青年gay1069videost| 在线观看一区二区精品视频| 欧美性受xxxx黑人xyx| 91官网在线免费观看| 欧美少妇xxx| 制服丝袜av成人在线看| 欧美白人最猛性xxxxx69交| 欧美大胆一级视频| 国产视频在线观看一区二区三区| 日本一区二区久久| 亚洲国产精品激情在线观看| 中文字幕欧美一区| 亚洲激情图片qvod| 欧美96一区二区免费视频| 精品亚洲免费视频| 成人av午夜影院| 日本道精品一区二区三区| 欧美人与z0zoxxxx视频| 久久久.com| 亚洲精品伦理在线| 午夜成人在线视频| 国产91丝袜在线18| 欧美日韩午夜在线| 久久久不卡网国产精品一区| 亚洲精品乱码久久久久久黑人| 免费在线一区观看| 99久久精品免费看| 91精品国产欧美一区二区| 日韩精品在线网站| 亚洲人成精品久久久久久 | 亚洲激情第一区| 免费成人深夜小野草| 成人深夜在线观看| 3atv在线一区二区三区| 国产精品第四页| 久久精品国产亚洲aⅴ| 色婷婷久久综合| 久久嫩草精品久久久精品| 亚洲综合色自拍一区| 国产成人精品一区二| 欧美欧美午夜aⅴ在线观看| 国产欧美久久久精品影院| 亚洲一二三四在线观看| 东方欧美亚洲色图在线| 日韩欧美视频一区| 亚洲乱码国产乱码精品精小说 | 成人爱爱电影网址| 欧美一级一区二区| 成人欧美一区二区三区| 国产精品一二三区在线| 欧美肥妇free| 亚洲一区二三区| av不卡一区二区三区| 久久久亚洲欧洲日产国码αv| 日韩中文字幕91| 欧洲在线/亚洲| 亚洲另类色综合网站| 成人黄色777网| 久久综合九色欧美综合狠狠| 五月天丁香久久| 欧美日韩亚洲丝袜制服| 一区二区三区四区不卡视频| 不卡区在线中文字幕| 中文字幕欧美区| 国产曰批免费观看久久久| 日韩欧美一区二区久久婷婷| 香港成人在线视频| 在线观看亚洲精品| 亚洲精品国产品国语在线app| 成人毛片在线观看| 国产精品久久久久久一区二区三区| 国产成人在线视频网站| 国产三级一区二区三区| 国产福利91精品一区二区三区| 2023国产一二三区日本精品2022| 美女视频一区在线观看| 欧美不卡一区二区三区四区| 老司机一区二区| 欧美一区永久视频免费观看| 麻豆精品久久久| 久久久久久日产精品| 国产精品一区二区久激情瑜伽| 久久综合久久综合久久综合| 国产剧情一区在线| 国产欧美日韩三级| 99久久精品国产网站| 亚洲精品成人天堂一二三| 欧美日本在线观看| 美女网站色91| 欧美国产禁国产网站cc| 99国产精品国产精品毛片| 亚洲国产视频在线| 欧美一区二区三区在线| 国产一区在线看| 亚洲欧洲日韩在线| 在线亚洲高清视频| 久久精品久久99精品久久| 国产精品视频第一区| 一本大道久久a久久综合| 图片区小说区国产精品视频| 精品久久久久久久久久久久包黑料 | 亚洲精选免费视频| 欧美日韩在线播放一区| 国产一区视频导航| 亚洲精品大片www| 欧美一区二区三区爱爱| 国产福利91精品一区二区三区| 亚洲男人的天堂一区二区| 777午夜精品免费视频| 国产成人综合网站| 亚洲成人激情av| 国产亚洲成av人在线观看导航| 91麻豆国产福利在线观看| 精品综合久久久久久8888| 《视频一区视频二区| 日韩视频一区二区在线观看| 91片黄在线观看| 国内一区二区在线| 亚洲电影一区二区三区| 久久久久久久久蜜桃| 欧美日韩小视频| 波多野结衣91| 久久国产日韩欧美精品| 亚洲欧美日本韩国| 欧美va亚洲va在线观看蝴蝶网| 在线亚洲免费视频| 成人激情校园春色| 极品美女销魂一区二区三区| 亚洲一区二区三区美女| 中文字幕二三区不卡| 日韩一区二区三区视频在线观看| 97aⅴ精品视频一二三区| 国产河南妇女毛片精品久久久| 婷婷丁香久久五月婷婷| 亚洲人精品一区| 欧美国产精品一区二区三区| 91麻豆精品国产91久久久久久| 不卡一区二区三区四区| 国产一区二区三区久久久| 日韩精品免费专区| 一区二区三区四区亚洲| 日韩码欧中文字| 中文字幕在线一区| 欧美经典一区二区| 日韩亚洲欧美成人一区| 欧美性受xxxx| 在线亚洲免费视频| 91精彩视频在线观看| 91丨porny丨国产入口| 成人免费看黄yyy456| 成人丝袜高跟foot| 成人白浆超碰人人人人| 99久久精品情趣| 色素色在线综合| 色老头久久综合| 欧美午夜宅男影院| 欧美日韩高清在线| 91精品午夜视频| 日韩欧美高清在线| 精品国产一二三区| 国产网站一区二区| 国产精品美女一区二区| 亚洲图片激情小说| 亚洲在线视频一区| 视频一区欧美精品| 麻豆国产欧美一区二区三区| 久久激情五月激情| 福利一区二区在线| 91麻豆自制传媒国产之光| 在线观看国产日韩| 欧美一区二区三区在线观看视频| 日韩一级成人av| 国产精品妹子av| 亚洲va韩国va欧美va|