我正在尝试从大文本文件中读取数据并将它们添加到数组列表中,但是它给了我以下错误:-
线程“主”java.lang.OutOfMemoryError中的异常:超过GC开销限制。
我的守则:
List<Book> books= new ArrayList<>();
try {
BufferedReader br = new BufferedReader(new FileReader(filePath));
String fileRead = null;
Book book = null;
while((fileRead = br.readLine()) != null) {
if(fileRead.startsWith("#index")) {
book = new Book();
book.index = fileRead.substring(6);
books.add(book);
}发布于 2018-10-12 11:25:06
这是因为为JVM保留的内存不能保留那么多内存对象。取决于您的RAM,您可能试图做不可能的操作。空闲RAM的数量决定了您可以在内存中保存多少Book对象。尝试添加内存限制并从命令行运行。
java -Xmx2000m -Xms2000m ....
https://stackoverflow.com/questions/52777294
复制相似问题