<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    java jmh

    文檔

    java jmh

    JMH是一種Java工具,用于構建、運行和分析用Java和其他針對JVM的語言編寫的nano/micro/mili/macro基準測試。JMH一般用于代碼的性能調優,精度可以達到納秒級別,適用于java以及其他基于JVM的語言。
    推薦度:
    導讀JMH是一種Java工具,用于構建、運行和分析用Java和其他針對JVM的語言編寫的nano/micro/mili/macro基準測試。JMH一般用于代碼的性能調優,精度可以達到納秒級別,適用于java以及其他基于JVM的語言。

    java jmh是什么,讓我們一起了解一下?

    JMH是一種Java工具,用于構建、運行和分析用Java和其他針對JVM的語言編寫的nano/micro/mili/macro基準測試。JMH一般用于代碼的性能調優,精度可以達到納秒級別,適用于 java以及其他基于JVM的語言。

    JMH注解說明:

    在運行時,注解配置被用于解析生成BenchmarkListEntry配置類實例。

    一個方法對應一個@Benchmark注解,一個@Benchmark注解對應一個基準測試方法。

    注釋在類上的注解,或者注釋在類的字段上的注解,則是類中所有基準測試方法共用的配置。

    @Benchmark聲明一個public方法為基準測試方法。

    @BenchmarkMode通過JMH我們可以輕松的測試出某個接口的吞吐量、平均執行時間等指標的數據(假設我想測試testGson方法的平均耗時,那么可以使用@BenchmarkMode注解指定測試維度為Mode.AverageTime。)

    @Measurement測量次數

    @Measurement假設我想測量testGson方法五次,那么可以使用@Measurement注解。

    @Warmup配置預熱參數。

    為了數據準確,我們可能需要讓testGson方法做下熱身運動。如在方法中創建GsonParser對象,預熱可以避免首次創建GsonParser時因多了類加載的耗時而導致測試結果不準備的情況。jvm使用JIT即時編譯器,一定的預熱次數可讓JIT對testGson方法的調用鏈路完成編譯,去掉解釋執行對測試結果的影響。

    @OutputTimeUnit

    OutputTimeUnit注解用于指定輸出的方法執行耗時的單位。如果方法執行耗時為秒級別,為了便于 觀察結果,我們可以使用@OutputTimeUnit指定輸出的耗時時間單位為秒;如果方法執行耗時為毫秒級別,為了便于觀察結果,我們可以使用@OutputTimeUnit指定輸出的耗時時間單位為毫秒,否則使用默認的秒做單位,會輸出10的負幾次方這樣的數字,不太直觀。

    @Fork用于指定fork出多少個子進程來執行同一基準測試方法。假設我們不需要多個進程,那么 可以使用@Fork指定為進程數為1。

    @Threads注解用于指定使用多少個線程來執行基準測試方法,如果使用@Threads指定線程數為2,那么每次測量都會創建兩個線程來執行基準測試方法。

    具體代碼如下:

    public?void?lockInc(){
    ????????lock.lock();
    ????????try?{
    ????????????x++;
    ????????}finally?{
    ????????????lock.unlock();
    ????????}
    ????}
    ??public??void?synInt(){
    ??????synchronized?(this){
    ??????????x++;
    ??????}
    ??}
    }
    @State(Scope.Group)
    public?static?class?InterMoticMonitor{
    ????private?AtomicInteger?a=new?AtomicInteger();
    ????public?void?atoMic(){
    ????????a.incrementAndGet();
    ????}
    }
    @Benchmark
    @Group("sync")
    @GroupThreads(10)
    public?void?syn(IntMonitor?intMonitor){
    ????intMonitor.synInt();
    }
    @Benchmark
    @Group("lock")
    @GroupThreads(10)
    public?void?lock(IntMonitor?intMonitor){
    ????intMonitor.lockInc();
    }
    @Benchmark
    @Group("Atomic")
    @GroupThreads(10)
    public?void?atominDemo(InterMoticMonitor?interMoticMonitor){
    ????interMoticMonitor.atoMic();
    }
    public?static?void?main(String[]?args)?throws?RunnerException?{
    ????final?Options?opts=new?OptionsBuilder()
    ????????????.include(Explamlee01.class.getSimpleName())
    ????????????.forks(1)
    ????????????.warmupIterations(10)
    ????????????.measurementIterations(10)
    ????????????.build();
    ????new?Runner(opts).run();
    }

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    java jmh

    JMH是一種Java工具,用于構建、運行和分析用Java和其他針對JVM的語言編寫的nano/micro/mili/macro基準測試。JMH一般用于代碼的性能調優,精度可以達到納秒級別,適用于java以及其他基于JVM的語言。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    java jndi java joptionpane java jps java jquery java jsonfield java jsonp java jstack java jstat java jta java jtable java jtextfield java jvm java jxl java kafka java keystore java kmeans java kudu java lamada java leveldb java linklist java jmeter java jit java jetty java jep 計算機管理怎么打開 excel怎么排序 兩個excel如何獨立顯示 微信分組怎么刪除 朋友圈怎么轉發 qq怎么清理緩存和垃圾清理 蘋果手機怎么恢復出廠設置 怎么導出微信聊天記錄 微信群怎么找 java execute java exchange java event java escape java error java epoll java environment
    Top 久久精品影院永久网址| 国产成人精品影院狼色在线 | 91精品啪在线观看国产18| 久久精品国产72国产精| 国产高清在线精品一本大道| 99热在线只有精品| 国产乱人伦app精品久久| 久久99精品久久久久久青青日本| 精品国产乱码欠欠欠欠精品 | 精品无码人妻久久久久久| 51精品视频免费国产专区| 四虎永久在线精品免费影视| 在线精品亚洲一区二区| 国产中老年妇女精品| 国产精品白浆在线观看无码专区| 亚洲国产精品VA在线看黑人| 国产精品美女自在线观看免费 | 国产精品久久久久a影院| 在线人成精品免费视频| 久久在精品线影院精品国产| 久久久精品视频免费观看| 国产成人精品免费视频大| 99久久精品国内| 国产精品免费综合一区视频| 91精品全国免费观看含羞草| 国产成人精品手机在线观看| 国内精品伊人久久久久av一坑 | 亚洲AV成人无码久久精品老人| 精品国产一区二区二三区在线观看| 九九在线精品视频专区| 国产在线无码精品无码| 精品视频国产狼友视频| 精品亚洲成A人在线观看青青| 国产乱码精品一区二区三区 | 9久久这里只有精品国产| 国产精品午夜无码AV天美传媒| 91久久精品国产免费直播| 国内精品久久久久久99| 在线观看国产精品日韩av| 国产精品中文字幕在线| 精品3d动漫视频一区在线观看|