??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲色成人四虎在线观看,中文字幕亚洲乱码熟女一区二区,亚洲综合偷自成人网第页色http://m.tkk7.com/suplayer/category/32645.html方便自己查阅Q仅此而已Q?/description>zh-cnFri, 12 Jun 2009 14:53:44 GMTFri, 12 Jun 2009 14:53:44 GMT60JavaU程Q线E的同步 http://m.tkk7.com/suplayer/archive/2009/04/09/264616.htmlsuplayersuplayerThu, 09 Apr 2009 04:37:00 GMThttp://m.tkk7.com/suplayer/archive/2009/04/09/264616.htmlhttp://m.tkk7.com/suplayer/comments/264616.htmlhttp://m.tkk7.com/suplayer/archive/2009/04/09/264616.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/264616.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/264616.html一、同步问题提?br />  
U程的同步是Z防止多个U程讉K一个数据对象时Q对数据造成的破坏?br /> 例如Q两个线EThreadA、ThreadB都操作同一个对象Foo对象Qƈ修改Foo对象上的数据?br />  
public class Foo {
    private int x = 100;

    public int getX() {
        return x;
    }

    public int fix(int y) {
        x = x - y;
        return x;
    }
}
 
public class MyRunnable implements Runnable {
    private Foo foo = new Foo();

    public static void main(String[] args) {
        MyRunnable r = new MyRunnable();
        Thread ta = new Thread(r, "Thread-A");
        Thread tb = new Thread(r, "Thread-B");
        ta.start();
        tb.start();
    }

    public void run() {
        for (int i = 0; i < 3; i++) {
            this.fix(30);
            try {
                Thread.sleep(1);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName() + " : 当前foo对象的x? " + foo.getX());
        }
    }

    public int fix(int y) {
        return foo.fix(y);
    }
}
 
q行l果Q?br /> Thread-A : 当前foo对象的x? 40
Thread-B : 当前foo对象的x? 40
Thread-B : 当前foo对象的x? -20
Thread-A : 当前foo对象的x? -50
Thread-A : 当前foo对象的x? -80
Thread-B : 当前foo对象的x? -80

Process finished with exit code 0
 
从结果发玎ͼq样的输出值明显是不合理的。原因是两个U程不加控制的访问Foo对象q修改其数据所致?br />  
如果要保持结果的合理性,只需要达C个目的,是对Foo的访问加以限Ӟ每次只能有一个线E在讉K。这样就能保证Foo对象中数据的合理性了?br />  
在具体的Java代码中需要完成一下两个操作:
把竞争访问的资源cFoo变量x标识为privateQ?br /> 同步哪些修改变量的代码,使用synchronized关键字同步方法或代码?br />  
二、同步和锁定
 
1、锁的原?br />  
Java中每个对象都有一个内|锁
 
当程序运行到非静态的synchronized同步Ҏ上时Q自动获得与正在执行代码cȝ当前实例Qthis实例Q有关的锁。获得一个对象的锁也UCؓ获取锁、锁定对象、在对象上锁定或在对象上同步?br />  
当程序运行到synchronized同步Ҏ或代码块时才该对象锁才v作用?br />  
一个对象只有一个锁。所以,如果一个线E获得该锁,没有其他线E可以获得锁Q直到第一个线E释放(或返回)锁。这也意味着M其他U程都不能进入该对象上的synchronizedҎ或代码块Q直到该锁被释放?br />  
释放锁是指持锁线E退Zsynchronized同步Ҏ或代码块?br />  
关于锁和同步Q有一下几个要点:
1Q、只能同步方法,而不能同步变量和c;
2Q、每个对象只有一个锁Q当提到同步Ӟ应该清楚在什么上同步Q也是_在哪个对象上同步Q?br /> 3Q、不必同步类中所有的ҎQ类可以同时拥有同步和非同步Ҏ?br /> 4Q、如果两个线E要执行一个类中的synchronizedҎQƈ且两个线E用相同的实例来调用方法,那么一ơ只能有一个线E能够执行方法,另一个需要等待,直到锁被释放。也是_如果一个线E在对象上获得一个锁Q就没有M其他U程可以q入Q该对象的)cM的Q何一个同步方法?br /> 5Q、如果线E拥有同步和非同步方法,则非同步Ҏ可以被多个线E自p问而不受锁的限制?br /> 6Q、线E睡眠时Q它所持的M锁都不会释放?

7Q、线E可以获得多个锁。比如,在一个对象的同步Ҏ里面调用另外一个对象的同步ҎQ则获取了两个对象的同步锁?br /> 8Q、同步损宛_ƈ发性,应该可能羃同步范围。同步不但可以同步整个方法,q可以同步方法中一部分代码块?br /> 9Q、在使用同步代码块时候,应该指定在哪个对象上同步Q也是说要获取哪个对象的锁。例如:
    public int fix(int y) {
        synchronized (this) {
            x = x - y;
        }
        return x;
    }
 
当然Q同步方法也可以改写为非同步ҎQ但功能完全一LQ例如:
    public synchronized int getX() {
        return x++;
    }
?br />     public int getX() {
        synchronized (this) {
            return x;
        }
    }
