16gb 似乎不足以在 Kotlin 中解析 1gb JSON,我可以优化我的代码吗?

16gb seems not enough to parse 1gb JSON in Kotlin, can I optimize my code?

我有一个 1gb json 文件,我想用 Kotlin 解析它。为此,我正在使用 jacksonObjectMapper。

val mapper = jacksonObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
    val b : List<Profile> = mapper.readValue(File("$path/$inputFile2").readText())

Heap space 在 13gb 时不够用,所以我增加到 16gb(尽管我的 Windows 10 笔记本电脑只有 16gb RAM,所以我没想到它能工作)和 IntelliJ等待 15 分钟解析完成后不再有反应。不过,它不再在该设置中发出“堆不足 space”的警报..

我可以更改我的代码以使其在我的 16gb RAM 机器上运行吗?也许 运行 它作为 CMD 中的一个 jar?

一个1gb的文件能占那么多是不是很奇怪space?

感谢您的评论@fluidsonic。

json 是一个包含 400 000 个对象的列表。

我现在所做的是以某种方式组织 json 文件,使每一行包含 1 个对象。我当时正在做以下事情:

File("$path/$inputFile2").readLines().forEach { 
    val x: Profile = mapper.readValue(it) 
    // + logic 
}

我相信这可以以不同的方式完成,但效果很好。