• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 性能分析系列-小命令保證大性能

    發表于:2016-11-28來源:簡書作者:小程故事多點擊數: 標簽:性能分析
    最近在工作中經常和性能壓測工作打交道,積累了一些性能分析經驗,我覺得這些經驗對每一個開發者都有幫助的,能開發出性能高的代碼也是我們的最終目標。

    最近在工作中經常和性能壓測工作打交道,積累了一些性能分析經驗,我覺得這些經驗對每一個開發者都有幫助的,能開發出性能高的代碼也是我們的最終目標。

    由易到難,我們逐步介紹不同命令的用法和好處,這些命令是如何幫助我們開發人員進行性能分析的。

    一、開發者的自測利器-Hprof命令

    1、示例演示

    例子程序:

    /**
     * PROJECT_NAME: test
     * DATE:         16/7/22
     * CREATE BY:    chao.cheng
     **/
    public class HProfTest {
        public void slowMethod() {
            try {
                Thread.sleep(1000);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public void slowerMethod() {
            try {
                Thread.sleep(10000);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public static void main(String[] args) {
            HProfTest test = new HProfTest();
            test.slowerMethod();
            test.slowMethod();
        }
    }

    注:這是一段測試代碼通過sleep方法進行延時,在程序運行過程中很慢,我想知道到底是哪段程序影響的整體性能呢?

    我在這個java程序中,加了如下運行參數:

    -agentlib:hprof=cpu=times,interval=10
    /* 
        times:java函數的執行時間
        hprof=cpu是針對cpu統計時間
        interval=10 采樣10次 
    */

    再次運行這段程序顯示如下圖:


    Paste_Image.png


    這時候還發現在工程目錄里面,多了一個文本文件java.hprof.txt,如下圖所示:


    Paste_Image.png


    內容如下:

    CPU TIME (ms) BEGIN (total = 11542) Fri Jul 22 11:00:34 2016
    rank   self  accum   count trace method
       1 86.65% 86.65%       1 303422 com.test.HProfTest.slowerMethod
       2  8.66% 95.31%       1 303423 com.test.HProfTest.slowMethod
       3  0.25% 95.56%      36 300745 java.util.zip.ZipFile.<init>
       4  0.20% 95.76%      36 300434 java 
    
    
    
               

    原文轉自:http://www.jianshu.com/p/6df2963fe94e

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>