|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,
简介:ApacheGeronimo使用服务器不但是开放源码的,并且功能很高。以是它是运转高功能使用程序的天然选择。可是,只是将使用程序运转在Geronimo中还不克不及包管它满意您的功能请求。偶然候,大概必要剖析和优化使用程序的效率。有很多工具可用于该义务,但您能够经由过程剖析Java™假造机(JVM)统计信息基础完成该义务。本文将帮您体验怎样从JVM取得统计信息,从而对应用程序举行提要剖析和优化,以满意功能必要。
JVM统计信息
JVM供应很多统计信息。这些统计信息触及诸如立即(JIT)编译、类加载、内存分派和最风趣的渣滓搜集之类基础的JVM特征。
立即编译
JVM可将字节代码立即编译为呆板代码。该举措相似于像您用于剧本言语的解释器(如Perl)所实行的举措。可是它更先辈,供应很多优化措施,使得已注释的字节代码几近与预编译的代码运转得一样快(偶然更快)。明显,实行JIT编译必要开支。器度使用程序必要多年夜开支的两个有效的统计信息是JIT编译次数和实行这些编译消费的工夫总量。
类加载
JVM卖力从使用程序的类利用的库向使用程序和类中加载类。因而,这些类可能是从已部署在Geronimo中的WAR或EAR中加载的类,也多是包括在WAR或EAR中的JAR文件,大概是由Geronimo容器加载的JAR中的类。假如类不用于延伸的工夫,则JVM还能够选择卸载这些类。这将招致几项主要的统计信息:加载的类的数目、卸载的类的数目、加载和卸载类消费的工夫。
内存(堆)分派
在Java手艺中没有malloc()函数,这是由于JVM可主动为对象分派内存。对象从堆平分配;因而,利用的和余暇的堆内存数目是两个十分主要的统计信息。监督堆分派是检测可骇的内存泄露最复杂的办法之一。
渣滓搜集
这多是JVM最风趣的统计信息。正像JVM为对象分派内存一样,它还接纳不再利用的对象上的内存。关于渣滓搜集怎样事情,包含您能够唆使JVM用于其渣滓搜集器的分歧算法,有良多风趣的读物。
另有很多关于渣滓搜集器自己的风趣的统计信息。起首是挪用渣滓搜集器的频率和渣滓搜集过程当中消费的工夫。渣滓搜集的开支很年夜,由于实质上它会中断应用程序的实行以即可以查验对象。明显,大批的渣滓搜集能够真正减慢使用程序的运转速率。
其他风趣的统计信息与对象分代有关。渣滓搜集器按代对对象举行分类,每代都唆使对象已履历了必定次数的渣滓搜集。(履历良多次渣滓搜集的对象比未履历大概履历了很少次数渣滓搜集的对象被渣滓搜集的大概性更小。)如许的对象分类同意渣滓搜集器查验更少的对象,使每次渣滓搜集速率更快。因而,每代中对象的数目大概相称风趣,供应更好的办法来查找内存泄露和很好的办法来考察潜伏优化(如对象缓存和对象池)的影响。
会见JVM统计信息
有几个可用的JVM完成,但最多见的是Sun的HotSpotJVM。从Java2Platform,StandardEdition(J2SE)1.4.2入手下手,HotSpot举行了周全装备,供应很多下面形貌的有效的统计信息。有好几个办法用于取得和剖析这一数据。取得JVM天生的统计信息以后,您能够会见Geronimo的JVM并剖析您的使用程序。
<p>
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,netBeans等等,但是我认为如果java想超越.net,那么他首先要解决的就是IDE工具的整合。 |
|