blob: a7a3a43dddf1e5f525d4b33ccaee478daceae525 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>NetBeans IDE - Java 分析器特性</title>
<link rel="stylesheet" href="../../netbeans.css" TYPE="text/css">
<link rel="stylesheet" href="../../features.css" type="text/css" >
<meta name="description" content="NetBeans IDE - Java features">
<meta http-equiv="content-language" CONTENT="en">
<meta name="author" content="Ruth Kusterer" />
<meta HTTP-EQUIV="Content-Type" Content="text/html; charset=UTF-8"></head>
<body>
<h1><a name="profiler"></a>分析器</h1>
<p><a href="../../images_www/v7/1/screenshots/profiler.png"><img alt="带有 Java 分析器的 NetBeans IDE" border="0" height="196" src="../../images_www/v7/1/screenshots/profiler-cut.png" width="649" /><br /><span class="font-11"><br>单击图像查看全屏预览</span></a>
</p>
<p><strong>Netbeans 分析器为优化应用程序的运行速度和内存使用提供了专家级的帮助,从而便于您构建可靠且可伸缩的 Java SE、JavaFX 和 Java EE 应用程序。</strong>
</p>
<h2>基于任务的性能分析</h2>
<p>
选取几个常见的性能分析任务,例如标准 CPU 或内存性能分析,或者简单的监控。专家已将这些选项预设为默认值,您可以针对特定的应用程序定制设置。
</p>
<p>
您可以精确控制分析器产生的系统开销,因此可以对正在全速运行的应用程序进行分析。此外,还可以存储分析数据,以便进行脱机处理:将收集结果的快照另存为 CSV、HTML 或 XML 文件,然后将其导出。
</p>
<table class='features-table' >
<tr>
<td>
<h2>堆查看器</h2>
<p>
使用堆查看器评估 Java 堆内容和识别导致内存泄漏的多余引用。可以浏览堆栈上的类和实例、每个实例或类的字段以及每个实例的引用。可以使用与 jHat 兼容的 OQL 查询分析堆转储的内容:利用 OQL 的基本语法突出显示和代码完成功能。
</p>
</td>
<td class='screenshots-col'>
<img alt="Netbeans 分析器堆查看器" class="box" height="81" src="../../images_www/v6/features/profiler-heapwalker_p150.png" width="150">
</td>
</tr>
<tr>
<td>
<h2>性能分析点</h2>
<p>
在源代码中设置性能分析点可以更精确地控制性能分析结果,与调试器断点类似。
</p>
<p>
当满足一定条件时,性能分析点可以自动触发行为,如执行一行代码、占用的时间和使用的内存。性能分析点能触发堆转储、重置收集的结果、运行加载的生成器脚本以及生成结果快照。
</p>
</td>
<td class='screenshots-col'>
<img alt="netbeans 性能分析点" class="box" height="56" src="../../images_www/screenshots/6.0/javaSE_profiler_profiling_points2_150px.png" width="150">
</td>
</tr>
<tr>
<td>
<h2>识别 CPU 瓶颈</h2>
<p>
可以对 Netbeans 分析器进行设置,使其提供的报告只针对个别方法或针对整个应用程序。有一个图形显示 CPU 时间耗费在了哪里。单击图形各部分,可以了解上层信息以及更详细的性能分析信息。
</p>
<p>
根据实际工作量分析整个应用程序或子集。可以在性能分析会话开始阶段启动 JMeter 脚本进行加载测试。
</p>
<h2>追踪内存使用情况</h2>
<p>
根据对象的具体分配和垃圾回收模式,明确泄漏对象或者缺乏的对象。对象实时性能分析追踪对象创建和垃圾回收事件。监视当前内存中对象的编号、年龄、分配路径以及其他特征,并比较内存快照。
</p>
</td>
<td class='screenshots-col'>
<img alt="分析器详细信息" class="box" height="132" src="../../images_www/screenshots/6.0/javaSE_profiler_drilldown_150px.png" width="150">
</td>
</tr>
<tr>
<td>
<h2>监控线程状态</h2>
<p>
在 "Threads Timeline"(线程(时间线))上,Netbeans 分析器显示应用程序中所有线程当前和过去的状态。"Thread Details"(线程(详细信息))提供一个或多个选定线程的详细信息,包括一个涵盖线程生命中全部状态更改的列表。
</p>
<h2>远程性能分析</h2>
<p>
分析运行在与运行 NetBeans IDE 的系统不同的系统上的应用程序。分析器远程包可以安装在一个远程系统上,允许您分析在该远程系统上启动的应用程序。
</p>
<h2>连接分析器</h2>
<p>
将分析器连接到任何 Java 应用程序上,包括那些不是由 IDE 启动的应用程序。如果 Java 应用程序和 IDE 都和 JDK 6 一起运行,甚至可以实现动态地连接分析器,允许您对已运行的应用程序进行性能分析。
</p>
</td>
<td class='screenshots-col'>
<img alt="分析器线程" class="box" height="88" src="../../images_www/v6/features/profiler-threads.png" width="150">
</td>
</tr>
</table>
<p>&nbsp;</p>
<p><img alt="-" height="12" src="../../images_www/v6/arrow-button.gif" width="15"> <a href="../../kb/trails/java-se.html">Java SE 和基本 IDE 学习资源</a></p>
</body>
</html>