久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇Linux專區(qū)Linux系統(tǒng)開發(fā) → 討論有可能挑戰(zhàn)Java開發(fā)優(yōu)勢的四種技術(shù)


  共有7402人關(guān)注過本帖樹形打印

主題:討論有可能挑戰(zhàn)Java開發(fā)優(yōu)勢的四種技術(shù)

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
討論有可能挑戰(zhàn)Java開發(fā)優(yōu)勢的四種技術(shù)  發(fā)帖心情 Post By:2010-11-25 9:22:02

Java是一種杰出的產(chǎn)業(yè)開發(fā)語言,這是因為它帶來了偉大的統(tǒng)一和對事實上以前并不存在的重要標準的關(guān)注。但是和所有語言一樣,Java將來也會褪色。依據(jù)我做的超越Java的研究,一個重復(fù)出現(xiàn)的主題是有越來越多的人相信Java已不再足夠的有效率。以下一組技術(shù)可以使你更有效率。他們不是對所有的工程都適合,但當(dāng)被應(yīng)用于適合的工程時,他們是優(yōu)秀的工具。


1.動態(tài)語言

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

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

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

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

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

注意到在第一、四行同時聲明兩個變量,讓你可以簡潔地表達兩種不同的聲明形式。
另外,注意到10是一個對象,它支持方法,如:times。再另外,在do和end之間是一個代碼塊。
Ruby代碼塊可以讓你把代碼塊傳入方法。。這種技術(shù)導(dǎo)致了難以置信的效率和簡潔的代碼。

接下來,看一看用Java實現(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;  }  }}

你需要去聲明所有的變量,以及詳細地寫出來你用for循環(huán)實現(xiàn)的迭代。每個變量都是獨立的,所以你必須有一個臨時變量用于存放total。
相比,動態(tài)語言更為簡潔。按照一個普通的規(guī)則,如果你可以寫更少的代碼而不犧牲可讀性,這些代碼將導(dǎo)致更高的效率。
(但是你不可以犧牲可讀性來達到這一步,我們可以以Perl舉例作為結(jié)尾。)

更為重要的是,動態(tài)語言在Java開發(fā)者想要去解決的重要問題上表現(xiàn)得更好,如: 元編程。 Hibernate 使用元編程技術(shù)使對象持久化。

Spring使用元編程來為Java對象增加服務(wù),而免除你為他們構(gòu)建額外支持的煩惱。在Rails框架上,當(dāng)紅的Ruby利用了自己能力來構(gòu)建某種已存的
最有效率的應(yīng)用開發(fā)框架。

令人驚訝的是,許多Java開發(fā)者采用了Ruby。Ant和Tomcat的發(fā)明者James Duncan Davidson正在Rails上使用Ruby,以及Java的暢銷書作者之一,JSP專家組的
成員David Geary正在寫一本關(guān)于Rails上的Rub的書y。許多在Java社區(qū)里有著聰明思想的人都轉(zhuǎn)向使用像Ruby一樣的動態(tài)語言。這是因為這種新出現(xiàn)的語言能更好的解決最有興趣的問題。動態(tài)語言將不會完全取代Java,但是他們會適合于解決小的,輕量級的問題。


2。Continuation 服務(wù)

Web編程絕對是個的災(zāi)難。在Java誕生十年后,我們?nèi)耘f不能構(gòu)建一個使返回按鈕正確的框架。Web應(yīng)用是無國界的,所以Web應(yīng)用會發(fā)展得更好。但是很難去構(gòu)建無國界的應(yīng)用,而我們現(xiàn)有的框架不能給與我們足夠的幫助。你使用大多數(shù)Java的Web框架時,從根本上說,你構(gòu)建了許多
不相關(guān)的使用servlets或JSP技術(shù)的應(yīng)用。然后通過手工保存對象來把他們集成起來,這些對象就是你需要的,用來暫時存儲對象的會話。


Continuation是語言的構(gòu)造器,它可以使你快速存儲某個線程的狀態(tài),過后執(zhí)行這個線程。基于 Continuation的web框架總體上是通過模擬一個監(jiān)控狀態(tài)的應(yīng)用來使web開發(fā)變得更為容易。當(dāng)你的應(yīng)用需要從用戶那取得數(shù)據(jù)時,這種框架使用continuation來自動保存應(yīng)用程序的狀態(tài)。如果用戶按下返回按鈕或者通過瀏覽器的歷史紀錄回到以前的頁面,應(yīng)用程序可以重新讀取一個continuation。

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

