网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.equals与==操作符的比较.
.Java与.NET间进行Web Service交互.
.使用Java来监视系统进程的两个解.
.取余运算符 (%).
.用游戏串起程序员的基本功.
.TurbineHowto之ActionEvent[译].
.通过WindowsXPEmbedded更新代理应.
.用JavaBean数据组件集成JSF应用程.
.JAVA新手必备:Java基础之关键字.
.你好,JOGL-Java与OpenGl的绑定.
.Eclipse配置SQLExplorer访问数据.
..NET2005提供的Code Snippets看代.
.教您如何解决J2ME开发中的连续按.
.从.NET应用程序访问MicrosoftOff.
.使用设计模式改善程序结构(一).
.新Java技术工具亮相游戏开发商大.
.J2SE 1.4.2增强功能与改变.
.J2ME入门专题系列之三:搭建开发.
.Struts安装配置.
.旋转你的3D世界.

Java应用性能的提升

发表日期:2008-1-5



  从Sun实验室中的GCspy、Ace、JFluid项目看
  沈捷
  
  从1995年James Gosling发明至今,Java的发展早已逾越了一门单纯计算机语言的范畴,成为了一个涵盖范围非常广的平台。在下面的篇幅里,笔者会就一些有趣的、带有研究性质的项目进行介绍。
  Java应用性能的提升


  Ace_1:NameTool的业务对象及逻辑
  
  在Sun的实验室里有一些有意思的项目在进行着,比如GCspy。GCspy是一个使内存治理工作可视化的框架(当然它会包括一个实现了这个框架的工具)。我们可以用它动态地考察系统的内存分配、垃圾回收等行为。假如用户需要,它甚至可以把追踪下来的内存治理行为进行“回放”(replay)。为了把对被观察系统的影响减至最低,GCspy采用client-server结构,以socket作为通信方式。在这种方式下,客户端还可以灵活地决定何时跟服务器连接。在图形客户端上,我们可以以不同的视图来观察系统的内存治理工作。除了动态的观察系统行为,GCspy还可以对指定的一段时间做出趋势图。这可以使我们对系统的内存治理有一个整体的了解。适当地应用GCspy的这些功能,对我们调整GC参数会非常有启发。
  
  其他还有一些处于研究阶段的项目。首先看看Ace,通过这个名字,我们便可以感觉到这个项目的目标——完成一个复杂的项目就像通过一记Ace球得分一样简单。Ace的目的是为企业级应用建立一种规格语言(Specification Language),以及与之相配套的编译器。这种语言与架构无关,这使得精通业务的专家可以用它去描述应用系统的功能,用它写出一份简练的系统规格说明,而不用涉及任何与系统架构相关的实现细节。之后,我们可以用Ace的编译器来生成实现和部署这一应用所需的所有代码和描述文件。与现有IDE中的代码生成向导(wizard)不同,我们无需对Ace编译器产生的代码作任何编辑和修改。对于不同的中间件产品、不同的系统架构,我们只需重新编译一遍用Ace规格语言所写的源代码。不仅如此,Ace编译器还具有代码优化功能。一份Ace规格说明由两部分组成,分别是:应用程序的业务对象及逻辑,和应用程序的业务流程。听起来是不是有些难以置信?到Sun的网站上(http://research.sun.com/projects/ace/)去看看用Ace开发的Java Pet Store。看看在短短的224行代码里,Ace到底帮我们做了些什么。
  
  接下来我们看看JFluid,JFluid是一个动态性能分析工具(dynamic application profiling tool)。和现有的分析工具不同,JFluid的操作完全发生在应用正常运行的过程中,也就是所谓的on-the-fly profiling。在程序的运行时间(run time),我们可以随时打开、关闭、重新配置附属在JVM上的JFluid。JFluid可以动态地把一段用于分析的字节码附加到正在运行的Java代码中,而这段Java代码可以是正在运行的应用系统中任意指定的一个子集、任意一个或多个方法。被加进去的JFluid字节码会产生用于分析的事件,这些事件被记录下来之后,会据此产生性能报告,报告会以我们通常所看到的格式(比如在OptimizeIt里那样)显示出来。通过这个工具,我们可以花费更少的努力,更灵活地得到程序运行的动态信息。不过,由于JFluid需要用到虚拟机的“动态字节码”(dynamic bytecode instrumentation)功能,所以它只能运行在具有这一功能的、尚未正式发布的新版HotSpot JVM上。
上一篇:怎样用java发送邮件 人气:4262
下一篇:在运行时刻更新功能模块 人气:617
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