【发布时间】:2012-08-27 10:29:56
【问题描述】:
我正在使用 Jersey 创建 REST 服务。一些资源(比如一些全局地图、文件)应该在第一个请求到达之前加载(因为加载这些资源需要 20 秒)。所以我创建了一些静态字段(属性)来保存这些资源,因为我相信当我启动这个 REST 服务时它们应该被初始化。
但是,我发现了一个奇怪的问题,即只有在我发送第一个请求时才会加载静态资源。所以对于第一个请求,总是需要 20 多秒才能得到响应,而后面的请求要快得多(因为已经加载了资源)。
谁能解释一下为什么 Java 不会在任何请求之前初始化这些静态字段?
【问题讨论】:
标签: java static initialization jersey