【问题标题】:java jersey static fields initializationjava jersey静态字段初始化
【发布时间】:2012-08-27 10:29:56
【问题描述】:

我正在使用 Jersey 创建 REST 服务。一些资源(比如一些全局地图、文件)应该在第一个请求到达之前加载(因为加载这些资源需要 20 秒)。所以我创建了一些静态字段(属性)来保存这些资源,因为我相信当我启动这个 REST 服务时它们应该被初始化。

但是,我发现了一个奇怪的问题,即只有在我发送第一个请求时才会加载静态资源。所以对于第一个请求,总是需要 20 多秒才能得到响应,而后面的请求要快得多(因为已经加载了资源)。

谁能解释一下为什么 Java 不会在任何请求之前初始化这些静态字段?

【问题讨论】:

    标签: java static initialization jersey


    【解决方案1】:

    在 Java 中,类在第一次加载时被初始化。加载类是您的第一个请求。

    也许this 会有所帮助。

    【讨论】:

    • 是的,我同意你关于 Java 初始化问题的看法。此外,您的推荐链接应该非常接近我的问题,我会尽快检查。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多