gpt4 book ai didi

java - 优化 Gson 反序列化

转载 作者:搜寻专家 更新时间:2023-10-30 21:02:03 26 4
gpt4 key购买 nike

优化反序列化的最佳方法是什么?

我目前正在使用标准的 Gson.toJson 和 Gson.fromJson 方法对一些复杂对象进行序列化和反序列化,我希望尽可能减少反序列化时间。

如果重要的话,我的对象中最复杂的包含 43 个变量。

最佳答案

如果你想使用 Gson,而不是切换到另一个 Java-to/from-JSON API,并且如果 Gson 的自动数据绑定(bind)性能不够好,那么可以继续使用 Gson API,并且挤出一些适度更好的性能。

https://github.com/eishay/jvm-serializers/wiki 发布的最新一轮性能测试中,结果表明,通过使用 the streaming API of Gson,Gson 序列化和反序列化的综合性能可能会提高约 25%。而不是数据绑定(bind)。

请注意,这通常会使用户代码的实现变得非常复杂,其中与使用数据绑定(bind) API 的单行解决方案相当的解决方案,例如 new Gson().toJson(something),被替换为(轻松地)几十行,包括循环和条件。因此,提高性能的代价是更复杂的代码。

有关使用流式 API 与数据绑定(bind) API 的示例,请查看 JsonGsonManualJsonGsonDatabind实现,在 the jvm-serializers project .

(注意:也可以在 Gson API 中使用树模型,而不是流式或数据绑定(bind) API,但它似乎没有提供任何优于数据绑定(bind)的性能改进。有关示例,请参见 JsonGsonTree。 )

关于java - 优化 Gson 反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15509544/

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