以下是我实现的模型:

public class LoginSession {
    private static final Gson gson = new Gson();

    private String id;
    private String name;
    private long timestamp;

    public LoginSession(String id, String name) {
        this.id = id;
        this.name = name;
        this.timestamp = System.currentTimeMillis();
    }

    public String toJson() {
        return gson.toJson(this);
    }

    public static LoginSession fromJson(String json) {
        checkArgument(!isNullOrEmpty(json));
        return gson.fromJson(json, LoginSession.class);
    }
}

我认为 for each 登录会话实例创建新的Gson实例是没有用的.

但我担心的是线程安全问题.大约每秒将创建1000多个实例.

使用Gson实例作为静态字段可以吗?

感谢您的建议/更正.

推荐答案

我觉得挺好的.在gson实例中没有任何东西使它与特定的LoginSession值实例相关,所以它应该是静电.

GSON实例should be thread-safe个,有一个bug regarding个是固定的.

Java相关问答推荐

Java Android OnKeyspel事件未触发

如何在多个设备上同时运行Android Studio的项目?

Java小程序未在MacOS上运行

Analyst Idea构建错误:NoClassDefFound错误:javax/html/bind/JAVAX Bwitch [SOLVED]

ActivityCompat.请求收件箱自动拒绝权限

在Java 8之后,HashMap的最坏情况下时间复杂度仍然是O(n)而不是O(log n)?

Listview—在Android Java中正确链接项目时出错

Java List with all combinations of 8 booleans

在JavaFX项目中注册组合框的控件FX验证器时,模块系统出错

如何创建一个2d自上而下的移动系统,其中移动,同时持有两个关键是可能的处理?

try 判断可选参数是否为空时出现空类型安全警告

Jolt变换JSON数组问题

由于在生成器模式中使用泛型,lambda表达式中的返回类型错误

如何在Jooq中获取临时表列引用?

JPA无手术同品种器械可能吗?

我该如何为我的类编写getter和setter方法?

在Java Spring JPA中插入包含对其他实体的引用的列

如何设计包含已知和未知键值对映射的Java类?

在单例类上获取Java锁,了解原因

如何在单元测试中获得我的装饰Mapstruct映射器的实例?