<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
-->

<html>
<head>
    <title>NetBeans IDE 中的性能分析点、进一步浏览图、堆查看器</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
    <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
</head>
<body>
    

<h1>NetBeans IDE 中的性能分析点、进一步浏览图、堆查看器</h1>

<table><tr><td class="valign-top">

<p>
此演示说明了 NetBeans IDE 中的三项分析器功能：进一步浏览图（简化查看应用程序在哪个类别下花费时间的过程）、性能分析点（用于从应用程序中控制分析器的操作）以及堆查看器（用于跟踪内存泄漏）。
</p>
<p>作者：Gregg Sporar<br> 播放时长：7:00 </p>
<p><a href="http://mediacast.sun.com/details.jsp?id=4030"></a>下载 (11.8 MB)</p>
<p>
  如果在播放该视频时遇到问题，则可以从此<a href="https://netbeans.org/download/flash/netbeans_60/profiler/profiler.html">镜像站点</a>将其传输到新的浏览器页面中。</p>
<p><a href="../../../community/media.html">所有的 NetBeans IDE 截屏视频</a></p>
<div class="feedback-box">
    <a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Screencast%20-%20Profiling%20Points,%20Drill%20Down%20Graph,%20Heap%20Walker">发送有关此教程的反馈意见</a>
</div>

</td><td width="425" class="valign-top align-center">

<script type='text/javascript'>
var var_pid = "6433";
var var_furl = "http://netbeans.tv/images/";
var var_notPanorama = "0";
var var_altLink = "http://mediacast.sun.com/details.jsp?id=4030";
</script>

<div id="videoPlayer" class="video">
<p>无法加载 Flash 播放器。</p></div>

<script type="text/javascript"> 

<!--  
    var so = new SWFObject(var_furl+"playerWidget.swf" , "pv", "410", "331", "8", "#666666"); 
    so.addParam("quality", "high"); 
    so.addParam("allowScriptAccess", "sameDomain"); 
    //so.addParam("menu", "false");   
    so.addParam("allowFullScreen", "true"); 
    so.addVariable("autoPlay", "false"); 
    so.addVariable("urlFileIdList", var_pid); 
    so.addVariable("show_title", "true"); 
    so.addVariable("PLAY_CALLBACK","emphasize");  
    so.addVariable("resizeLimitMax","true");
    so.addVariable("lang", "en"); 
    so.addVariable("flash_play","true");
    so.addVariable("author_name","NetBeans.tv");
    so.addVariable("configUrl",'http://sun.ora.ma/config.sun.ora.ma.xml');
    if (var_notPanorama == '1')
    {
        so.addVariable("clickAction","clickAction");    
    }
    so.write("videoPlayer");  
// --> 

</script>

</td></tr>
</table>

</body>
</html>
