熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

Java應用性能的提升

2013-11-15 11:49:52  來源: JSP教程 

  從Sun實驗室中的GCspyAceJFluid項目看
  沈捷
  
  從年James Gosling發明至今Java的發展早已逾越了一門單純計算機語言的范疇成為了一個涵蓋范圍非常廣的平台在下面的篇幅裡筆者會就一些有趣的帶有研究性質的項目進行介紹
  
  Ace_:NameTool的業務對象及邏輯
  
  在Sun的實驗室裡有一些有意思的項目在進行著比如GCspyGCspy是一個使內存管理工作可視化的框架(當然它會包括一個實現了這個框架的工具)我們可以用它動態地考察系統的內存分配垃圾回收等行為如果用戶需要它甚至可以把追蹤下來的內存管理行為進行回放(replay)為了把對被觀察系統的影響減至最低GCspy采用clientserver結構以socket作為通信方式在這種方式下客戶端還可以靈活地決定何時跟服務器連接在圖形客戶端上我們可以以不同的視圖來觀察系統的內存管理工作除了動態的觀察系統行為GCspy還可以對指定的一段時間做出趨勢圖這可以使我們對系統的內存管理有一個整體的了解適當地應用GCspy的這些功能對我們調整GC參數會非常有啟發
  
  其他還有一些處於研究階段的項目首先看看Ace通過這個名字我們便可以感覺到這個項目的目標——完成一個復雜的項目就像通過一記Ace球得分一樣簡單Ace的目的是為企業級應用建立一種規格語言(Specification Language)以及與之相配套的編譯器這種語言與架構無關這使得精通業務的專家可以用它去描述應用系統的功能用它寫出一份簡練的系統規格說明而不用涉及任何與系統架構相關的實現細節之後我們可以用Ace的編譯器來生成實現和部署這一應用所需的所有代碼和描述文件與現有IDE中的代碼生成向導(wizard)不同我們無需對Ace編譯器產生的代碼作任何編輯和修改對於不同的中間件產品不同的系統架構我們只需重新編譯一遍用Ace規格語言所寫的源代碼不僅如此Ace編譯器還具有代碼優化功能一份Ace規格說明由兩部分組成分別是應用程序的業務對象及邏輯和應用程序的業務流程聽起來是不是有些難以置信?到Sun的網站上()去看看用Ace開發的Java Pet Store看看在短短的行代碼裡Ace到底幫我們做了些什麼
  
  接下來我們看看JFluidJFluid是一個動態性能分析工具(dynamic application profiling tool)和現有的分析工具不同JFluid的操作完全發生在應用正常運行的過程中也就是所謂的onthefly profiling在程序的運行時間(run time)我們可以隨時打開關閉重新配置附屬在JVM上的JFluidJFluid可以動態地把一段用於分析的字節碼附加到正在運行的Java代碼中而這段Java代碼可以是正在運行的應用系統中任意指定的一個子集任意一個或多個方法被加進去的JFluid字節碼會產生用於分析的事件這些事件被記錄下來之後會據此產生性能報告報告會以我們通常所看到的格式(比如在OptimizeIt裡那樣)顯示出來通過這個工具我們可以花費更少的努力更靈活地得到程序運行的動態信息不過由於JFluid需要用到虛擬機的動態字節碼(dynamic bytecode instrumentation)功能所以它只能運行在具有這一功能的尚未正式發布的新版HotSpot JVM上
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19705.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.