Java不支持continuations,但是一些在特殊限制下構(gòu)造的Java框架支持模擬continuations。這些框架具有用其他語言編寫的continuations框架的某些特征。
。流行的框架是用了一些高級的技術(shù),如:字節(jié)碼增強、反射以及特殊類的裝載器。這些技術(shù)用Java部分地實現(xiàn)了continuations。
。Cocoon 2在Rhino JavaScript 虛擬機中增加了continuations,用來模擬監(jiān)控狀態(tài)的應(yīng)用。
。Spring Webflow使用了狀態(tài)機來提供對返回按鈕良好的支持,以及其他一些continuation服務(wù)的特征。
。Lakeshore使用了懸掛的線程來模擬continuations。這種方法不像其他方法一樣有可擴展性,同時還缺乏對返回按鈕完整的支持,但是這些預(yù)計在將來
都會具有。

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

3.慣例超越配置

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


4.元編程

就像前面提到的一樣,在Rails編程框架上的Ruby里,存在著許多hype的。我認為這種hype是正確的。在Rails上的Ruby讓你比起java,可以在一個更抽象的層次上編寫你的程序。有了Rails上的Ruby,你可以創(chuàng)建域?qū)ο螅@種對象可以發(fā)現(xiàn)相關(guān)聯(lián)的數(shù)據(jù)庫表的內(nèi)容。例如:你可以寫這樣簡單的模型對象:

class Person < ActiveRecord::Baseend

這種類表面看起來相當(dāng)?shù)氖芟拗啤5且坏┠銏?zhí)行它,Rails就會展現(xiàn)它的神奇。這種實現(xiàn)了持久化Rails的活動紀錄框架與相關(guān)的數(shù)據(jù)庫關(guān)聯(lián),以及為了表定義掃描系統(tǒng)表,還發(fā)現(xiàn)數(shù)據(jù)庫里列項。然后,活動記錄為數(shù)據(jù)庫中的每一列增加一個屬性,為數(shù)據(jù)庫中id列名在類中增加一個獨一無二的標示符。你可以用下面的類去編寫代碼:

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

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

class Person < ActiveRecord::Base has_many :carsend

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

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

總結(jié)

在《超越Java》這本書中,我表達了Java還不會淘汰意思,但是在最近的十年,我們目睹了在Java領(lǐng)域之外引人注目的創(chuàng)新。這四種技術(shù)會在不遠的將來起到重要的作用。請密切關(guān)注他們。


支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

