首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于JSP使用静态static方法的有关问题

2012-02-25 
关于JSP使用静态static方法的问题我写了一个自己的类,里面有一个静态的方法:private static FileInputStre

关于JSP使用静态static方法的问题
我写了一个自己的类,里面有一个静态的方法:

private static FileInputStream pfile;
public static String getColor(String key){ 
  if(pfile == null){
  pfile = new FileInputStream("111.property");
  .....
  ....
  ...
  }


运行环境是WebSphere,具体的配置搞不清=_=!!
我理解就是这个class放在那个web-inf/class 什么目录里面就能调用了
因为是静态的可以直接使用: XXXXX.getColor("red_1022")
我想问的就是那个static FileInputStream pfile 这个变量
是不是正常情况下,第一次在使用getColor的时候这个变量就读到文件,然后就不为null值,以后就不读了
那么pfile 这个变量保存在什么地方?


[解决办法]
保存在服务器端的堆或者栈里面,具体不记得了。
第一次访问的时候判断是否为空,为空才去读,以后就不读了。

[解决办法]
印象是中栈中
[解决办法]
我觉得,pfile保存在哪里不重要,因为它是静态变量,在java中变量一旦被定义成static,那么在你的web项目里的jsp页面、java类中这个变量是共用的;
建议把private static FileInputStream pfile; => private static FileInputStream pfile=null;

[解决办法]
对象在堆里,引用在栈里

热点排行