简介: Eclipse Memory Analyzer(MAT)是著名的跨平台集成开发环境 Eclipse Galileo 版本的 33 个组成项目中之一,它是一个功能丰富的 JAVA 堆 转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗。本文主要介绍如 何安装配置 Memory Analyzer,并结合一个实例,介绍如何利用 MAT 来进行堆转 储文件分析,找到内存泄露的根源。
概述
对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我 们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出 来,并且很难在测试环境中进行重现。JVM 能够记录下问题发生时系统的部分运 行状态,并将其存储在堆转储 (Heap Dump) 文件中,从而为我们分析和诊断问题 提供了重要的依据。
通常内存泄露分析被认为是一件很有难度的工作,一般由团队中的资深人士进 行。不过,今天我们要介绍的 MAT(Eclipse Memory Analyzer)被认为是一个“ 傻瓜式“的堆转储文件分析工具,你只需要轻轻点击一下鼠标就可以生成一个专 业的分析报告。和其他内存泄露分析工具相比,MAT 的使用非常容易,基本可以 实现一键到位,即使是新手也能够很快上手使用。
MAT 的使用是如此容易,你是不是也很有兴趣来亲自感受下呢,那么第一步我 们先来安装 MAT。
准备环境和测试数据
我们使用的是 Eclipse Memory Analyzer V0.8,Sun JDK 6
安装 MAT
和其他插件的安装非常类似,MAT 支持两种安装方式,一种是“单机版“的, 也就是说用户不必安装 Eclipse IDE 环境,MAT 作为一个独立的 Eclipse RCP 应用运行;另一种是”集成版“的,也就是说 MAT 也可以作为 Eclipse IDE 的 一部分,和现有的开发平台集成。
集成版的安装需要借助 Update Manager。
如图 1 所示,首先通过 Help -> Software Updates... 启动软件更新管 理向导。
图 1. 安装插件第一步