討論有可能挑戰(zhàn)Java開發(fā)優(yōu)勢的四種技術(shù)








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
亚洲欧美日韩精品在线| 国产一级二级三级精品| 亚洲aⅴ怡春院| 午夜伊人狠狠久久| 男人的天堂久久精品| 国产一区二区三区美女| 成人av午夜电影| 国内一区在线| 色综合久久中文综合久久97| 欧美日韩精品欧美日韩精品| 欧美日韩精品一区视频| 26uuu另类欧美亚洲曰本| 国产欧美综合色| 亚洲综合在线第一页| 久久福利视频一区二区| 91麻豆国产福利精品| 蜜桃欧美视频| 欧美日韩国产片| 欧美激情一区二区在线| 亚洲激情校园春色| 黄色日韩三级电影| 国产日韩一区欧美| 色综合色综合色综合| 日韩一本二本av| 亚洲男同性视频| 国产伦精品一区二区三区视频青涩| 成人精品水蜜桃| 色欧美88888久久久久久影院| 2021国产精品久久精品 | 国产精品欧美经典| 日韩二区三区在线观看| 51成人做爰www免费看网站| 天堂va久久久噜噜噜久久va| 精品日韩在线一区| 午夜婷婷国产麻豆精品| 18成人免费观看网站下载| 色综合一个色综合亚洲| 欧美国产精品一区| 精彩视频一区二区| 欧美一区二区三区精美影视| 欧美一区二区三区人| 午夜精品久久久久久久99水蜜桃| aaa欧美色吧激情视频| 亚洲一区影院| 国产精品黄色在线观看| 国产成人综合亚洲91猫咪| 亚洲欧美日韩在线综合| 亚洲国产精品ⅴa在线观看| 精品一区二区在线观看| 欧美日韩喷水| 欧美激情一区二区三区蜜桃视频| 久久99精品国产麻豆婷婷| 欧美成人dvd在线视频| 久久综合九色综合97婷婷女人| 日本特黄久久久高潮| 国产呦系列欧美呦日韩呦| 精品欧美久久久| 精品一区二区国语对白| 亚洲福利av| 亚洲欧洲三级电影| 51精品国产人成在线观看| 欧美一区二区在线视频| 日韩国产欧美在线视频| 欧美激情视频一区二区三区| 国产亚洲欧美色| av中文字幕一区| 91麻豆精品国产| 精一区二区三区| 色噜噜夜夜夜综合网| 亚洲综合一区二区| 欧美日韩一区二区三区免费| 国产蜜臀97一区二区三区| 国产69精品久久久久毛片| 91福利国产精品| 日韩精品国产欧美| 一本色道久久综合亚洲精品婷婷 | 1区2区3区欧美| 高清免费日韩| 国产婷婷色一区二区三区 | 国产乱国产乱300精品| 一区二区精品视频| 亚洲一区二区三区爽爽爽爽爽| 精品久久蜜桃| 亚洲欧美精品午睡沙发| 久久精品ww人人做人人爽| 中文字幕中文乱码欧美一区二区| 99久久精品久久久久久ai换脸| 久久新电视剧免费观看| k8久久久一区二区三区| 精品久久久久香蕉网| 国产69精品久久777的优势| 日韩一卡二卡三卡四卡| 成人免费毛片aaaaa**| 精品国产免费人成电影在线观看四季| 国产成人av一区二区| 91精品国产高清一区二区三区蜜臀 | 中文字幕欧美三区| 国产精品国产三级国产专区53| 中文字幕不卡一区| 久久精品二区| 亚洲国产va精品久久久不卡综合| 亚洲 国产 日韩 综合一区| 日韩高清不卡一区二区| 欧美日韩成人综合在线一区二区| 国产一区二区调教| 精品国精品国产| 国产一区不卡在线观看| 亚洲精品国产品国语在线app| 婷婷久久青草热一区二区| 男女激情视频一区| 制服视频三区第一页精品| 91在线你懂得| 亚洲免费观看在线视频| 中文字幕日韩一区二区三区| 国产在线视频精品一区| 久久久久国产精品麻豆ai换脸| 精品综合久久| 欧美aaaaa成人免费观看视频| 欧美一区二区在线播放| 国产精品免费视频一区二区| 亚洲一级二级在线| 欧美裸体一区二区三区| 99高清视频有精品视频| 亚洲国产精品嫩草影院| 欧美精品日韩一本| 国产 高清 精品 在线 a| 亚洲v精品v日韩v欧美v专区| 7777精品伊人久久久大香线蕉超级流畅| 91原创在线视频| 亚洲v精品v日韩v欧美v专区| 欧美一区二区观看视频| 精品一区久久久| 久久国产生活片100| 国产欧美视频一区二区| 色综合久久久久| 91亚洲精品一区二区乱码| 一区二区三区精密机械公司| 欧美久久久久久久久中文字幕| 国产视频精品网| 久久99久久久久| 国产精品国产三级国产aⅴ原创| 一本大道综合伊人精品热热| 99精品欧美一区二区三区小说 | 国产欧美一区二区精品久导航| 神马欧美一区二区| 成人视屏免费看| 亚洲成人动漫在线免费观看| www国产成人| 一本久久a久久免费精品不卡| 91色porny蝌蚪| 久久国产生活片100| 综合久久给合久久狠狠狠97色| 欧美精品第1页| 日韩欧美在线电影| 91九色在线免费视频| 久久精品国产精品亚洲精品| 国产精品久久久久久久久免费相片| 欧美伊人精品成人久久综合97| 国严精品久久久久久亚洲影视| 国产精品一区在线观看你懂的| 一区二区三区高清在线| 精品国产制服丝袜高跟| 日本二三区不卡| 久久99精品国产99久久| 成人毛片在线观看| 麻豆精品国产传媒mv男同| 亚洲三级久久久| 2021中文字幕一区亚洲| 欧美日韩国产美| 伊人狠狠色丁香综合尤物| 国产日韩欧美精品| 91香蕉国产在线观看软件| 国产在线不卡视频| 蜜桃精品视频在线观看| 亚洲一级二级三级| 国产精品乱码妇女bbbb| 日韩一二三四区| 欧美美女一区二区三区| 中文字幕欧美人与畜| 日本不卡一二三区| 国产乱人伦精品一区二区| av不卡在线观看| 成人精品国产一区二区4080| 精品一区二区三区在线播放视频 | 日本一区二区三区在线不卡 | 欧美亚洲国产一区二区三区va | 玉米视频成人免费看| 久久精品亚洲麻豆av一区二区| 欧美精品18+| 欧美视频你懂的| 一本久久综合亚洲鲁鲁五月天| 天天久久人人| 日本一区免费| 蜜桃在线一区二区三区精品| 国产精品制服诱惑| 国产精品推荐精品| 精品久久久久久亚洲| 精品国产综合区久久久久久| 国产伦精品一区二区三区免费视频| 999视频在线免费观看|