效果是完全一L?br />  
三、静态方法同?br />  
要同步静态方法,需要一个用于整个类对象的锁Q这个对象是是q个c(XXX.class)?br /> 例如Q?br /> public static synchronized int setName(String name){
      Xxx.name = name;
}
{h?br /> public static int setName(String name){
      synchronized(Xxx.class){
            Xxx.name = name;
      }
}

 
四、如果线E不能不能获得锁会怎么?br />  
如果U程试图q入同步ҎQ而其锁已l被占用Q则U程在该对象上被d。实质上Q线E进入该对象的的一U池中,必须在哪里等待,直到光被释放,该线E再ơ变为可q行或运行ؓ止?br />  
当考虑dӞ一定要注意哪个对象正被用于锁定Q?br /> 1、调用同一个对象中非静态同步方法的U程彼此阻塞。如果是不同对象Q则每个U程有自q对象的锁Q线E间彼此互不q预?br />  
2、调用同一个类中的静态同步方法的U程彼此阻塞,它们都是锁定在相同的Class对象上?br />  
3、静态同步方法和非静态同步方法将永远不会彼此dQ因为静态方法锁定在Class对象上,非静态方法锁定在该类的对象上?br />  
4、对于同步代码块Q要看清楚什么对象已l用于锁定(synchronized后面括号的内容)。在同一个对象上q行同步的线E将彼此dQ在不同对象上锁定的U程永q不会彼此阻塞?br />  
五、何旉要同?br />  
在多个线E同时访问互斥(可交换)数据Ӟ应该同步以保护数据,保两个U程不会同时修改更改它?br />  
对于非静态字D中可更改的数据Q通常使用非静态方法访问?br /> 对于静态字D中可更改的数据Q通常使用静态方法访问?br />  
如果需要在非静态方法中使用静态字D,或者在静态字D中调用非静态方法,问题变得非常复杂。已l超出SJCP考试范围了?br />  
六、线E安全类
 
当一个类已经很好的同步以保护它的数据Ӟq个cdUCؓ“U程安全?#8221;?br />  
即是线E安全类Q也应该特别心Q因为操作的U程是间仍然不一定安全?br />  
举个形象的例子,比如一个集合是U程安全的,有两个线E在操作同一个集合对象,当第一个线E查询集合非I后Q删除集合中所有元素的时候。第二个U程也来执行与第一个线E相同的操作Q也许在W一个线E查询后Q第二个U程也查询出集合非空Q但是当W一个执行清除后Q第二个再执行删除显然是不对的,因ؓ此时集合已经为空了?br /> 看个代码Q?br />  
public class NameList {
    private List nameList = Collections.synchronizedList(new LinkedList());

    public void add(String name) {
        nameList.add(name);
    }

    public String removeFirst() {
        if (nameList.size() > 0) {
            return (String) nameList.remove(0);
        } else {
            return null;
        }
    }
}
 
public class Test {
    public static void main(String[] args) {
        final NameList nl = new NameList();
        nl.add("aaa");
        class NameDropper extends Thread{
            public void run(){
                String name = nl.removeFirst();
                System.out.println(name);
            }
        }

        Thread t1 = new NameDropper();
        Thread t2 = new NameDropper();
        t1.start();
        t2.start();
    }
}
 
虽然集合对象
    private List nameList = Collections.synchronizedList(new LinkedList());
是同步的Q但是程序还不是U程安全的?br /> 出现q种事g的原因是Q上例中一个线E操作列表过E中无法L另外一个线E对列表的其他操作?br />  
解决上面问题的办法是Q在操作集合对象的NameList上面做一个同步。改写后的代码如下:
public class NameList {
    private List nameList = Collections.synchronizedList(new LinkedList());

    public synchronized void add(String name) {
        nameList.add(name);
    }

    public synchronized String removeFirst() {
        if (nameList.size() > 0) {
            return (String) nameList.remove(0);
        } else {
            return null;
        }
    }
}
 
q样Q当一个线E访问其中一个同步方法时Q其他线E只有等待?br />  
七、线E死?br />  
死锁对JavaE序来说Q是很复杂的Q也很难发现问题。当两个U程被阻塞,每个U程在等待另一个线E时发生死锁?br />  
q是看一个比较直观的死锁例子Q?br />  
public class DeadlockRisk {
    private static class Resource {
        public int value;
    }

    private Resource resourceA = new Resource();
    private Resource resourceB = new Resource();

    public int read() {
        synchronized (resourceA) {
            synchronized (resourceB) {
                return resourceB.value + resourceA.value;
            }
        }
    }

    public void write(int a, int b) {
        synchronized (resourceB) {
            synchronized (resourceA) {
                resourceA.value = a;
                resourceB.value = b;
            }
        }
    }
}
 
假设read()Ҏ׃个线E启动,write()Ҏ由另外一个线E启动。读U程拥有resourceA锁,写线E将拥有resourceB锁,两者都坚持{待的话出现死锁?br />  
实际上,上面q个例子发生死锁的概率很。因为在代码内的某个点,CPU必须从读U程切换到写U程Q所以,死锁基本上不能发生?br />  
但是Q无Z码中发生死锁的概率有多小Q一旦发生死锁,E序死掉。有一些设计方法能帮助避免死锁Q包括始l按照预定义的顺序获取锁q一{略。已l超出SCJP的考试范围?br />  
八、线E同步小l?br />  
1、线E同步的目的是ؓ了保护多个线E反问一个资源时对资源的破坏?br /> 2、线E同步方法是通过锁来实现Q每个对象都有切仅有一个锁Q这个锁与一个特定的对象兌Q线E一旦获取了对象锁,其他讉K该对象的U程无法再讉K该对象的其他非同步方法?br /> 3、对于静态同步方法,锁是针对q个cȝQ锁对象是该cȝClass对象。静态和非静态方法的锁互不干预。一个线E获得锁Q当在一个同步方法中讉K另外对象上的同步ҎӞ会获取这两个对象锁?br /> 4、对于同步,要时L醒在哪个对象上同步,q是关键?br /> 5、编写线E安全的c,需要时L意对多个U程竞争讉K资源的逻辑和安全做出正的判断Q对“原子”操作做出分析Qƈ保证原子操作期间别的U程无法讉K竞争资源?br /> 6、当多个U程{待一个对象锁Ӟ没有获取到锁的线E将发生d?br /> 7、死锁是U程间相互等待锁锁造成的,在实际中发生的概率非常的。真让你写个死锁E序Q不一定好使,呵呵。但是,一旦程序发生死锁,E序死掉?/p>

suplayer 2009-04-09 12:37 发表评论
]]>
一个搜索加载jar包的dos批处理程?/title><link>http://m.tkk7.com/suplayer/archive/2008/11/20/241614.html</link><dc:creator>suplayer</dc:creator><author>suplayer</author><pubDate>Thu, 20 Nov 2008 05:16:00 GMT</pubDate><guid>http://m.tkk7.com/suplayer/archive/2008/11/20/241614.html</guid><wfw:comment>http://m.tkk7.com/suplayer/comments/241614.html</wfw:comment><comments>http://m.tkk7.com/suplayer/archive/2008/11/20/241614.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/suplayer/comments/commentRss/241614.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/suplayer/services/trackbacks/241614.html</trackback:ping><description><![CDATA[<p>@echo off<br /> setlocal enabledelayedexpansion  //讄延迟环境变量扩充<br /> set JAVA=%JAVA_HOME%\bin\java //java命o<br /> set OPTS=-Xms512M -Xmx512M -Xss128k -XX:+AggressiveOpts -XX:+UseParallelGC -XX:NewSize=64M //jvm参数<br /> set LIBPATH=..\lib //**jar包所在的目录<br /> set CONFIG=..\etc //properties文g目录<br /> set ENGINE=main.jar //d数类的包<br /> set CP=%CONFIG%;%ENGINE%; //classpath<br /> set MAIN=net.blogjava.Main //main class</p> <p>   //循环加蝲jar?br /> for /f %%i in ('dir /b %LIBPATH%\*.jar^|sort') do (<br />    set CP=!CP!%LIBPATH%\%%i;<br /> )</p> <p>echo ===============================================================================<br /> echo.<br /> echo   Engine Startup Environment<br /> echo.<br /> echo   JAVA: %JAVA%<br /> echo.<br /> echo   CONFIG: %CONFIG%<br /> echo.<br /> echo   JAVA_OPTS: %OPTS%<br /> echo.<br /> echo   CLASSPATH: %CP%<br /> echo.<br /> echo ===============================================================================<br /> echo.</p> <p>%JAVA% %OPTS% -cp %CP% %MAIN% //q行<br /> </p> <img src ="http://m.tkk7.com/suplayer/aggbug/241614.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/suplayer/" target="_blank">suplayer</a> 2008-11-20 13:16 <a href="http://m.tkk7.com/suplayer/archive/2008/11/20/241614.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java Properties c读取配|文?/title><link>http://m.tkk7.com/suplayer/archive/2008/10/20/235368.html</link><dc:creator>suplayer</dc:creator><author>suplayer</author><pubDate>Sun, 19 Oct 2008 20:58:00 GMT</pubDate><guid>http://m.tkk7.com/suplayer/archive/2008/10/20/235368.html</guid><wfw:comment>http://m.tkk7.com/suplayer/comments/235368.html</wfw:comment><comments>http://m.tkk7.com/suplayer/archive/2008/10/20/235368.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/suplayer/comments/commentRss/235368.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/suplayer/services/trackbacks/235368.html</trackback:ping><description><![CDATA[  <p><span style="font-family: 宋体">一Q?/span> .properties <span style="font-family: 宋体">文g的Ş?/span></p> <p># <span style="font-family: 宋体">以下为服务器、数据库信息</span></p> <p>dbPort = localhost </p> <p>databaseName = mydb </p> <p>dbUserName = root </p> <p>dbPassword = root </p> <p># <span style="font-family: 宋体">以下为数据库表信?/span></p> <p>dbTable = mytable </p> <p># <span style="font-family: 宋体">以下为服务器信息</span></p> <p>ip = 192.168.0.9 </p> <p><span style="font-family: 宋体">在上面的文g中我们假设该文g名ؓQ?/span> test.properties <span style="font-family: 宋体">文g。其?/span> # <span style="font-family: 宋体">开始的一行ؓ注释信息Q在{号“</span> = <span style="font-family: 宋体">”左边的我们称之ؓ</span> key <span style="font-family: 宋体">Q等?#8220;</span> = <span style="font-family: 宋体">”双的我们称之ؓ</span> value <span style="font-family: 宋体">。(其实是我们常说的键</span> - <span style="font-family: 宋体">值对Q?/span> key <span style="font-family: 宋体">应该是我们程序中的变量。?/span> value <span style="font-family: 宋体">是我们根据实际情况配|的?/span> </p> <p><span style="font-family: 宋体">二.</span> JDK <span style="font-family: 宋体">中的</span> Properties <span style="font-family: 宋体">c?/span> Properties <span style="font-family: 宋体">cd在于?/span> Java.util <span style="font-family: 宋体">中,该类l承?/span> Hashtable <span style="font-family: 宋体">Q它提供了几个主要的ҎQ?/span></p> <p>1<span style="font-family: 宋体">Q?/span> getProperty ( String key) <span style="font-family: 宋体">Q?/span>   <span style="font-family: 宋体">用指定的键在此属性列表中搜烦属性。也是通过参数</span> key <span style="font-family: 宋体">Q得?/span> key <span style="font-family: 宋体">所对应?/span> value<span style="font-family: 宋体">?/span></p> <p>2<span style="font-family: 宋体">Q?/span> load ( InputStream inStream) <span style="font-family: 宋体">Q从输入中d属性列表(键和元素对)。通过Ҏ定的文gQ比如说上面?/span> test.properties <span style="font-family: 宋体">文gQ进行装载来获取该文件中的所有键</span> - <span style="font-family: 宋体">值对。以?/span> getProperty ( String key) <span style="font-family: 宋体">来搜索?/span></p> <p>3<span style="font-family: 宋体">Q?/span> setProperty ( String key, String value) <span style="font-family: 宋体">Q调?/span> Hashtable <span style="font-family: 宋体">的方?/span> put <span style="font-family: 宋体">。他通过调用基类?/span>put<span style="font-family: 宋体">Ҏ来设|?/span> <span style="font-family: 宋体">?/span> - <span style="font-family: 宋体">值对?/span> </p> <p>4<span style="font-family: 宋体">Q?/span> store ( OutputStream out, String comments) <span style="font-family: 宋体">Q?/span>   <span style="font-family: 宋体">以适合使用</span> load <span style="font-family: 宋体">Ҏ加蝲?/span> Properties <span style="font-family: 宋体">表中的格式,此</span> Properties <span style="font-family: 宋体">表中的属性列表(键和元素对)写入输出。与</span> load <span style="font-family: 宋体">Ҏ相反Q该Ҏ键</span> - <span style="font-family: 宋体">值对写入到指定的文g中去?/span></p> <p>5<span style="font-family: 宋体">Q?/span> clear () <span style="font-family: 宋体">Q清除所有装载的</span> <span style="font-family: 宋体">?/span> - <span style="font-family: 宋体">值对。该Ҏ在基cM提供?/span></p> <p><span style="font-family: 宋体">有了以上几个Ҏ我们可以对</span> .properties <span style="font-family: 宋体">文gq行操作了!</span></p> <p><span style="font-family: 宋体">三.代码实例</span></p> <p>package configuration;</p> <p>import java.io.FileInputStream;</p> <p>import java.io.FileNotFoundException;</p> <p>import java.io.FileOutputStream;</p> <p>import java.io.IOException;</p> <p>import java.util.Properties;</p> <p>/** *//**</p> <p> * <span style="font-family: 宋体">d</span>properties<span style="font-family: 宋体">文g</span></p> <p> * @author Qutr</p> <p> *</p> <p> */</p> <p>public class Configuration</p> <p>...{</p> <p>    private Properties propertie;</p> <p>    private FileInputStream inputFile;</p> <p>    private FileOutputStream outputFile;</p> <p>    /** *//**</p> <p>     * <span style="font-family: 宋体">初始?/span>Configuration<span style="font-family: 宋体">c?/span></p> <p>     */</p> <p>    public Configuration()</p> <p>    ...{</p> <p>        propertie = new Properties();</p> <p>    }</p> <p>    /** *//**</p> <p>     * <span style="font-family: 宋体">初始?/span>Configuration<span style="font-family: 宋体">c?/span></p> <p>     * @param filePath <span style="font-family: 宋体">要读取的配置文g的\?/span>+<span style="font-family: 宋体">名称</span></p> <p>     */</p> <p>    public Configuration(String filePath)</p> <p>    ...{</p> <p>        propertie = new Properties();</p> <p>        try ...{</p> <p>            inputFile = new FileInputStream(filePath);</p> <p>            propertie.load(inputFile);</p> <p>            inputFile.close();</p> <p>        } catch (FileNotFoundException ex) ...{</p> <p>            System.out.println("<span style="font-family: 宋体">d属性文?/span>---><span style="font-family: 宋体">p|Q?/span>- <span style="font-family: 宋体">原因Q文件\径错误或者文件不存在</span>");</p> <p>            ex.printStackTrace();</p> <p>        } catch (IOException ex) ...{</p> <p>            System.out.println("<span style="font-family: 宋体">装蝲文g</span>---><span style="font-family: 宋体">p|</span>!");</p> <p>            ex.printStackTrace();</p> <p>        }</p> <p>    }//end ReadConfigInfo(...)</p> <p>    /** *//**</p> <p>     * <span style="font-family: 宋体">重蝲函数Q得?/span>key<span style="font-family: 宋体">的?/span></p> <p>     * @param key <span style="font-family: 宋体">取得其值的?/span></p> <p>     * @return key<span style="font-family: 宋体">的?/span></p> <p>     */</p> <p>    public String getValue(String key)</p> <p>    ...{</p> <p>        if(propertie.containsKey(key))...{</p> <p>            String value = propertie.getProperty(key);//<span style="font-family: 宋体">得到某一属性的?/span></p> <p>            return value;</p> <p>        }</p> <p>        else </p> <p>            return "";</p> <p>    }//end getValue(...)</p> <p>    /** *//**</p> <p>     * <span style="font-family: 宋体">重蝲函数Q得?/span>key<span style="font-family: 宋体">的?/span></p> <p>     * @param fileName properties<span style="font-family: 宋体">文g的\?/span>+<span style="font-family: 宋体">文g?/span></p> <p>     * @param key <span style="font-family: 宋体">取得其值的?/span></p> <p>     * @return key<span style="font-family: 宋体">的?/span></p> <p>     */</p> <p>    public String getValue(String fileName, String key)</p> <p>    ...{</p> <p>        try ...{</p> <p>            String value = "";</p> <p>            inputFile = new FileInputStream(fileName);</p> <p>            propertie.load(inputFile);</p> <p>            inputFile.close();</p> <p>            if(propertie.containsKey(key))...{</p> <p>                value = propertie.getProperty(key);</p> <p>                return value;</p> <p>            }else</p> <p>                return value;</p> <p>        } catch (FileNotFoundException e) ...{</p> <p>            e.printStackTrace();</p> <p>            return "";</p> <p>        } catch (IOException e) ...{</p> <p>            e.printStackTrace();</p> <p>            return "";</p> <p>        } catch (Exception ex) ...{</p> <p>            ex.printStackTrace();</p> <p>            return "";</p> <p>       }</p> <p>    }//end getValue(...)</p> <p>    /** *//**</p> <p>     * <span style="font-family: 宋体">清除</span>properties<span style="font-family: 宋体">文g中所有的</span>key<span style="font-family: 宋体">和其?/span></p> <p>     */</p> <p>    public void clear()</p> <p>    ...{</p> <p>        propertie.clear();</p> <p>    }//end clear();</p> <p>    /** *//**</p> <p>     * <span style="font-family: 宋体">改变或添加一?/span>key<span style="font-family: 宋体">的|?/span>key<span style="font-family: 宋体">存在?/span>properties<span style="font-family: 宋体">文g中时?/span>key<span style="font-family: 宋体">的D</span>value<span style="font-family: 宋体">所代替Q?/span></p> <p>     * <span style="font-family: 宋体">?/span>key<span style="font-family: 宋体">不存在时Q该</span>key<span style="font-family: 宋体">的值是</span>value</p> <p>     * @param key <span style="font-family: 宋体">要存入的?/span></p> <p>     * @param value <span style="font-family: 宋体">要存入的?/span></p> <p>     */</p> <p>    public void setValue(String key, String value)</p> <p>    ...{</p> <p>        propertie.setProperty(key, value);</p> <p>    }//end setValue(...)</p> <p>    /** *//**</p> <p>     * <span style="font-family: 宋体">更改后的文件数据存入指定的文g中,该文件可以事先不存在?/span></p> <p>     * @param fileName <span style="font-family: 宋体">文g路径</span>+<span style="font-family: 宋体">文g名称</span></p> <p>     * @param description <span style="font-family: 宋体">对该文g的描q?/span></p> <p>     */</p> <p>    public void saveFile(String fileName, String description)</p> <p>    ...{</p> <p>        try ...{</p> <p>            outputFile = new FileOutputStream(fileName);</p> <p>            propertie.store(outputFile, description);</p> <p>            outputFile.close();</p> <p>        } catch (FileNotFoundException e) ...{</p> <p>            e.printStackTrace();</p> <p>        } catch (IOException ioe)...{</p> <p>            ioe.printStackTrace();</p> <p>        }</p> <p>    }//end saveFile(...)</p> <p>    public static void main(String[] args)</p> <p>    ...{</p> <p>        Configuration rc = new Configuration("."config"test.properties");//<span style="font-family: 宋体">相对路径</span></p> <p>        String ip = rc.getValue("ipp");//<span style="font-family: 宋体">以下d</span>properties<span style="font-family: 宋体">文g的?/span></p> <p>        String host = rc.getValue("host");</p> <p>        String tab = rc.getValue("tab");</p> <p>        System.out.println("ip = " + ip + "ip-test leng = " + "ip-test".length());//<span style="font-family: 宋体">以下输出</span>properties<span style="font-family: 宋体">d的?/span></p> <p>        System.out.println("ip's length = " + ip.length());</p> <p>        System.out.println("host = " + host);</p> <p>        System.out.println("tab = " + tab);</p> <p>        Configuration cf = new Configuration();</p> <p>        String ipp = cf.getValue("."config"test.properties", "ip");</p> <p>        System.out.println("ipp = " + ipp);</p> <p>//        cf.clear();</p> <p>        cf.setValue("min", "999");</p> <p>        cf.setValue("max", "1000");</p> <p>        cf.saveFile("."config"save.perperties", "test");</p> <p>//        Configuration saveCf = new Configuration();</p> <p>//        saveCf.setValue("min", "10");</p> <p>//        saveCf.setValue("max", "1000");</p> <p>//        saveCf.saveFile("."config"save.perperties");</p> <p>    }//end main()</p> <p>}//end class ReadConfigInfo</p> <p><span style="font-family: 宋体">四.结</span> <span style="font-family: 宋体">通过上面的例子不隄出,?/span>Java<span style="font-family: 宋体">中操作配|文件是非常单的。在一个需要用到大量配|信息的模块或系l里Q我们有必要装一个专门的cL׃用。通过最后的</span>main<span style="font-family: 宋体">函数调用Q相信大家可以看cȝ用法。不x出希望大家多多指炏V?/span></p> <p>Java properties<span style="font-family: 宋体">文g的操?/span> </p> <p>----------------------------------------------------</p> <p>       java<span style="font-family: 宋体">中的</span>properties<span style="font-family: 宋体">文g是一U配|文Ӟ主要用于表达配置信息Q文件类型ؓ</span>*.properties<span style="font-family: 宋体">Q格式ؓ文本文gQ文件的内容是格式是</span>"<span style="font-family: 宋体">?/span>=<span style="font-family: 宋体">?/span>"<span style="font-family: 宋体">的格式,?/span>properties<span style="font-family: 宋体">文g中,可以?/span>"#"<span style="font-family: 宋体">来作注释Q?/span>properties<span style="font-family: 宋体">文g?/span>Java<span style="font-family: 宋体">~程中用到的地方很多Q操作很方便。下面是一个操?/span>java properties<span style="font-family: 宋体">文g的例子,l出了操作方法和</span>properties<span style="font-family: 宋体">文g。从中可以看到如何读?/span>properties<span style="font-family: 宋体">文gQƈ应用d出来的|是学习操?/span>properties<span style="font-family: 宋体">文g的好例子?/span></p> <p><span style="font-family: 宋体">一?/span>properties<span style="font-family: 宋体">文g</span> </p> <p>IcisReport.properties</p> <p>------------------------------------------------------</p> <p>#################################</p> <p>#   <span style="font-family: 宋体">工商报表应用</span>IcisReport<span style="font-family: 宋体">的配|文?/span>       #</p> <p>#   <span style="font-family: 宋体">作者:h?/span>                                              #</p> <p>#   <span style="font-family: 宋体">日期Q?/span>2006<span style="font-family: 宋体">q?/span>11<span style="font-family: 宋体">?/span>21<span style="font-family: 宋体">?/span>                           #</p> <p>#################################</p> <p>#</p> <p>#   <span style="font-family: 宋体">说明</span>:<span style="font-family: 宋体">业务pȝ</span>TopIcis<span style="font-family: 宋体">和报表系l?/span>IcisReport<span style="font-family: 宋体">是分ȝ</span></p> <p>#   <span style="font-family: 宋体">可分开部vC同的服务器上Q也可以部v到同一个服?/span></p> <p>#   <span style="font-family: 宋体">器上</span>;IcisReprot<span style="font-family: 宋体">作ؓ独立?/span>web<span style="font-family: 宋体">应用E序可以使用M</span></p> <p>#   <span style="font-family: 宋体">?/span>Servlet<span style="font-family: 宋体">容器或?/span>J2EE<span style="font-family: 宋体">服务器部|ƈ单独q行Q也可以</span></p> <p>#   <span style="font-family: 宋体">通过业务pȝ的接口调用作Z务系l的一个库来应?/span>.</p> <p>#</p> <p>#   IcisReport<span style="font-family: 宋体">?/span>ip</p> <p>IcisReport.server.ip=192.168.3.143</p> <p>#   IcisReport<span style="font-family: 宋体">的端?/span></p> <p>IcisReport.server.port=8080</p> <p>#   IcisReport<span style="font-family: 宋体">的上下文路径</span></p> <p>IcisReport.contextPath=/IcisReport </p> <p>------------------------------------------------------ </p> <p><span style="font-family: 宋体">二、操?/span>properties<span style="font-family: 宋体">文g?/span>java<span style="font-family: 宋体">Ҏ</span> </p> <p><span style="font-family: 宋体">下面是一个操?/span>properties<span style="font-family: 宋体">文g的方?/span></p> <p>    /** *//**</p> <p>     * @return <span style="font-family: 宋体">获取</span>IcisReport<span style="font-family: 宋体">报表应用?/span>URL</p> <p>     */</p> <p>    private String getIcisReportURL() ...{</p> <p>        String icisReportURL = ""; // IcisReport<span style="font-family: 宋体">报表应用?/span>URL</p> <p>        String icisReportServerIP = ""; // IcisReport<span style="font-family: 宋体">服务器的</span>IP</p> <p>        String icisReportServerPort = ""; // IcisReport<span style="font-family: 宋体">服务器的服务端口</span></p> <p>        String icisReportContextPath = ""; // IcisReport<span style="font-family: 宋体">应用?/span>ContextPath</p> <p>        Properties prop = new Properties();</p> <p>        InputStream in;</p> <p>        try ...{</p> <p>            in = getClass().getResourceAsStream("/IcisReport.properties");</p> <p>            prop.load(in);</p> <p>            Set keyValue = prop.keySet();</p> <p>            for (Iterator it = keyValue.iterator(); it.hasNext();) ...{</p> <p>                String key = (String) it.next();</p> <p>                if (key.equals("IcisReport.server.ip")) ...{</p> <p>                    icisReportServerIP = (String) prop.get(key);</p> <p>                } else if (key.equals("IcisReport.server.port")) ...{</p> <p>                    icisReportServerPort = (String) prop.get(key);</p> <p>                } else if (key.equals("IcisReport.contextPath")) ...{</p> <p>                    icisReportContextPath = (String) prop.get(key);</p> <p>                }</p> <p>            }</p> <p>        } catch (Exception e) ...{</p> <p>            log.error("IO<span style="font-family: 宋体">d出错Q找不到</span>IcisReport.properties!");</p> <p>        }</p> <p>        if (icisReportServerIP.trim().equals("")) ...{</p> <p>            log</p> <p>                    .error("<span style="font-family: 宋体">h查配|文?/span>IcisReport.properties<span style="font-family: 宋体">中的</span>IcisReport.server.ip<span style="font-family: 宋体">的值是否正?/span>!");</p> <p>        }</p> <p>        if (icisReportServerPort.trim().equals("")) ...{</p> <p>            log</p> <p>                    .error("<span style="font-family: 宋体">h查配|文?/span>IcisReport.properties<span style="font-family: 宋体">中的</span>IcisReport.server.port<span style="font-family: 宋体">的值是否正?/span>!");</p> <p>        }</p> <p>        if (icisReportServerPort.trim().equals("")) ...{</p> <p>            log</p> <p>                    .error("<span style="font-family: 宋体">h查配|文?/span>IcisReport.properties<span style="font-family: 宋体">中的</span>IcisReport.server.port<span style="font-family: 宋体">的值是否正?/span>!");</p> <p>        }</p> <p>        icisReportURL = "http://" + icisReportServerIP.trim() + ":"</p> <p>                + icisReportServerPort.trim() + icisReportContextPath.trim();</p> <p>       log.info("<span style="font-family: 宋体">获取?/span>icisReportURL=" + icisReportURL);</p> <p>        return icisReportURL;</p> <p>    }</p> <p><span style="font-family: 宋体">ȝQ?/span>java<span style="font-family: 宋体">?/span>properties<span style="font-family: 宋体">文g需要放?/span>classpath<span style="font-family: 宋体">下面Q这L序才能读取到Q有?/span>classpath<span style="font-family: 宋体">实际上就?/span>java<span style="font-family: 宋体">cL者库的存放\径,?/span>java<span style="font-family: 宋体">工程中,</span>properties<span style="font-family: 宋体">攑ֈ</span>class<span style="font-family: 宋体">文g一块。在</span>web<span style="font-family: 宋体">应用中,最单的Ҏ是放?/span>web<span style="font-family: 宋体">应用?/span>WEB-INF"classes<span style="font-family: 宋体">目录下即可,也可以放在其他文件夹下面Q这时候需要在讄</span>classpath<span style="font-family: 宋体">环境变量的时候,这个文件夹路径加到</span>classpath<span style="font-family: 宋体">变量中,q样也也可以d到。在此,你需要对</span>classpath<span style="font-family: 宋体">有个深刻理解Q?/span>classpath<span style="font-family: 宋体">l非pȝ中刻意设定的那个pȝ环境变量Q?/span>WEB-INF"classes<span style="font-family: 宋体">其实也是Q?/span>java<span style="font-family: 宋体">工程?/span>class<span style="font-family: 宋体">文g目录也是?/span></p> <p><span style="font-family: 宋体">该文章{载自|络大本营:</span>http://www.xrss.cn/Dev/JAVA/200761514149.Html</p> <img src ="http://m.tkk7.com/suplayer/aggbug/235368.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/suplayer/" target="_blank">suplayer</a> 2008-10-20 04:58 <a href="http://m.tkk7.com/suplayer/archive/2008/10/20/235368.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> JDK5.0?1个主要新特征http://m.tkk7.com/suplayer/archive/2008/10/17/235023.htmlsuplayersuplayerFri, 17 Oct 2008 10:40:00 GMThttp://m.tkk7.com/suplayer/archive/2008/10/17/235023.htmlhttp://m.tkk7.com/suplayer/comments/235023.htmlhttp://m.tkk7.com/suplayer/archive/2008/10/17/235023.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/235023.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/235023.html阅读全文

suplayer 2008-10-17 18:40 发表评论
]]>
java跨^台的注意事项http://m.tkk7.com/suplayer/archive/2008/10/17/235021.htmlsuplayersuplayerFri, 17 Oct 2008 10:39:00 GMThttp://m.tkk7.com/suplayer/archive/2008/10/17/235021.htmlhttp://m.tkk7.com/suplayer/comments/235021.htmlhttp://m.tkk7.com/suplayer/archive/2008/10/17/235021.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/235021.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/235021.html阅读全文

