Java Gson中同步getHandlerFor(Type)的性能

Java Gson中同步getHandlerFor(Type)的性能,java,json,gson,Java,Json,Gson,我正在使用gson 1.7,我看到它在toJson()中有一个序列化块 课堂上 final class ParameterizedTypeHandlerMap<T>{ .... public synchronized T getHandlerFor(Type type) { .... final类参数化TypeHandlerMap{ .... 公共同步的T getHandlerFor(类型){ .... 如果我根据每个请求创建对象,那么它在构造中也有一个同步块 我有两个问题: 2

我正在使用gson 1.7,我看到它在toJson()中有一个序列化块 课堂上

final class ParameterizedTypeHandlerMap<T>{
....
public synchronized T getHandlerFor(Type type) {
....
final类参数化TypeHandlerMap{
....
公共同步的T getHandlerFor(类型){
....
如果我根据每个请求创建对象,那么它在构造中也有一个同步块

我有两个问题:

  • 2.1版本是否具有相同的行为
  • 升级到2.1安全吗(从向后兼容性的角度来看)
  • json的最佳性能包是什么

  • 我使用gson 2,它的工作原理与我的1.7相同。如果同步吓到了你,你可以为每个线程创建一个gson实例。

    你的标题有误导性。这意味着你已经做了一些自己的性能测试,从阅读你的问题来看,你似乎还没有做过。到目前为止你做了什么?这就是我现在对线程局部变量所做的。但是使用tomcat线程时,它并不是那么直接,您可以在使用它的每个方法中创建一个新的Gson实例:Gson Gson=new Gson();String json=Gson.toJson(someObject);实际上,我总是对Gson使用此模式。在运行时创建Gson实例也非常昂贵。它内部有一个同步块