gpt4 book ai didi

java - OutOfMemoryError 由于使用 Jackson 将 Java 对象序列化为字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:22:53 24 4
gpt4 key购买 nike

我正在使用 Jackson 的 ObjectMapper 将 Java 对象转换为字符串,以便将其写入我的日志文件。
转换方法如下所示:

private String getResponseAsString(OrderResponse response) {
ObjectMapper mapper = new ObjectMapper();
try {
return mapper.writeValueAsString(response);
} catch (JsonProcessingException e) {
log.error("Error when converting response:" + getExceptionMessage(e));
return "Error when converting response";
}
}

在我运行我的程序后,我看到它在这个方法上抛出了 OutOfMemoryError: Java Heap Space 错误:

Exception thrown所以我认为我的程序内存不足。我读了一些文章,我可以通过增加内存来解决这个问题。但是现在当我检查设置时,我计算机中的默认 Xmx 已经将近 4GB,所以我不想再增加它了。

任何人都可以提示我如何通过将此对象转换为字符串的方法替换为具有相同功能的另一个方法来节省内存吗?或者有没有人有其他想法/方法来解决这个问题。

最佳答案

你有一个很重的java对象,你需要在文件中写入一个java对象。并点击链接 Click Here

 private File getResponseAsString(OrderResponse response) throws JsonGenerationException, JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
File file = new File("D:/cp/dataOne.json");
mapper.writeValue(file, response);
return file;
}

关于java - OutOfMemoryError 由于使用 Jackson 将 Java 对象序列化为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51078158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com