suplayer 2008-10-17 18:39 发表评论
]]>
Java应用开发技巧:可能用堆栈变?/title><link>http://m.tkk7.com/suplayer/archive/2008/10/17/235022.html</link><dc:creator>suplayer</dc:creator><author>suplayer</author><pubDate>Fri, 17 Oct 2008 10:39:00 GMT</pubDate><guid>http://m.tkk7.com/suplayer/archive/2008/10/17/235022.html</guid><wfw:comment>http://m.tkk7.com/suplayer/comments/235022.html</wfw:comment><comments>http://m.tkk7.com/suplayer/archive/2008/10/17/235022.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/suplayer/comments/commentRss/235022.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/suplayer/services/trackbacks/235022.html</trackback:ping><description><![CDATA[    只有注册用户d后才能阅读该文?a href='http://m.tkk7.com/suplayer/archive/2008/10/17/235022.html'>阅读全文</a><img src ="http://m.tkk7.com/suplayer/aggbug/235022.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/suplayer/" target="_blank">suplayer</a> 2008-10-17 18:39 <a href="http://m.tkk7.com/suplayer/archive/2008/10/17/235022.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java多线E程序设计详l解?/title><link>http://m.tkk7.com/suplayer/archive/2008/10/17/235018.html</link><dc:creator>suplayer</dc:creator><author>suplayer</author><pubDate>Fri, 17 Oct 2008 10:36:00 GMT</pubDate><guid>http://m.tkk7.com/suplayer/archive/2008/10/17/235018.html</guid><wfw:comment>http://m.tkk7.com/suplayer/comments/235018.html</wfw:comment><comments>http://m.tkk7.com/suplayer/archive/2008/10/17/235018.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/suplayer/comments/commentRss/235018.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/suplayer/services/trackbacks/235018.html</trackback:ping><description><![CDATA[    只有注册用户d后才能阅读该文?a href='http://m.tkk7.com/suplayer/archive/2008/10/17/235018.html'>阅读全文</a><img src ="http://m.tkk7.com/suplayer/aggbug/235018.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/suplayer/" target="_blank">suplayer</a> 2008-10-17 18:36 <a href="http://m.tkk7.com/suplayer/archive/2008/10/17/235018.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java源代码分?---jvm.dll装蝲q程http://m.tkk7.com/suplayer/archive/2008/10/17/235017.htmlsuplayersuplayerFri, 17 Oct 2008 10:36:00 GMThttp://m.tkk7.com/suplayer/archive/2008/10/17/235017.htmlhttp://m.tkk7.com/suplayer/comments/235017.htmlhttp://m.tkk7.com/suplayer/archive/2008/10/17/235017.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/235017.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/235017.html阅读全文

