JAVA:远程调用类的静态属性是否仍保留在内存中?

时间:2015-08-24 20:13:50

标签: java web-services static jersey

例如,假设我使用Jersey API

这个类
package com.k19.restful.resources;

import javax.ws.rs.GET;
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 

@Path("/helloworld") 
public class HelloWorldResource {

      static int number;

      @GET 
      @Produces("text/plain") 
       public String showHelloWorld() { return "Hello world!"; } 
}

当我访问它的URL时,会打印出“Hello world!”在屏幕上。

但我怀疑的是:number怎么样?返回响应后它是否仍在内存中?或者它被其他同学摧毁了?

1 个答案:

答案 0 :(得分:2)

静态变量在类首次加载时初始化,然后保留在内存中,直到类被垃圾回收(通常直到JVM退出)。因此,在您的情况下,是的,number字段的任何状态更改都将保留用于将来的所有请求。