偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Java 8整裝待發(fā) 圖謀云計(jì)算

原創(chuàng)
開(kāi)發(fā) 后端 新聞
紅帽公司的一名工程師認(rèn)為,Java需要模塊功能和多租戶功能,才能適用于云環(huán)境。那么未來(lái)要發(fā)布的Java 8似乎也在圖謀云計(jì)算了。

【51CTO外電頭條】鑒于Java 7 SE(標(biāo)準(zhǔn)版)現(xiàn)已正式發(fā)布,甲骨文和Java社區(qū)進(jìn)程組織(JCP)的成員們已開(kāi)始仔細(xì)考慮為這種編程語(yǔ)言的下一個(gè)版本Java SE 8添加什么功能特性。為這個(gè)新版本提上議程的工作是:設(shè)計(jì)面向云計(jì)算的Java。

Mark Little是紅帽公司中間件事業(yè)部的高級(jí)工程主管,也是紅帽針對(duì)JCP的主要聯(lián)絡(luò)官。他說(shuō):“Java 8旨在為云計(jì)算作好準(zhǔn)備,面向更廣泛的部署領(lǐng)域。”他強(qiáng)調(diào),為了不至于進(jìn)一步推遲版本的發(fā)布,甲骨文撤掉了原計(jì)劃為Java 7添加的許多高級(jí)功能特性。那些功能特性很有可能添加到Java 8中。

Little表示,結(jié)果將證明,那些功能特性中至少有兩項(xiàng)會(huì)非常有助于讓下一個(gè)版本的Java為云計(jì)算的大規(guī)模部署作好準(zhǔn)備。一項(xiàng)是多租戶功能,即Java虛擬機(jī)(JVM)安全地運(yùn)行多個(gè)應(yīng)用程序的功能。另一項(xiàng)是模塊功能,即把Java開(kāi)發(fā)工具包(JDK)重新組織成一套定義清晰但又相互關(guān)聯(lián)的模塊。

Little說(shuō):“如果Java想在云計(jì)算環(huán)境成為主導(dǎo)者,那么模塊功能和JVM里面真正的多租戶功能對(duì)Java 8來(lái)說(shuō)很重要。”

Little表示,模塊功能是紅帽最希望出現(xiàn)在Java 8中的一項(xiàng)特性。模塊功能將減小大多數(shù)Java部署環(huán)境的規(guī)模,因?yàn)椴皇撬械牟渴瓠h(huán)境都需要Java的全部核心庫(kù)。該功能還有望幫助開(kāi)發(fā)人員更容易與Java進(jìn)行交互,讓他們只要使用所需的部分,而不是設(shè)法應(yīng)對(duì)整個(gè)代碼庫(kù)。

模塊功能還有助于開(kāi)發(fā)人員解決Little所說(shuō)的“類裝入器難題”(classloader hell)這個(gè)問(wèn)題。

某個(gè)Java程序訪問(wèn)多個(gè)Java存檔(JAR)即常用例程的組合時(shí),開(kāi)發(fā)人員就會(huì)遇到類裝入器難題。應(yīng)用程序可能會(huì)使用來(lái)自某個(gè)JAR的一個(gè)類,它實(shí)際上需要該類駐留在另一個(gè)JAR中的不同版本?;蛘撸瑧?yīng)用程序可能在使用由另一個(gè)程序使用的JAR;一旦那另一個(gè)程序終止,JAR就被移除,導(dǎo)致第一個(gè)應(yīng)用程序停止運(yùn)行。

Little說(shuō):“為了讓模塊可以隨意換進(jìn)換出,又不破壞整個(gè)環(huán)境,就需要在JVM中同樣給予支持。”

Project Jigsaw這一項(xiàng)計(jì)劃就致力于實(shí)現(xiàn)這個(gè)目標(biāo)。Sun公司掌控Java(Sun在2010年被甲骨文收購(gòu))時(shí),這家公司的工程師青睞Jigsaw,而不是另一種方案:開(kāi)放服務(wù)網(wǎng)關(guān)計(jì)劃(OSGi),后者由OSGI組織監(jiān)管。

Little表示,Project Jigsaw原本為Java 7而生,不過(guò)它在2010年被暫停,目的是為了在2011年之前交付Java。不過(guò)Little預(yù)測(cè),來(lái)自Jigsaw或OSGi的工作成果都不會(huì)添加到Java 8中。他說(shuō):“Java SE 8中會(huì)存在一定的模塊功能。”

除了模塊功能外,Java 8可能還有多租戶功能,即通過(guò)一個(gè)JVM,安全地運(yùn)行多個(gè)應(yīng)用程序的功能。

這類功能對(duì)于Java應(yīng)用于云計(jì)算環(huán)境來(lái)說(shuō)必不可少;在云計(jì)算環(huán)境下,多個(gè)有關(guān)方共享同一個(gè)基礎(chǔ)設(shè)施。

不過(guò),如今Java EE(企業(yè)版)為解決這個(gè)問(wèn)題提供了一種變通方法。Little說(shuō):“如果JVM本身不提供多租戶功能,那么我們所能進(jìn)行的操作非常有限,以免整個(gè)環(huán)境可能因同一個(gè)JVM中的破壞性租戶而受到破壞。”

Little主張為JVM添加這項(xiàng)功能:為每個(gè)應(yīng)用程序提供各自的內(nèi)存空間,即分區(qū)(zone)。這樣一來(lái),“破壞性應(yīng)用程序就無(wú)法溢出,進(jìn)入到你為在同一個(gè)JVM中運(yùn)行的另一個(gè)應(yīng)用程序留出的內(nèi)存空間。”

推崇這個(gè)想法的不是只有Little一人。