suplayer 2008-10-17 18:36 发表评论
]]>
JVM的垃圑֛收机制详解和调优http://m.tkk7.com/suplayer/archive/2008/10/17/235014.htmlsuplayersuplayerFri, 17 Oct 2008 10:33:00 GMThttp://m.tkk7.com/suplayer/archive/2008/10/17/235014.htmlhttp://m.tkk7.com/suplayer/comments/235014.htmlhttp://m.tkk7.com/suplayer/archive/2008/10/17/235014.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/235014.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/235014.html阅读全文

suplayer 2008-10-17 18:33 发表评论
]]>
dProperties文g六种Ҏhttp://m.tkk7.com/suplayer/archive/2008/10/17/235010.htmlsuplayersuplayerFri, 17 Oct 2008 10:30:00 GMThttp://m.tkk7.com/suplayer/archive/2008/10/17/235010.htmlhttp://m.tkk7.com/suplayer/comments/235010.htmlhttp://m.tkk7.com/suplayer/archive/2008/10/17/235010.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/235010.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/235010.html阅读全文

suplayer 2008-10-17 18:30 发表评论
]]>
实现了两个超大数?整数或QҎ都可?的相加,也可以进行精度控?/title><link>http://m.tkk7.com/suplayer/archive/2008/10/17/234904.html</link><dc:creator>suplayer</dc:creator><author>suplayer</author><pubDate>Fri, 17 Oct 2008 06:35:00 GMT</pubDate><guid>http://m.tkk7.com/suplayer/archive/2008/10/17/234904.html</guid><wfw:comment>http://m.tkk7.com/suplayer/comments/234904.html</wfw:comment><comments>http://m.tkk7.com/suplayer/archive/2008/10/17/234904.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/suplayer/comments/commentRss/234904.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/suplayer/services/trackbacks/234904.html</trackback:ping><description><![CDATA[    只有注册用户d后才能阅读该文?a href='http://m.tkk7.com/suplayer/archive/2008/10/17/234904.html'>阅读全文</a><img src ="http://m.tkk7.com/suplayer/aggbug/234904.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/suplayer/" target="_blank">suplayer</a> 2008-10-17 14:35 <a href="http://m.tkk7.com/suplayer/archive/2008/10/17/234904.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个读取properties的类http://m.tkk7.com/suplayer/archive/2008/10/17/234903.htmlsuplayersuplayerFri, 17 Oct 2008 06:34:00 GMThttp://m.tkk7.com/suplayer/archive/2008/10/17/234903.htmlhttp://m.tkk7.com/suplayer/comments/234903.htmlhttp://m.tkk7.com/suplayer/archive/2008/10/17/234903.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/234903.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/234903.html阅读全文

