![](/img/trans.png)
[英]Apache Commons NET: Should I create a new FTPClient object on each connection or reuse one?
[英]Should I reuse one instance of GSON or create new ones on demand?
在我的大多數課程(特別是服務器資源)中,我傾向於按需創建com.google.gson.Gson
新實例。 有時我使用默認構造函數創建它們(用於處理簡單的POJO),有時我使用使用自定義com.google.gson.GsonBuilder
創建的更復雜的變體。
我知道Gson
是一個線程安全的類,所以沒有什么可以反對重用Gson
的相同實例而不是創建新的實例。 哎呀,我甚至可以為此重復使用靜態常量!
我的問題是:我應該在需要時創建新實例,還是應該只創建一個實例? 如果我使用GsonBuilder
創建的Gson
實例序列化簡單POJO並教授如何解析更復雜的數據結構(幾乎沒有注冊自定義序列化程序),那么我將面臨什么樣的性能影響?
我知道這是一個古老的問題但是為了將來參考,這個問題的答案是,如果可能的話,你應該選擇單個實例。
根據您注冊的自定義反序列化器/序列化器/處理程序的數量,創建GSON對象的成本很高。 我懷疑你會從中看到任何重大的性能提升。
關於第二個問題,GSON內部有一個已注冊的序列化程序列表,每個都會根據您要解析的對象進行檢查。 因此,每次注冊自定義序列化程序時,您基本上都會添加更多迭代,但同樣,與將幾個大笨拙的對象放入內存相比,這不是一個大的性能問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.