gpt4 book ai didi

java - 我应该重用一个 GSON 实例还是按需创建新实例?

转载 作者:行者123 更新时间:2023-12-02 11:24:02 25 4
gpt4 key购买 nike

在我的大多数类(尤其是服务器资源)中,我倾向于根据需要创建 com.google.gson.Gson 的新实例。有时我使用默认构造函数创建它们(用于处理简单的 POJO),有时我使用通过自定义 com.google.gson.GsonBuilder 创建的更复杂的变体。

我知道 Gson 是一个线程安全类,因此没有什么可以反对重用相同的 Gson 实例而不是创建新实例。哎呀,我什至可能为此重用静态常量!

我的问题是:我应该在需要时创建新实例,还是应该只创建并使用一个实例?如果我使用使用 GsonBuilder 创建的 Gson 实例序列化简单的 POJO,并教授如何解析更复杂的数据结构(几乎没有),我将面临什么样的性能影响?正在注册自定义序列化器)?

最佳答案

我知道这是一个老问题,但为了将来的引用,这个问题的答案是,如果可能的话,您应该选择单个实例。

创建 GSON 对象的成本很高,具体取决于您向其注册的自定义反序列化器/序列化器/处理程序的数量。我怀疑您是否会从中看到任何巨大的性能提升。

关于第二个问题,GSON 内部有一个已注册序列化器的列表,并且每个序列化器都会根据您尝试解析的对象进行检查。因此,每次注册自定义序列化器时,您基本上都会添加更多迭代,但与将几个大的笨拙对象放入内存相比,这并不是一个大的性能问题。

关于java - 我应该重用一个 GSON 实例还是按需创建新实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31432758/

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