suplayer 2008-10-17 14:34 发表评论
]]>
JAVAdPropertiesQ配|文Ӟ工具c?http://m.tkk7.com/suplayer/archive/2008/10/17/234897.htmlsuplayersuplayerFri, 17 Oct 2008 06:31:00 GMThttp://m.tkk7.com/suplayer/archive/2008/10/17/234897.htmlhttp://m.tkk7.com/suplayer/comments/234897.htmlhttp://m.tkk7.com/suplayer/archive/2008/10/17/234897.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/234897.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/234897.html阅读全文

suplayer 2008-10-17 14:31 发表评论
]]>
用javad文本文ghttp://m.tkk7.com/suplayer/archive/2008/10/16/234636.htmlsuplayersuplayerThu, 16 Oct 2008 01:58:00 GMThttp://m.tkk7.com/suplayer/archive/2008/10/16/234636.htmlhttp://m.tkk7.com/suplayer/comments/234636.htmlhttp://m.tkk7.com/suplayer/archive/2008/10/16/234636.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/234636.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/234636.html阅读全文

suplayer 2008-10-16 09:58 发表评论
]]>
内存理工具c,支持单的垃圾回收http://m.tkk7.com/suplayer/archive/2008/10/16/234634.htmlsuplayersuplayerThu, 16 Oct 2008 01:57:00 GMThttp://m.tkk7.com/suplayer/archive/2008/10/16/234634.htmlhttp://m.tkk7.com/suplayer/comments/234634.htmlhttp://m.tkk7.com/suplayer/archive/2008/10/16/234634.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/234634.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/234634.html阅读全文

