我目前正在评估EXI以压缩大型XML文件。大型是指一个20 GB (20)的XML文件。
EXI压缩编解码器和非EXI压缩编解码器(gzip/lzma )都集成在运行在Java虚拟机上的Scala应用程序中。GZIP和LZMA是由公用压缩提供的.所有编解码器都是在这些第三方库中用Java实现的。
在6GB的64位Linux系统上(JVM为6GB),Exificient和OpenExi都可以对进行编码,但当原始XML文件为10 GB时,无法对进行解码。
-Xmx6g -XX:+UseG1GC -XX:+UseStringDeduplication我的问题:
发布于 2017-07-24 14:20:23
EXI格式提供了限制内存使用的“选项”。
https://www.w3.org/TR/exi/#options
valueMaxLength和valuePartitionCapacity限制EXI字符串表中的长度和条目数。
例如,将valueMaxLength设置为16意味着如果大于16,则不会向表中添加任何字符串。字符串表在处理过程中可能会增长,并且需要一直保存到结束。
选项valuePartitionCapacity限制表中字符串的数量(循环方式)。
当使用EXI压缩时,请考虑同时减少blockSize。
希望这能帮上忙
-丹尼尔
https://stackoverflow.com/questions/44842934
复制相似问题