<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 4, comments - 1, trackbacks - 0, articles - 2

    2007年7月6日

    有新發(fā)現(xiàn) 發(fā)現(xiàn)一個firefox的插件 具有把http資源解析成PDF的功能 先研究一下這個東西

    posted @ 2007-07-23 09:41 黃鵬霄 閱讀(273) | 評論 (1)編輯 收藏

    有個朋友要用getClass().getResourceAsStream() 提取test.properties

    但是在服務(wù)器運行過程中 無論怎么更改test.properties

    得出的數(shù)據(jù)還是最初的那個

    我后來試了一下 代碼如下

    package test;

    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;

    public class Test {
        Properties pp 
    = null;

        
    public Properties getData() throws IOException {
            InputStream is 
    = getClass().getResourceAsStream("/test.properties");
            
    // InputStream is = new FileInputStream(
            
    // "D:\\java\\apache-tomcat-5.5.17\\apache-tomcat-5.5.17\\webapps\\testp\\WEB-INF\\classes\\test.properties");
            System.out.println(is.hashCode());
            pp 
    = new Properties();
            pp.load(is);
            System.out.println(pp.hashCode());
            
    // Properties pp = System.getProperties();
            
    // Enumeration<String> enu = (Enumeration<String>) pp.propertyNames();
            
    // while(enu.hasMoreElements()){
            
    // String name = enu.nextElement();
            
    // System.out.println(name + "=" +pp.getProperty(name));
            
    // }
            
    // is.close();
            is.close();
            
    return pp;
        }

        
    public static Properties getProperties() {
            
    try {
                
    return new Test().getData();
            } 
    catch (IOException e) {
                e.printStackTrace();
            }
            
    return null;
        }

        
    public static void main(String[] args) {
            
    while (true) {
                System.out.println(getProperties());
                
    try {
                    Thread.sleep(
    1000L);
                } 
    catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    上面這個解析的Properties pp 的hashcode 始終不變

    而InputStream 的hash 缺一直改變

    由此可以推斷結(jié)論有
    getClass().getResourceAsStream() 是ClassLoader 加載Class一樣的把test.properties 加載進(jìn)了內(nèi)存


    但是針對上面的紅字我寫了MAIN函數(shù)做為測試

    現(xiàn)在發(fā)現(xiàn)如果我更改Properties ,會立刻做出反應(yīng)

    main函數(shù)中的代碼我的理解如下 每次ClassLoader都在加載ClassPath下的文件,當(dāng)發(fā)現(xiàn)改變就構(gòu)成Properties 改變

    所以我想這是不是tomcat的ClassLoader 的一個bug ??

    以上言論,均屬我的猜測,還望高手指點.

    新發(fā)現(xiàn):

      InputStream is = Test.class.getClassLoader().getResourceAsStream(// .getResourceAsStream(
      InputStream is = Test.class.getResourceAsStream(// .getResourceAsStream(
    這樣加載的Properties 是兩個不同的實例 我的意思是想說兩份不同的內(nèi)存

    所以如果想test.properties隨時變 用絕對路徑 InputStream is = new FileInputStream("絕對路徑")
    就可以了

    posted @ 2007-07-06 00:08 黃鵬霄 閱讀(3443) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 亚洲午夜无码毛片av久久京东热| 国产亚洲成人在线播放va| 日本免费A级毛一片| 亚洲欧美国产国产综合一区| 亚洲色欲久久久久综合网| 国产精品免费电影| 免费的涩涩视频在线播放| 亚洲w码欧洲s码免费| 最近的中文字幕大全免费8| 久9久9精品免费观看| 大妹子影视剧在线观看全集免费| 美女隐私免费视频看| 激情婷婷成人亚洲综合| 美女免费视频一区二区| 国产精品亚洲lv粉色| 污视频网站免费观看| 成年免费大片黄在线观看com| 日韩在线观看免费| 一个人看的www免费高清 | 五月天婷婷免费视频| 久别的草原电视剧免费观看| 色老头永久免费网站| 最近免费中文字幕大全视频| 日本特黄特黄刺激大片免费| 四虎永久在线精品视频免费观看| 国产高清在线免费| 亚洲αv久久久噜噜噜噜噜| 亚洲成人网在线观看| 在线免费视频你懂的| 1000部夫妻午夜免费| 成年女人永久免费观看片| 国产亚洲福利精品一区| 亚洲高清中文字幕| 黄色三级三级三级免费看| 四虎影视在线影院在线观看免费视频| 中文字幕无码不卡免费视频| 亚洲av无码国产精品色在线看不卡| 亚洲国产精品无码久久久不卡| 亚洲中文字幕无码中文字| 国产精品免费一区二区三区四区| 国产乱子伦精品免费无码专区|