suplayer 2008-10-16 09:57 发表评论
]]>
一个简单的Cache工具c,支持多线E?/title><link>http://m.tkk7.com/suplayer/archive/2008/10/16/234633.html</link><dc:creator>suplayer</dc:creator><author>suplayer</author><pubDate>Thu, 16 Oct 2008 01:54:00 GMT</pubDate><guid>http://m.tkk7.com/suplayer/archive/2008/10/16/234633.html</guid><wfw:comment>http://m.tkk7.com/suplayer/comments/234633.html</wfw:comment><comments>http://m.tkk7.com/suplayer/archive/2008/10/16/234633.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/suplayer/comments/commentRss/234633.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/suplayer/services/trackbacks/234633.html</trackback:ping><description><![CDATA[    只有注册用户d后才能阅读该文?a href='http://m.tkk7.com/suplayer/archive/2008/10/16/234633.html'>阅读全文</a><img src ="http://m.tkk7.com/suplayer/aggbug/234633.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/suplayer/" target="_blank">suplayer</a> 2008-10-16 09:54 <a href="http://m.tkk7.com/suplayer/archive/2008/10/16/234633.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java做的比较完善的FTPq接上传下蝲文g(?http://m.tkk7.com/suplayer/archive/2008/10/16/234622.htmlsuplayersuplayerThu, 16 Oct 2008 01:32:00 GMThttp://m.tkk7.com/suplayer/archive/2008/10/16/234622.htmlhttp://m.tkk7.com/suplayer/comments/234622.htmlhttp://m.tkk7.com/suplayer/archive/2008/10/16/234622.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/234622.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/234622.html阅读全文

