麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Java應(yīng)用性能的提升

2019-11-18 13:26:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  從Sun實(shí)驗(yàn)室中的GCspy、Ace、JFluid項(xiàng)目看
  沈捷
  
  從1995年James Gosling發(fā)明至今,java的發(fā)展早已逾越了一門單純計(jì)算機(jī)語(yǔ)言的范疇,成為了一個(gè)涵蓋范圍非常廣的平臺(tái)。在下面的篇幅里,筆者會(huì)就一些有趣的、帶有研究性質(zhì)的項(xiàng)目進(jìn)行介紹。
  Java應(yīng)用性能的提升


  Ace_1:NameTool的業(yè)務(wù)對(duì)象及邏輯
  
  在Sun的實(shí)驗(yàn)室里有一些有意思的項(xiàng)目在進(jìn)行著,比如GCspy。GCspy是一個(gè)使內(nèi)存治理工作可視化的框架(當(dāng)然它會(huì)包括一個(gè)實(shí)現(xiàn)了這個(gè)框架的工具)。我們可以用它動(dòng)態(tài)地考察系統(tǒng)的內(nèi)存分配、垃圾回收等行為。假如用戶需要,它甚至可以把追蹤下來(lái)的內(nèi)存治理行為進(jìn)行“回放”(replay)。為了把對(duì)被觀察系統(tǒng)的影響減至最低,GCspy采用client-server結(jié)構(gòu),以socket作為通信方式。在這種方式下,客戶端還可以靈活地決定何時(shí)跟服務(wù)器連接。在圖形客戶端上,我們可以以不同的視圖來(lái)觀察系統(tǒng)的內(nèi)存治理工作。除了動(dòng)態(tài)的觀察系統(tǒng)行為,GCspy還可以對(duì)指定的一段時(shí)間做出趨勢(shì)圖。這可以使我們對(duì)系統(tǒng)的內(nèi)存治理有一個(gè)整體的了解。適當(dāng)?shù)貞?yīng)用GCspy的這些功能,對(duì)我們調(diào)整GC參數(shù)會(huì)非常有啟發(fā)。
  
  其他還有一些處于研究階段的項(xiàng)目。首先看看Ace,通過(guò)這個(gè)名字,我們便可以感覺(jué)到這個(gè)項(xiàng)目的目標(biāo)——完成一個(gè)復(fù)雜的項(xiàng)目就像通過(guò)一記Ace球得分一樣簡(jiǎn)單。Ace的目的是為企業(yè)級(jí)應(yīng)用建立一種規(guī)格語(yǔ)言(Specification Language),以及與之相配套的編譯器。這種語(yǔ)言與架構(gòu)無(wú)關(guān),這使得精通業(yè)務(wù)的專家可以用它去描述應(yīng)用系統(tǒng)的功能,用它寫出一份簡(jiǎn)練的系統(tǒng)規(guī)格說(shuō)明,而不用涉及任何與系統(tǒng)架構(gòu)相關(guān)的實(shí)現(xiàn)細(xì)節(jié)。之后,我們可以用Ace的編譯器來(lái)生成實(shí)現(xiàn)和部署這一應(yīng)用所需的所有代碼和描述文件。與現(xiàn)有IDE中的代碼生成向?qū)В╳izard)不同,我們無(wú)需對(duì)Ace編譯器產(chǎn)生的代碼作任何編輯和修改。對(duì)于不同的中間件產(chǎn)品、不同的系統(tǒng)架構(gòu),我們只需重新編譯一遍用Ace規(guī)格語(yǔ)言所寫的源代碼。不僅如此,Ace編譯器還具有代碼優(yōu)化功能。一份Ace規(guī)格說(shuō)明由兩部分組成,分別是:應(yīng)用程序的業(yè)務(wù)對(duì)象及邏輯,和應(yīng)用程序的業(yè)務(wù)流程。聽起來(lái)是不是有些難以置信?到Sun的網(wǎng)站上(http://research.sun.com/PRojects/ace/)去看看用Ace開發(fā)的Java Pet Store。看看在短短的224行代碼里,Ace到底幫我們做了些什么。
  
  接下來(lái)我們看看JFluid,JFluid是一個(gè)動(dòng)態(tài)性能分析工具(dynamic application profiling tool)。和現(xiàn)有的分析工具不同,JFluid的操作完全發(fā)生在應(yīng)用正常運(yùn)行的過(guò)程中,也就是所謂的on-the-fly profiling。在程序的運(yùn)行時(shí)間(run time),我們可以隨時(shí)打開、關(guān)閉、重新配置附屬在JVM上的JFluid。JFluid可以動(dòng)態(tài)地把一段用于分析的字節(jié)碼附加到正在運(yùn)行的Java代碼中,而這段Java代碼可以是正在運(yùn)行的應(yīng)用系統(tǒng)中任意指定的一個(gè)子集、任意一個(gè)或多個(gè)方法。被加進(jìn)去的JFluid字節(jié)碼會(huì)產(chǎn)生用于分析的事件,這些事件被記錄下來(lái)之后,會(huì)據(jù)此產(chǎn)生性能報(bào)告,報(bào)告會(huì)以我們通常所看到的格式(比如在OptimizeIt里那樣)顯示出來(lái)。通過(guò)這個(gè)工具,我們可以花費(fèi)更少的努力,更靈活地得到程序運(yùn)行的動(dòng)態(tài)信息。不過(guò),由于JFluid需要用到虛擬機(jī)的“動(dòng)態(tài)字節(jié)碼”(dynamic bytecode instrumentation)功能,所以它只能運(yùn)行在具有這一功能的、尚未正式發(fā)布的新版HotSpot JVM上。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 99影视在线视频免费观看 | 性爱在线免费视频 | 亚洲成年人免费网站 | 看91| 一级成人毛片 | 91一区二区三区久久久久国产乱 | 免费观看国产视频 | 国产毛片视频 | 伦理三区 | 人禽l交免费视频观看 视频 | 中文日产幕无线码6区免费版 | 男女隐私免费视频 | 婷婷中文字幕一区二区三区 | 毛片视频免费播放 | 午夜在线视频一区二区三区 | 午夜影院日韩 | 草莓福利视频在线观看 | 久久久久久久久久久综合 | 一级片a | 国产中出在线观看 | 欧美一级黄视频 | 日本黄色大片免费 | www69xxxxx| 亚洲第一成av人网站懂色 | 国产精品久久久久av | 国产一级毛片高清视频完整版 | 日韩毛片一区二区三区 | 内地av在线| 中文字幕亚洲一区二区三区 | 性片免费看 | 久久久久久久久久久亚洲 | 日韩不卡一区二区 | 亚洲综合网站 | 国产成人在线视频播放 | 亚洲精品成人久久久 | 国产成人av一区二区 | 欧美成人一区免费视频 | 龙的两根好大拔不出去h | 羞羞答答视频 | 美女毛片儿 | 最近高清无吗免费看 |