Avatar ·

什么是JVM启动时的-Xms和-Xmx参数以及如何正确配置它们?

大家好!我是Java新手,在启动第一个严肃应用时遇到了问题。我有一个简单的程序,处理一个大约500MB的大CSV文件。我写了这样的代码:
import java.io.*;
import java.util.*;

public class CsvProcessor {
    public static void main(String[] args) throws Exception {
        List<String> lines = new ArrayList<>();
        try (BufferedReader br = new BufferedReader(new FileReader("data.csv"))) {
            String line;
            while ((line = br.readLine()) != null) {
                lines.add(line);
            }
        }
        System.out.println("加载行数:" + lines.size());
    }
}
当我用命令`java CsvProcessor`运行它时,程序崩溃并报错`OutOfMemoryError: Java heap space`。我听说需要使用`-Xms`和`-Xmx`标志,但我不明白它们是什么意思以及如何正确设置。网上说`-Xms`