suplayer 2008-10-16 09:32 发表评论
]]>
自动配置JAVA环境变量http://m.tkk7.com/suplayer/archive/2008/10/16/234581.htmlsuplayersuplayerWed, 15 Oct 2008 18:52:00 GMThttp://m.tkk7.com/suplayer/archive/2008/10/16/234581.htmlhttp://m.tkk7.com/suplayer/comments/234581.htmlhttp://m.tkk7.com/suplayer/archive/2008/10/16/234581.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/234581.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/234581.html阅读全文

suplayer 2008-10-16 02:52 发表评论
]]>
bat执行javaE序LdosH口 http://m.tkk7.com/suplayer/archive/2008/07/16/215270.htmlsuplayersuplayerWed, 16 Jul 2008 09:42:00 GMThttp://m.tkk7.com/suplayer/archive/2008/07/16/215270.htmlhttp://m.tkk7.com/suplayer/comments/215270.htmlhttp://m.tkk7.com/suplayer/archive/2008/07/16/215270.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/215270.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/215270.html阅读全文

suplayer 2008-07-16 17:42 发表评论
]]>
Linux下JNI调用 Q{Q?/title><link>http://m.tkk7.com/suplayer/archive/2008/07/16/215135.html</link><dc:creator>suplayer</dc:creator><author>suplayer</author><pubDate>Wed, 16 Jul 2008 02:01:00 GMT</pubDate><guid>http://m.tkk7.com/suplayer/archive/2008/07/16/215135.html</guid><wfw:comment>http://m.tkk7.com/suplayer/comments/215135.html</wfw:comment><comments>http://m.tkk7.com/suplayer/archive/2008/07/16/215135.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/suplayer/comments/commentRss/215135.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/suplayer/services/trackbacks/215135.html</trackback:ping><description><![CDATA[    只有注册用户d后才能阅读该文?a href='http://m.tkk7.com/suplayer/archive/2008/07/16/215135.html'>阅读全文</a><img src ="http://m.tkk7.com/suplayer/aggbug/215135.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/suplayer/" target="_blank">suplayer</a> 2008-07-16 10:01 <a href="http://m.tkk7.com/suplayer/archive/2008/07/16/215135.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DAO?/title><link>http://m.tkk7.com/suplayer/archive/2008/07/15/214900.html</link><dc:creator>suplayer</dc:creator><author>suplayer</author><pubDate>Tue, 15 Jul 2008 02:39:00 GMT</pubDate><guid>http://m.tkk7.com/suplayer/archive/2008/07/15/214900.html</guid><wfw:comment>http://m.tkk7.com/suplayer/comments/214900.html</wfw:comment><comments>http://m.tkk7.com/suplayer/archive/2008/07/15/214900.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/suplayer/comments/commentRss/214900.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/suplayer/services/trackbacks/214900.html</trackback:ping><description><![CDATA[    只有注册用户d后才能阅读该文?a href='http://m.tkk7.com/suplayer/archive/2008/07/15/214900.html'>阅读全文</a><img src ="http://m.tkk7.com/suplayer/aggbug/214900.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/suplayer/" target="_blank">suplayer</a> 2008-07-15 10:39 <a href="http://m.tkk7.com/suplayer/archive/2008/07/15/214900.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java集合http://m.tkk7.com/suplayer/archive/2008/07/15/214899.htmlsuplayersuplayerTue, 15 Jul 2008 02:38:00 GMThttp://m.tkk7.com/suplayer/archive/2008/07/15/214899.htmlhttp://m.tkk7.com/suplayer/comments/214899.htmlhttp://m.tkk7.com/suplayer/archive/2008/07/15/214899.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/214899.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/214899.html阅读全文

suplayer 2008-07-15 10:38 发表评论
]]>
Eclipse启动参数http://m.tkk7.com/suplayer/archive/2008/07/15/214898.htmlsuplayersuplayerTue, 15 Jul 2008 02:37:00 GMThttp://m.tkk7.com/suplayer/archive/2008/07/15/214898.htmlhttp://m.tkk7.com/suplayer/comments/214898.htmlhttp://m.tkk7.com/suplayer/archive/2008/07/15/214898.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/214898.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/214898.html阅读全文

