簡體   English   中英

JMH入門:java.lang.OutOfMemoryError:Java堆空間

[英]Getting started with JMH: java.lang.OutOfMemoryError: Java heap space

我的第一個JMH基准代碼:

package org.sample;

import org.openjdk.jmh.annotations.Benchmark;

public class MyBenchmark {

    @Benchmark
    public void testMethod() {
        // This is a demo/sample template for building your JMH benchmarks. Edit as needed.
        // Put your benchmark code here.
        int i = 100;
        while (i > 0) {
            i--;
        }
    }
}

使用以下任何命令運行它會導致

java.lang.OutOfMemoryError: Java heap space

在第一次熱身迭代中。

java -jar target/benchmarks.jar
java -Xmx256m -jar target/benchmarks.jar
java -Xmx500m -jar target/benchmarks.jar
java -Xmx700m -jar target/benchmarks.jar
java -Xms512m -Xmx1152m -XX:MaxNewSize=256m -jar target/benchmarks.jar

我想念什么?

因為我確實有代碼為內存密集型(添加一個字符串本身百倍),我重新運行前未重建項目。

一旦重建

mvn clean install

它可以與默認命令/堆大小一起正常工作:

java -jar target/benchmarks.jar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM