国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

有可能挑戰Java優勢的四種技術

開發 后端
Java是一種杰出的產業開發語言,這是因為它帶來了偉大的統一和對事實上以前并不存在的重要標準的關注。但是和所有語言一樣,Java將來也會褪色。依據我做的超越Java的研究,一個重復出現的主題是有越來越多的人相信Java已不再足夠的有效率。以下一組技術可以使你更有效率。

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

1、動態語言

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

  1. puts "Hello, world." 

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

  1. class HelloWorld  
  2. {    
  3. public static void main(String[] args)   
  4. {     
  5. System.out.println("Hello World!")    
  6. }  

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

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

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

  1. class Fib   
  2. {    
  3. public static void main (String args[])   
  4. {     
  5. int x1 = 0;     
  6. int x2 = 1;     
  7. int total = 1;     
  8. for (int i=0; i<10; i++)   
  9. {      
  10. System.out.println(total);      
  11. total = x1+x2;      
  12. x1 = x2;      
  13. x2 = total;    
  14. }    
  15. }  

你需要去聲明所有的變量,以及詳細地寫出來你用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,你可以創建域對象,這種對象可以發現相關聯的數據庫表的內容。例如:你可以寫這樣簡單的模型對象:

  1. class Person < ActiveRecord::Baseend 

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

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

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

  1. class Person < ActiveRecord::Base   
  2. has_many :carsend 

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

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

總  結

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

原文鏈接:http://blog.csdn.net/hacke2/article/details/7282439

【編輯推薦】

  1. Java SE 6生命將在今年11月終結
  2. Java中線程安全問題個人理解
  3. Java中參數傳遞類型只有值傳遞
  4. Java堆內存的10個要點
  5. Play!在云端:Java PaaS平臺入門
責任編輯:林師授 來源: hacke2的博客
相關推薦

2016-09-27 10:51:43

2016-09-06 16:53:55

2022-07-04 12:07:57

智慧城市智能建筑物聯網

2015-05-08 12:24:10

惡意軟件逃避技術

2019-10-24 07:42:28

Java引用GC

2011-11-24 16:34:39

Java

2015-11-06 13:27:39

2020-11-24 14:06:55

網絡攻擊

2021-08-25 10:41:09

人工智能AI深度學習

2010-12-13 17:12:31

2011-09-21 17:56:07

2011-10-09 09:35:11

虛擬化hypervisor

2020-07-16 10:07:57

網絡安全漏洞技術

2019-01-29 18:29:26

區塊鏈區塊鏈技術網絡信任

2021-11-15 09:18:39

勒索軟件黑客數據備份

2022-08-14 16:04:15

機器學習數據集算法

2011-03-16 09:05:53

NATiptables

2012-09-11 09:55:26

編程HTML5編程能力

2017-07-06 15:40:19

DevOps核心能力

2022-02-07 09:24:18

自動化企業自動化技術
點贊
收藏

51CTO技術棧公眾號

国产69精品久久久久孕妇| 精品国产欧美日韩一区二区三区| 操欧美女人视频| 亚洲精品一区二区三区av| 中文字幕日韩欧美精品高清在线| 日本人体一区二区| 色综合久久综合| 麻豆91精品| av老司机在线观看| 亚洲三区在线观看| 日韩美女主播在线视频一区二区三区| 国产成人精品亚洲日本在线桃色| a视频免费看| 136fldh精品导航福利| 国产精品久久久久一区| 精品盗摄女厕tp美女嘘嘘| 精品视频在线观看一区| 免费观看中文字幕| 日本sm极度另类视频| 国产精品视频一二三区| 97久久中文字幕| youjizz.com在线观看| 97视频在线观看成人| 国产性色一区二区| 亚洲成人福利| 欧美人与性禽动交精品| 欧美日韩黄色一区二区| 欧美三级不卡| 黄色国产网站在线播放| 国产精品偷伦一区二区| 欧美成人免费全部| 亚洲摸摸操操av| 午夜激情一区| 国产精品美女午夜爽爽| 高清全集视频免费在线| 亚洲日本成人网| 亚洲视频碰碰| 国产真实伦在线观看| 久久视频精品在线| 蜜臀久久99精品久久久久宅男 | 欧美体内she精视频| 午夜精品福利影院| 国产精品免费观看久久| 亚洲天堂男人天堂女人天堂| 蜜桃视频第一区免费观看| 国产激情小视频在线| 豆国产97在线| 欧美午夜美女看片| 日本大胆欧美| 中文字幕第5页| 日本欧美在线视频| 国产精品久久久久久久浪潮网站 | 国产成人福利夜色影视| 正在播放久久| 亚洲大胆人体av| 青青草国产成人av片免费| 黄色网址视频在线观看| 欧美久久久久久久| 日韩一区二区三区电影在线观看| 亚洲久色影视| 91精选在线| 亚洲欧美99| 亚洲另类欧美自拍| 99精品国产一区二区三区不卡 | 91沈先生在线观看| 亚洲自拍欧美精品| 久久精品欧美一区| 成年人在线观看| 久久久久久久久久久久久久一区| 欧美色综合影院| 日本欧美一区二区三区乱码| 久草在线资源站资源站| 91黄色在线看| 欧美精品免费播放| 亚洲精品视频在线观看免费| 一区二区不卡| gogo高清午夜人体在线| 欧美精品久久久久久久久久久| 少妇久久久久久| 国产精品国产三级国产aⅴ原创| 精品国产欧美日韩| 99视频在线观看地址| 亚洲精美视频| 久久久久999| 亚洲国产日日夜夜| 亚洲欧美bt| 国模私拍国内精品国内av| 成视频年人免费看黄网站| 91手机在线视频| 欧美一区二区三区公司| 99视频超级精品| 日韩国产专区| 成人爽a毛片免费啪啪动漫| www.男人天堂网| 8x海外华人永久免费日韩内陆视频| 亚洲成av人片观看| 日韩影院在线观看| 日韩高清在线观看一区二区| 亚洲日本高清| 91嫩草国产丨精品入口麻豆| 91sa在线看| 制服丝袜亚洲精品中文字幕| 大尺度一区二区| 91麻豆精品国产91久久久平台| 牛牛电影国产一区二区| 成人xxx免费视频播放| 久久国产精品免费一区| 久久五月天综合| 欧美亚洲国产一区二区三区va| 成人av在线资源网站| 欧美一区91| 国产区一区二| 在线视频1区2区| 能在线观看的av| 精品欧美一区二区三区久久久| 久久精品视频导航| 欧洲色大大久久| 久久九九99视频| 国产日韩欧美一区在线 | 日韩av在线播放资源| 亚洲精品视频二区| 欧美日韩伊人| 91p九色成人| 亚洲成人影院在线观看| 免费人成自慰网站| 懂色一区二区三区av片| 久久这里有精品| 7777精品伊人久久久大香线蕉超级流畅 | 黄色资源在线看| japanese在线视频| 国产精品扒开腿做爽爽爽男男| 亚洲精品720p| 色先锋久久av资源部| 久久只精品国产| 日精品一区二区三区| 日韩综合一区| 日韩黄色碟片| av在线看片| 在线亚洲电影| 91最新在线观看| 四虎精品欧美一区二区免费| 成人黄动漫网站免费| 午夜精品一区二区三区在线播放| 亚洲成人激情在线| 91成人在线免费观看| 成人免费视频在线观看| 成人在线视频一区| 日韩午夜av在线| 日韩电影二区| 国产精品x8x8一区二区| 欧美片第一页| 国产原创精品视频| 污污网址在线观看| 成人www视频网站免费观看| 97干在线视频| 一区二区三区偷拍| 久久久久久久久久码影片| 国产精品美女主播| 国内揄拍国内精品少妇国语| 久久激情五月丁香伊人| 亚洲美女久久久| 日韩欧美电影一区| 在线精品视频一区二区三四| 亚洲黄色小视频| 中文字幕一区二区三区色视频| av电影天堂一区二区在线观看| 免费观看日韩电影| 久久久水蜜桃av免费网站| 一区二区三区国产精华| 成人av动漫在线观看| 亚州精品视频| 欧美日韩一本| 国产伦精品一区二区三区在线播放| 素人啪啪色综合| 欧美电影h版| 厕沟全景美女厕沟精品| 黄频免费在线观看| а√在线中文网新版地址在线| 在线播放蜜桃麻豆| 少女频道在线观看免费播放电视剧| av网站在线播放| 香蕉视频在线播放| 日本不卡不卡| 日本中文字幕视频在线| aⅴ在线视频男人的天堂| 午夜在线观看91| 六十路在线观看| 福利片在线观看| 91青青在线视频| www久久日com| av手机在线观看| 二吊插入一穴一区二区| 九九九伊在线综合永久| 亚洲一区导航| 精品自拍偷拍| 国产成人黄色| 亚洲影视一区二区三区| 99精品欧美| 久久er99精品| 99麻豆久久久国产精品免费优播|