弗雷斯特研究公司的分析師John Rymer也認(rèn)為:“為JVM添加多租戶功能很重要。如今,每家開(kāi)發(fā)商都必須各自想辦法來(lái)對(duì)應(yīng)用服務(wù)器進(jìn)行虛擬化。”

把多租戶功能添加到JVM中將減輕每一種獨(dú)特方案所帶來(lái)的培訓(xùn)壓力。這不但可以緩解被開(kāi)發(fā)商鎖定的現(xiàn)象,“還讓開(kāi)發(fā)商可以將更多的精力投入到確保穩(wěn)定性和性能上,而不是基本功能上,”Rymer如是說(shuō)。

許多人長(zhǎng)期以來(lái)支持添加到Java中的另一項(xiàng)功能是閉包(closure),即在一個(gè)函數(shù)里面建立另一個(gè)函數(shù),讓它們共享變量的功能。閉包將有助于跨多個(gè)處理器核心,更高效地運(yùn)行Java。

盡管甲骨文的首席Java架構(gòu)師一直滿懷熱情地要將閉包功能添加到Java中,但他并不認(rèn)為建議的實(shí)現(xiàn)技術(shù)已為Java 7作好了準(zhǔn)備。閉包功能要不要添加到Java 8中會(huì)開(kāi)始引發(fā)新的一場(chǎng)爭(zhēng)論。

如果添加閉包功能,Java將因而與已經(jīng)添加了這項(xiàng)功能的其他語(yǔ)言(如JavaScript和Scala)處于不相上下的水平。

Scala開(kāi)發(fā)者兼Scala工具開(kāi)發(fā)商Typesafe的聯(lián)合創(chuàng)始人Martin Odersky夸口說(shuō):“Java在閉包功能方面的工作似乎與我們已經(jīng)在Scala中擁有的閉包功能相類似,但存在更多的限制。”

除了技術(shù)本身外,許多人在密切關(guān)注甲骨文今后會(huì)如何監(jiān)管Java 8。

甲骨文還沒(méi)有為Java 8版本制定一份官方時(shí)間表,不過(guò)JCP組織的成員們似乎渴望避免為下一個(gè)版本再次等待漫長(zhǎng)的間隔期,已在非官方場(chǎng)合表態(tài)會(huì)在2012年年底之前發(fā)。Little說(shuō):“我們不想在Java 7和Java 8之間再等上個(gè)四五年。”

至于如何處理Java方面,甲骨文本身一直在遭到越來(lái)越嚴(yán)格的盤(pán)查。多方指出,甲骨文交付的Java 7存在已知的軟件缺陷。

Little說(shuō):“有時(shí)我認(rèn)為甲骨文說(shuō)的話模棱兩可。有時(shí),我訪談過(guò)的甲骨文人員確實(shí)想把事情做好,竭力避免像對(duì)待閉源項(xiàng)目那樣運(yùn)營(yíng)開(kāi)源項(xiàng)目。”

然而有時(shí),Little卻發(fā)現(xiàn)甲骨文的做法有悖于這些原則。他提到了2010年甲骨文在沒(méi)有征求意見(jiàn)的情況下,改變了維護(hù)開(kāi)源版JDK的OpenJDK項(xiàng)目的治理細(xì)則。結(jié)果,紅帽失去了其在指導(dǎo)委員會(huì)的席位,“盡管明擺著我們貢獻(xiàn)了那么多的代碼,”Little憤憤不平地說(shuō)。

Little說(shuō):“我們參與了好多個(gè)開(kāi)源項(xiàng)目。甲骨文的整個(gè)處理方法對(duì)我們來(lái)說(shuō)不是顯得非常符合開(kāi)源原則。”甲骨文拒絕就本文發(fā)表評(píng)論。

從許多方面來(lái)看,Java 8將真正檢驗(yàn)甲骨文管理一個(gè)復(fù)雜的開(kāi)源項(xiàng)目的水平如何,這是許多代碼貢獻(xiàn)者的利益彼此沖突的一個(gè)項(xiàng)目。

原文標(biāo)題:Java 8 gears up for the cloud

【編輯推薦】

  1. Java 7正式發(fā)布
  2. GlassFish游來(lái)新版本
  3. NetBeans新版發(fā)布,全面支持JDK 7
  4. 11款用于優(yōu)化、分析源代碼的Java工具
責(zé)任編輯:彭凡 來(lái)源: 51CTO
相關(guān)推薦

2009-03-19 15:43:05

Nehalem曙光

2012-04-10 09:22:07

云計(jì)算

2010-10-13 09:04:00

虛擬化云計(jì)算

2014-02-18 14:18:45

Windows 8.1

2009-03-16 09:30:36

思科刀片加利福尼亞

2014-06-30 14:12:09

XSSXSS漏洞前端防護(hù)

2023-05-15 11:44:39

2011-07-01 10:22:28

開(kāi)發(fā)者諾基亞

2012-06-08 08:59:19

LBS信息安全深度服務(wù)

2011-05-31 17:07:53

富士通筆記本

2015-08-05 11:55:23

2013-10-16 15:36:36

互聯(lián)網(wǎng)產(chǎn)品大會(huì)

2019-04-06 10:18:27

網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全技能大賽網(wǎng)絡(luò)安全大賽

2021-07-09 06:30:30

微軟Windows 11Windows

2009-05-05 09:01:21

SpringHyperic收購(gòu)

2010-08-16 10:07:20

2011-08-31 09:03:09

ScalaAndroid編程語(yǔ)言

2011-01-07 17:00:18

富士通Sparc64

2018-03-06 09:49:28

云計(jì)算PaaSIaaS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)