suplayer 2008-07-15 10:37 发表评论
]]>
javadoc注释标签语法http://m.tkk7.com/suplayer/archive/2008/07/15/214897.htmlsuplayersuplayerTue, 15 Jul 2008 02:34:00 GMThttp://m.tkk7.com/suplayer/archive/2008/07/15/214897.htmlhttp://m.tkk7.com/suplayer/comments/214897.htmlhttp://m.tkk7.com/suplayer/archive/2008/07/15/214897.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/214897.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/214897.html阅读全文

suplayer 2008-07-15 10:34 发表评论
]]>
Javadoc生成API文档http://m.tkk7.com/suplayer/archive/2008/07/15/214895.htmlsuplayersuplayerTue, 15 Jul 2008 02:30:00 GMThttp://m.tkk7.com/suplayer/archive/2008/07/15/214895.htmlhttp://m.tkk7.com/suplayer/comments/214895.htmlhttp://m.tkk7.com/suplayer/archive/2008/07/15/214895.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/214895.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/214895.html阅读全文

suplayer 2008-07-15 10:30 发表评论
]]>
Java中TimerQTimerTask的用(二)http://m.tkk7.com/suplayer/archive/2008/07/07/212995.htmlsuplayersuplayerMon, 07 Jul 2008 04:03:00 GMThttp://m.tkk7.com/suplayer/archive/2008/07/07/212995.htmlhttp://m.tkk7.com/suplayer/comments/212995.htmlhttp://m.tkk7.com/suplayer/archive/2008/07/07/212995.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/212995.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/212995.html阅读全文

suplayer 2008-07-07 12:03 发表评论
]]>
Java中Timer和TimerTask使用http://m.tkk7.com/suplayer/archive/2008/07/07/212992.htmlsuplayersuplayerMon, 07 Jul 2008 03:45:00 GMThttp://m.tkk7.com/suplayer/archive/2008/07/07/212992.htmlhttp://m.tkk7.com/suplayer/comments/212992.htmlhttp://m.tkk7.com/suplayer/archive/2008/07/07/212992.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/212992.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/212992.html阅读全文

suplayer 2008-07-07 11:45 发表评论
]]>
详解Java多线E技术中所有方?/title><link>http://m.tkk7.com/suplayer/archive/2008/07/01/211924.html</link><dc:creator>suplayer</dc:creator><author>suplayer</author><pubDate>Tue, 01 Jul 2008 07:38:00 GMT</pubDate><guid>http://m.tkk7.com/suplayer/archive/2008/07/01/211924.html</guid><wfw:comment>http://m.tkk7.com/suplayer/comments/211924.html</wfw:comment><comments>http://m.tkk7.com/suplayer/archive/2008/07/01/211924.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/suplayer/comments/commentRss/211924.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/suplayer/services/trackbacks/211924.html</trackback:ping><description><![CDATA[    只有注册用户d后才能阅读该文?a href='http://m.tkk7.com/suplayer/archive/2008/07/01/211924.html'>阅读全文</a><img src ="http://m.tkk7.com/suplayer/aggbug/211924.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/suplayer/" target="_blank">suplayer</a> 2008-07-01 15:38 <a href="http://m.tkk7.com/suplayer/archive/2008/07/01/211924.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>~写安全的Java代码http://m.tkk7.com/suplayer/archive/2008/07/01/211921.htmlsuplayersuplayerTue, 01 Jul 2008 07:33:00 GMThttp://m.tkk7.com/suplayer/archive/2008/07/01/211921.htmlhttp://m.tkk7.com/suplayer/comments/211921.htmlhttp://m.tkk7.com/suplayer/archive/2008/07/01/211921.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/211921.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/211921.html阅读全文

suplayer 2008-07-01 15:33 发表评论
]]>
Java加密解密---自定义类加蝲器的应用http://m.tkk7.com/suplayer/archive/2008/07/01/211919.htmlsuplayersuplayerTue, 01 Jul 2008 07:31:00 GMThttp://m.tkk7.com/suplayer/archive/2008/07/01/211919.htmlhttp://m.tkk7.com/suplayer/comments/211919.htmlhttp://m.tkk7.com/suplayer/archive/2008/07/01/211919.html#Feedback0http://m.tkk7.com/suplayer/comments/commentRss/211919.htmlhttp://m.tkk7.com/suplayer/services/trackbacks/211919.html阅读全文

suplayer 2008-07-01 15:31 发表评论
]]>
վ֩ģ壺 ŮvƬ| 1000žžδʮ | һ| AV뾫Ʒ| AVרAVѿ | þþƷһ| ŮƵվ| AV뾫Ʒ| һëƬѿ| | 51ҹƷƵ| ަv߾Ʒ| Ʒһ| һһ| 9420ѸƵ| ŮԸ߰վ| 99ƷȫѹۿƵ| ëƬAV뾫Ʒҹ| ѹۿ˳վ| Ʒhdѹۿ| ۺϾþۺϼþ| 97߹ۿƵ| ۺһպ| Ļѹۿ| ĻѸ| ޺Ļ| 18ڵվ| ŮƵ.ַ| ޳AƬ߹ۿ벻 | ҹ޾ƷӰ| þù޾ƷӰԺ| Ʒѿþþ| ޾Ʒվ| ҹ޲| 91ѹۿվ| ߳Ķ | ˾ƷƵȫ弶| AëƬëƬ| ޸Ӱһ?| ִӲëƬ| йxxxxxѿƵ|