云智慧透视宝Java代码性能监控实现原理

来源:互联网
更新时间:2016/12/9 11:14:12
责任编辑:李志喜
字体:

 一、Java平台体系及应用场景

从1995年Sun Microsystems公司正式推出Java,到2006年时Sun公司将其开源,迄今为止已经有了20年的历史。Java本身已不仅仅只是一门面向对象的编程语言,而是由一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的跨平台开发与部署的支持,实现“一次编写、到处运行”的目的。Java已经广泛的应用于嵌入式、移动终端、企业服务器、大型机等各种场合。

Sun官方所定义的Java技术体系包括如下几个组成部分:

* Java程序设计语言

* 各种硬件平台上的Java虚拟机

* Class文件格式

* 来自商业机构和开源社区的第三方Java类库

点击图片看大图中国学网 www.xue163.com

498)this.width=498;' onmousewheel = 'javascript:return big(this)' alt="云智慧透视宝Java代码性能监控实现原理" src="http://img.xue163.com/s7images51cto/wyfs02/M01/74/5D/wKioL1YbeSTBoCXuAAHr7gu-R-I496.jpg" />

图:Java技术体系组件图

Java Virtual Machine(JVM)是Java体系的基础,负责解释、编译执行.class文件形式的字节码,同时负责内存管理、热点代码检测和运行时编译优化。正是由于有了虚拟机的基础,才使Java实现了“一次编写、到处运行”。Java这20年的发展,其实更是虚拟机的发展过程。期间经历了Sun、BEA公司各自开发的虚拟机,2009年之后,ORACLE将这两家公司收购,并将这些虚拟机取长补短、合二为一。目前还是开源的虚拟机OpenJDK,可供爱好者学习研究用。

JRE部分是支持Java程序运行的标准环境。JDK是JRE的超集,包含JRE的一切,再加上工具如编译器、调试器等。

二、Java性能监控需求

对于一个企业的应用系统,大多数情况下,肯定是由多种编程语言开发的各种系统的集成。我们都非常关心系统的可用性、及时响应性、资源的消耗,比如CPU内存、各种I/O、网路带宽等消耗情况。对于这些问题的性能瓶颈点,我们一般可以归纳为外部服务(如第三方API)、资源读写、代码异常。如果在发生这些问题时,能够及时完整的抓拍记录保留下来,那么对于我们解决问题将会提供充足的证据,解决问题会变的非常容易。

对于Java应用系统来说,JVM自身提供了相应的性能监控手段和工具,经常在出现问题后,比如内存泄漏或溢出时,我们会通过jmap命令导出堆的转储快照,利用相应的命令jhat或其他相应的第三方内存分析工具来分析对象的占用情况。

响应缓慢时,我们可能会用jstat监视命令、或jdk的可视化工具jconsole、visualvm来分析JVM的垃圾回收类型、回收频率,来推测是否是垃圾回收导致的。有可能我们还要接着分析线程转储快照,通过jstack取出线程的栈快照,来分析是否有真死锁、死循环导致的相应缓慢、资源负载高等情况。

当有问题出现时,许多开发人员可能都是比较盲目的用这些工具来试探性定位问题,而大多数情况下,这种试探会无功而返。因为这些分析工具主要是侧重Java单方面的分析,比如该系统调用第三方API,如果第三方API有问题,是无法监控到的。还有像文件、DB资源的访问也是是无法监控到的。

而且,只有对Java虚拟机机制较为熟悉的高级开发人员才能比较好的运用、理解这些工具,对于大多数普通Java开发人员来说,这些问题只会令他们束手无策。

像外部服务(如第三方API)、资源读写、代码异常这些瓶颈点,需要通过代码级别的监控才能直接、快速、有效的找到症结所在。调用第三方API的耗时、资源访问的耗时、代码抛出的非预知异常,这些常见问题代码监控完全能够监控到,并能够实时抓拍记录,一旦有问题可以快速还原事故问题现场。通过代码级别监控发现问题后,也可以在辅助利用虚拟机内置监控工具进行进一步的定位。

www.xue163.com true /5/59671.html report 2719 云智慧透视宝Java代码性能监控实现原理,一、Java平台体系及应用场景从1995年SunMicrosystems公司正式推出Java,到2006年时Sun公司将其开源,迄今为止已经有了20年的历史。Java本身已不仅仅只是一门面向对象的编程语言,而是由一系列计算机软件和规范形成的技术体系,...
最近关注
首页推荐
热门图片
相关文章:
最新添加资讯
24小时热门资讯
精彩资讯
精彩推荐
热点推荐
真视界
精彩图片
社区精粹
关于本站 | 广告服务 | 手机版 | 商务合作 | 免责申明 | 招聘信息 | 联系我们
Copyright © 2004-2016 Xue163.com All Rights Reserved. 中国学网 版权所有
京ICP备10044368号-1 京公网安备11010802011102号
荐闻 | 学网头条知识问答 | 装修 | 作业 | 荐闻 | 学网头条精彩微信 | 新闻中心 | 软件教室 | 设计大全 | 网络相关 | 英语学习 | 开发编程 | 考试中心 | 参考范文 | 管理文库 | 营销中心 | 站长之家 | IT信息中心 | 商学院 | 数码大全 | 硬件DIY | 企业服务 | 网吧在线 | 问吧 | 百科 | 硬件知识 | 本网视点 | 文库 | 手机 | 平板 | 汽车 | 游戏 | 家电 | 精彩摄影 | 时尚科技 | 现代家居 | IT女人 | 经验 | 每日新闻 | 健康养生 | 图书馆 | 猎奇 | 精彩看点 | 图库 | 新闻中心 | 软件教室 | 设计大全 | 网络相关 | 英语学习 | 开发编程 | 考试中心 | 参考范文 | 管理文库 | 营销中心 | 站长之家 | IT信息中心 | 商学院 | 数码大全 | 硬件DIY | 企业服务 | 网吧在线 | 问吧 | 百科 | 硬件知识 | 本网视点 | 文库 | 手机 | 平板 | 汽车 | 游戏 | 家电 | 精彩摄影 | 时尚科技 | 现代家居 | IT女人 | 经验 | 每日新闻 | 健康养生 | 图书馆 | 精彩微信 | 猎奇 | 精彩看点 | 图库编程 方案 信息windows方案windows answer文档机构教育文档问答中心IT编程数码信息解决方案信息中心IT科技