我们的系统接收大量数据作为JSON(让我们说2个人,1个12个JSON数组。所有这些都是组织中的每个实体,45K +实体)。这些JSON中的每一个都有大约30到50个属性。
目前我们正在解析所有这12个JSON并将它们保存为地图,因此我们最终得到45K * 12 = 540K JSON,每个JSON都有30到50个属性。
处理完所有这些后,它们将被写回审计跟踪文件,以便我们获得所有使用过的JSON的副本。
当我分析此应用程序时,似乎花费了大量时间和内存在String --> JSON(Map)
转换和JSON(Map) --> File
Stream中。有大量的Map&设置“节点”对象被创建,生成的迭代垃圾等等。随着捕获数据的增长,所有这些都在集/地图维护方面。
我可能通过保留原始JSON字符串并将其写回来改进第二部分的CPU,但我很好奇这个的另一个方面。
如果我要使用特定的类:IndividualOne.java
,IndividualTwo.java
和ArrayElem.java
(每个实体有12个实例进入数组),以便将传入的JSON转换为实例这些类而不是地图会大大提高性能吗?还是没那么多?
我会尝试一个试点项目,看看会发生什么,但在我这样做之前,我想我会在社区提出问题,看看别人在这方面的经历是什么。
感谢。