??xml version="1.0" encoding="utf-8" standalone="yes"?>精品久久久久一区二区三区,日韩和欧美的一区,五月天精品一区二区三区http://www.aygfsteel.com/Jody/zh-cnSat, 17 May 2025 08:34:18 GMTSat, 17 May 2025 08:34:18 GMT60爱和被爱的成?/title><link>http://www.aygfsteel.com/Jody/archive/2006/11/30/84542.html</link><dc:creator>zhaofei1394</dc:creator><author>zhaofei1394</author><pubDate>Thu, 30 Nov 2006 05:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/Jody/archive/2006/11/30/84542.html</guid><wfw:comment>http://www.aygfsteel.com/Jody/comments/84542.html</wfw:comment><comments>http://www.aygfsteel.com/Jody/archive/2006/11/30/84542.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Jody/comments/commentRss/84542.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Jody/services/trackbacks/84542.html</trackback:ping><description><![CDATA[從前有個書?和未婚妻約好在某q某月某日結?<br /><br /> 到那一?未婚d嫁了別?br /><br /> 書生受此打擊,一病不?<br /><br /> 家h用盡各種辦法都無能為?眼看書生奄奄一?<br /><br /> 這時,路過一游方僧h,得知情況,決定點化一下他.<br /><br /> 僧hC床前,從懷裡摸Z面鏡子叫書生?<br /> <br /><br /> 書生看到茫茫大v,一名遇害的奛_一i不掛地w在L?.<br /><br /> <br /> 路過一?看一?搖搖?C....<br /><br /> 又\過一?衣服脫?i女屍蓋?C....<br /><br /> 再\過一?過去,挖個坑,心翼把屍體掩埋了............<br /><br /> <br /> 疑惑?畫面切換.書生看到自己的未婚妻.<br /><br /> z房q,被她丈夫掀赯頭的瞬間...<br /><br /> <br /> 書生不明所?<br /> <br /><br /> 僧h解釋?那具L上的奛_是你未婚妻的前?<br /><br /> 你是W?個\過的?曄過他一件衣?<br /><br /> <br /> 她今生和你相戀,只為還你一個情.<br /><br /> 但是Ҏi要q一生一世的?<br /><br /> 是最後那個把Ҏ埋的?那h是他現在的丈夫<br /><br /> <br /> 書生大悟,唰地從床上坐?病癒.<br /><br /> <br /> <br /><br /> : ~这东西,是最不可思议?<br /><br /> 电媄"不见不散"的主歌里这样唱?q世界说大就?<br /><br /> 说小小.q是我们今生的U定,也要用一生去L...."<br /><br /> 我們在熙熙攘攘的h里,寻觅着,渴望着....<br /> <br /> {待着一个阳光灿烂的日子Q?br /> <br /> 抑或一个灯火阑珊的夜晚Q?br /><br /> 一ơ邂逅,或者一个回眸来唤醒.<br /><br /><br /> 這之?我們都惶惑着,<br /><br /> 惶惑的甚至不知道自己需要的I竟是什?<br /><br /> 直到你遇C個h,<br /> <br /> 才恍焉了解了自q正想要的.<br /><br /> 从此改写了整个的人生.<br /><br /><br /> 一ơ的~v~灭Q或怼遍体鳞伤Q?br /> <br /> 但缘份是一U无从选择也无从回避的必然.<br /><br /> 眼泪与欢W都注定了要在缘份的天空中去开放 <br /> <br /> 也许选择了会l生痛苦Q但是错q了肯定会终生遗?<br /><br /><br /> 可无ZQ何時?我們都不能l望.<br /><br /> 不要攑ּ自己对真,?的q求.<br /><br /> <br /> 人生的h?在某U意义上?是爱和被爱的成?<br /><br /> 当真׃临时,果实也就成熟?<br /><img src ="http://www.aygfsteel.com/Jody/aggbug/84542.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Jody/" target="_blank">zhaofei1394</a> 2006-11-30 13:53 <a href="http://www.aygfsteel.com/Jody/archive/2006/11/30/84542.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Insert text file into MySQLhttp://www.aygfsteel.com/Jody/archive/2006/09/13/69337.htmlzhaofei1394zhaofei1394Wed, 13 Sep 2006 03:33:00 GMThttp://www.aygfsteel.com/Jody/archive/2006/09/13/69337.htmlhttp://www.aygfsteel.com/Jody/comments/69337.htmlhttp://www.aygfsteel.com/Jody/archive/2006/09/13/69337.html#Feedback0http://www.aygfsteel.com/Jody/comments/commentRss/69337.htmlhttp://www.aygfsteel.com/Jody/services/trackbacks/69337.html import  java.io.File;
import  java.io.FileInputStream;
import  java.sql.Connection;
import  java.sql.DriverManager;
import  java.sql.PreparedStatement;

public class  InsertTextFileToMySQL  {

   public static  Connection getConnection ()  throws  Exception  {
     String driver =  "org.gjt.mm.mysql.Driver" ;
     String url =  "jdbc:mysql://localhost/databaseName" ;
     String username =  "root" ;
     String password =  "root" ;

     Class .forName ( driver ) ;
     Connection conn = DriverManager.getConnection ( url, username, password ) ;
     return  conn;
   }

   public static  void  main ( String []  args ) throws  Exception  {
     String id =  "001" ;
     String fileName =  "fileName.txt" ;
    
     FileInputStream fis =  null ;
     PreparedStatement pstmt =  null ;
     Connection conn =  null ;
     try  {
       conn = getConnection () ;
       conn.setAutoCommit ( false ) ;
       File file =  new  File ( fileName ) ;
       fis =  new  FileInputStream ( file ) ;
       pstmt = conn.prepareStatement ( "insert into DataFiles(id, fileName, fileBody) values (?, ?, ?)" ) ;
       pstmt.setString ( 1 , id ) ;
       pstmt.setString ( 2 , fileName ) ;
       pstmt.setAsciiStream ( 3 , fis,  ( int file.length ()) ;
       pstmt.executeUpdate () ;
       conn.commit () ;
     catch  ( Exception e ) {
       System.err.println ( "Error: "  + e.getMessage ()) ;
       e.printStackTrace () ;
     finally  {
       pstmt.close () ;
       fis.close () ;
       conn.close () ;
     }
   }
}


zhaofei1394 2006-09-13 11:33 发表评论
]]>
java多线E?/title><link>http://www.aygfsteel.com/Jody/archive/2006/08/03/61539.html</link><dc:creator>zhaofei1394</dc:creator><author>zhaofei1394</author><pubDate>Thu, 03 Aug 2006 09:02:00 GMT</pubDate><guid>http://www.aygfsteel.com/Jody/archive/2006/08/03/61539.html</guid><wfw:comment>http://www.aygfsteel.com/Jody/comments/61539.html</wfw:comment><comments>http://www.aygfsteel.com/Jody/archive/2006/08/03/61539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Jody/comments/commentRss/61539.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Jody/services/trackbacks/61539.html</trackback:ping><description><![CDATA[首先要理解线E首先需要了解一些基本的东西Q我们现在所使用的大多数操作pȝ都属于多dQ分时操作系l。正是由于这U操作系l的出现才有了多U程q个概念。我们用的windows,linux属于此列。什么是分时操作pȝ呢,通俗一点与是可以同一旉执行多个E序的操作系l,在自q电脑上面Q你是不是一边听歌,一边聊天还一边看|页呢?但实际上Qƈ不上cpu在同时执行这些程序,cpu只是时间切割ؓ旉片,然后时间片分配l这些程序,获得旉片的E序开始执行,不等执行完毕Q下个程序又获得旉片开始执行,q样多个E序轮流执行一D|_׃现在cpu的高速计能力,lh的感觉就像是多个E序在同时执行一栗?br />一般可以在同一旉内执行多个程序的操作pȝ都有q程的概?一个进E就是一个执行中的程?而每一个进E都有自q立的一块内存空?一l系l资?在进E概念中,每一个进E的内部数据和状态都是完全独立的.因此可以惛_创徏q执行一个进E的pȝ开像是比较大的Q所以线E出C。在java中,E序通过控制来执行E序?E序中单个顺序的控制称为线E?多线E则指的是在单个E序中可以同时运行多个不同的U程,执行不同的Q?多线E意味着一个程序的多行语句可以看上d乎在同一旉内同时运?Q你可以前面一句话的程序换成进E,q程是程序的一ơ执行过E?是系l运行程序的基本单位Q?br /><br />U程与进E相?是一D完成某个特定功能的代码,是程序中单个序的流控制;但与q程不同的是,同类的多个线E是׃n一块内存空间和一l系l资?而线E本w的数据通常只有微处理器的寄存器数据,以及一个供E序执行时用的堆栈.所以系l在产生一个线E?或者在各个U程之间切换?负担要比q程的?正因如此,U程也被UCؓ轻负药E?light-weight process).一个进E中可以包含多个U程.<br /><br />多Q务是指在一个系l中可以同时q行多个E序,x多个独立q行的Q?每个d对应一个进E,同进E一?一个线E也有从创徏,q行到消亡的q程,UCؓU程的生命周?用线E的状?state)表明U程处在生命周期的哪个阶D?U程有创?可运?q行?d,M五中状?通过U程的控制与调度可ɾU程在这几种状态间转化每个E序臛_自动拥有一个线E?UCؓȝE?当程序加载到内存?启动ȝE?<br /><br />[U程的运行机制以及调度模型] <br />java中多U程是一个类或一个程序执行或理多个U程执行d的能力,每个U程可以独立于其他线E而独立运行,当然也可以和其他U程协同q行Q一个类控制着它的所有线E,可以军_哪个U程得到优先U,哪个U程可以讉K其他cȝ资源Q哪个线E开始执行,哪个保持休眠状态?br />下面是线E的机制图:<br /><img onmouseover="javascript:imgShowTip(this);" style="DISPLAY: inline" onclick="javascript:imgClick(this);" alt="" src="http://java.chinaitlab.com/UploadFiles_8734/200604/20060404144316962.jpg" onload="javascript:imgLoad(this);" border="0" resized="0" /><br /><br />U程的状态表C线E正在进行的zd以及在此旉D内所能完成的d.U程有创?可运?q行?d,M五中状?一个具有生命的U程,L处于q五U状态之一Q?br /><b>1.创徏状?/b><br />使用newq算W创Z个线E后,该线E仅仅是一个空对象,pȝ没有分配资源,U该U程处于创徏状?new thread)<br /><b>2.可运行状?/b><br />使用start()Ҏ启动一个线E后,pȝU程分配了除CPU外的所需资源,使该U程处于可运行状?Runnable)<br /><b>3.q行中状?/b><br />Javaq行pȝ通过调度选中一个Runnable的线E?使其占有CPUq{行中状?Running).此时,pȝ真正执行U程的run()Ҏ.<br /><b>4.d状?/b><br />一个正在运行的U程因某U原因不能l运行时,q入d状?Blocked)<br /><b>5.M状?/b><br />U程l束后是M状?Dead)<br /><br />同一时刻如果有多个线E处于可q行状?则他们需要排队等待CPU资源.此时每个U程自动获得一个线E的优先U?priority),优先U的高低反映U程的重要或紧急程?可运行状态的U程按优先排队,U程调度依据优先U基上的"先到先服?原则.<br />U程调度理器负责线E排队和CPU在线E间的分?q由U程调度法q行调度.当线E调度管理器选种某个U程?该线E获得CPU资源而进入运行状?<br /><br />U程调度是先占式调度,卛_果在当前U程执行q程中一个更高优先的线E进入可q行状?则这个线E立卌调度执行.先占式调度分?独占式和分时方式.<br />独占方式?当前执行U程一直执行下??到执行完毕或׃某种原因d攑ּCPU,或CPU被一个更高优先的线E抢?br />分时方式?当前q行U程获得一个时间片,旉到时,即没有执行完也要让出CPU,q入可运行状?{待下一个时间片的调?pȝ选中其他可运行状态的U程执行<br />分时方式的系l每个U程工作若干?实现多线E同时运?br /><br />另外h意下面的U程调度规则Q如果有不理解,不急,往下看Q:<br />①如果两个或是两个以上的U程都修改一个对象,那么把执行修改的Ҏ定义同步的(SynchronizedQ?如果对象更新影响到只L法,那么只度Ҏ也应该定义ؓ同步?br />②如果一个线E必ȝ待一个对象状态发生变化,那么它应该在对象内部{待Q而不是在外部{待Q它可以调用一个被同步的方法,q让q个Ҏ调用wait()<br />③每当一个方法改变某个对象的状态的时候,它应该调用notifyAll()ҎQ这l等待队列的U程提供Z来看一看执行环境是否已发生改变<br />④记住wait(),notify(),notifyAll()Ҏ属于Objectc,而不是Threadc,仔细查看是否每次执行wait()Ҏ都有相应的notify()或notifyAll()ҎQ且它们作用与相同的对象 在java中每个类都有一个主U程Q要执行一个程序,那么q个cd中一定要有mainҎQ这个manҎ也就是java class中的ȝE。你可以自己创徏U程Q有两种ҎQ一是承Threadc,或是实现Runnable接口。一般情况下Q最好避免承,因ؓjava中是单根l承Q如果你选用l承Q那么你的类失MҎ,当然也不能全然否定承Thread,该方法编写简?可以直接操作U程,适用于单重承情c至于选用那一U,具体情况具体分析?br /><br /><br /><b>eg.l承Thread</b><br /><pre class="overflow">public class MyThread_1 extends Thread<br />{<br />public void run()<br />{<br />//some code <br />}<br />}</pre><br /><br /><b>eg.实现Runnable接口</b><br /><pre class="overflow">public class MyThread_2 implements Runnable<br />{<br />public void run()<br />{<br />//some code <br />}<br />}</pre><br /><br /><br />当用承创建线E,q样启动U程Q?br /><pre class="overflow">new MyThread_1().start()</pre><br /><br />当用实现接口创建线E,q样启动U程Q?br /><pre class="overflow">new Thread(new MyThread_2()).start()</pre><br /><br />注意Q其实是创徏一个线E实例,q以实现了Runnable接口的类为参C入这个实例,当执行这个线E的时候,MyThread_2中run里面的代码将被执行?br />下面是完成的例子Q?br /><br /><pre class="overflow">public class MyThread implements Runnable<br />{ <br /><br />public void run()<br />{ <br />System.out.println("My Name is "+Thread.currentThread().getName()); <br />} <br />public static void main(String[] args)<br />{<br />new Thread(new MyThread()).start(); <br />}<br />} </pre><br /><br /><br />执行后将打印出:<br /><span style="COLOR: blue">My Name is Thread-0</span><br /><br />你也可以创徏多个U程Q像下面q样<br /><pre class="overflow">new Thread(new MyThread()).start();<br />new Thread(new MyThread()).start();<br />new Thread(new MyThread()).start();</pre><br /><br /><br />那么会打印出Q?br /><span style="COLOR: blue">My Name is Thread-0<br />My Name is Thread-1<br />My Name is Thread-2</span><br /><br />看了上面的结果,你可能会认ؓU程的执行顺序是依次执行的,但是那只是一般情况,千万不要用以为是U程的执行机Ӟ影响U程执行序的因素有几点Q首先看看前面提到的优先U别<br /><br /><br /><pre class="overflow">public class MyThread implements Runnable<br />{ <br /><br />public void run()<br />{ <br />System.out.println("My Name is "+Thread.currentThread().getName()); <br />} <br />public static void main(String[] args)<br />{<br />Thread t1=new Thread(new MyThread());<br />Thread t2=new Thread(new MyThread());<br />Thread t3=new Thread(new MyThread());<br />t2.setPriority(Thread.MAX_PRIORITY);//赋予最高优先<br />t1.start();<br />t2.start();<br />t3.start();<br />}<br />} </pre><br /><br />再看看结果:<br /><span style="COLOR: blue">My Name is Thread-1<br />My Name is Thread-0<br />My Name is Thread-2</span><br /><br /><br />U程的优先分ؓ10U,分别??0的整C表,默认情况?。上面的t2.setPriority(Thread.MAX_PRIORITY){h与t2.setPriority(10Q?br />然后是线E程序本w的设计Q比如用sleep,yield,joinQwait{方法(详情LJDKDocument)<br /><br /><pre class="overflow">public class MyThread implements Runnable<br />{ <br />public void run()<br />{ <br />try<br />{<br />int sleepTime=(int)(Math.random()*100);//产生随机数字Q?br />Thread.currentThread().sleep(sleepTime);//让其休眠一定时_旉又上面sleepTime军_<br />//public static void sleep(long millis)throw InterruptedException QAPIQ?br />System.out.println(Thread.currentThread().getName()+" 睡了 "+sleepTime);<br />}catch(InterruptedException ie)//׃U程在休眠可能被中断Q所以调用sleepҎ的时候需要捕捉异?br />{<br />ie.printStackTrace();<br />} <br />} <br />public static void main(String[] args)<br />{<br />Thread t1=new Thread(new MyThread());<br />Thread t2=new Thread(new MyThread());<br />Thread t3=new Thread(new MyThread());<br />t1.start();<br />t2.start();<br />t3.start();<br />}<br />}</pre><br /><br />执行后观察其输出Q?br /><br /><span style="COLOR: blue">Thread-0 睡了 11<br />Thread-2 睡了 48<br />Thread-1 睡了 69</span><br /><br /><br /><br />上面的执行结果是随机的,再执行很可能出现不同的结果。由于上面我在run中添加了休眠语句Q当U程休眠的时候就会让出cpuQcpu会选择执行处于runnable状态中的其他线E,当然也可能出现这U情况,休眠的Thread立即q入了runnable状态,cpu再次执行它?br />[U程l概念]<br />U程是可以被l织的,java中存在线E组的概念,每个U程都是一个线E组的成?U程l把多个U程集成Z个对?通过U程l可以同时对其中的多个线E进行操?如启动一个线E组的所有线E等.Java的线E组由java.lang包中的Thread——Groupcd?<br />ThreadGroupcȝ来管理一l线E?包括:U程的数?U程间的关系,U程正在执行的操?以及U程要启动或终止时间等.U程l还可以包含U程l?在Java的应用程序中,最高层的线E组是名位main的线E组,在main中还可以加入U程或线E组,在mian的子U程l中也可以加入线E和U程l?形成U程l和U程之间的树状承关pR像上面创徏的线E都是属于mainq个U程l的?br />借用上面的例子,main里面可以q样写:<br /><br /><pre class="overflow">public static void main(String[] args)<br />{<br />/***************************************<br />ThreadGroup(String name) <br />ThreadGroup(ThreadGroup parent, String name) <br />***********************************/<br />ThreadGroup group1=new ThreadGroup("group1");<br />ThreadGroup group2=new ThreadGroup(group1,"group2");<br />Thread t1=new Thread(group2,new MyThread());<br />Thread t2=new Thread(group2,new MyThread());<br />Thread t3=new Thread(group2,new MyThread());<br />t1.start();<br />t2.start();<br />t3.start();<br />}</pre><br /><br /><br />U程l的嵌套Qt1,t2,t3被加入group2,group2加入group1?br />另外一个比较多是关于U程同步斚w的,试想q样一U情况,你有一W存Ƒ֜银行Q你在一安行ؓ你的账户存款Q而你的妻子在另一安行从q个账户提款Q现在你?000块在你的账户里面。你存入?000Q但是由于另一方也在对q笔存款q行操作Qh家开始执行的时候只看到账户里面原来?000元,当你的妻子提?000元后Q你d所在的银行pZ的̎户里面没有钱了,而你所在的银行却认Zq有2000元?br />看看下面的例子:<br /><br /><pre class="overflow">class BlankSaving //储蓄账户<br />{<br />private static int money=10000;<br />public void add(int i)<br />{<br />money=money+i;<br />System.out.println("Husband 向银行存入了 [K?+i+"]");<br />}<br />public void get(int i)<br />{<br />money=money-i;<br />System.out.println("Wife 向银行取C [K?+i+"]");<br />if(money<0)<br />System.out.println("余额不Q?); <br />}<br />public int showMoney()<br />{<br />return money;<br />}<br />} <br /><br /><br />class Operater implements Runnable<br />{<br />String name;<br />BlankSaving bs;<br />public Operater(BlankSaving b,String s)<br />{<br />name=s;<br />bs=b;<br /><br /><br /><br />}<br />public static void oper(String name,BlankSaving bs)<br />{<br /><br /><br /><br />if(name.equals("husband"))<br />{<br />try<br />{<br />for(int i=0;i<10;i++)<br />{<br />Thread.currentThread().sleep((int)(Math.random()*300));<br />bs.add(1000);<br />}<br />}catch(InterruptedException e){}<br />}else<br />{<br />try<br />{<br /><br /><br /><br />for(int i=0;i<10;i++)<br />{<br />Thread.currentThread().sleep((int)(Math.random()*300));<br />bs.get(1000);<br />}<br />}catch(InterruptedException e){}<br />}<br />}<br />public void run()<br />{<br />oper(name,bs);<br />} <br />}<br />public class BankTest <br />{<br />public static void main(String[] args)throws InterruptedException<br />{<br />BlankSaving bs=new BlankSaving();<br />Operater o1=new Operater(bs,"husband");<br />Operater o2=new Operater(bs,"wife");<br />Thread t1=new Thread(o1);<br />Thread t2=new Thread(o2);<br />t1.start();<br />t2.start();<br />Thread.currentThread().sleep(500);<br />}<br /><br /><br /><br />}</pre><br /><br /><br />下面是其中一ơ的执行l果Q?br /><br /><br /><br /><span style="COLOR: blue">---------first--------------<br />Husband 向银行存入了 [K?000]<br />Wife 向银行取C [K?000]<br />Wife 向银行取C [K?000]<br />Husband 向银行存入了 [K?000]<br />Wife 向银行取C [K?000]<br />Husband 向银行存入了 [K?000]<br />Wife 向银行取C [K?000]<br />Husband 向银行存入了 [K?000]<br />Wife 向银行取C [K?000]<br />Husband 向银行存入了 [K?000]<br />Husband 向银行存入了 [K?000]<br />Wife 向银行取C [K?000]<br />Husband 向银行存入了 [K?000]<br />Husband 向银行存入了 [K?000]<br />Wife 向银行取C [K?000]<br />Wife 向银行取C [K?000]<br />Husband 向银行存入了 [K?000]<br />Wife 向银行取C [K?000]<br />Wife 向银行取C [K?000]<br />Husband 向银行存入了 [K?000]</span><br /><br />看到了吗Q这可不是正的需求,在husbandq没有结束操作的时候,wife插了进来,q样很可能导致意外的l果。解军_法很单,是对数据q行操作Ҏ声明为synchronized,当方法被该关键字声明后,也就意味着Q如果这个数据被加锁Q只有一个对象得到这个数据的锁的时候该对象才能对这个数据进行操作。也是当你存款的时候,q笔账户在其他地Ҏ不能q行操作的,只有你存Ƒ֮毕,银行理人员̎戯锁,其他人才能对q个账户q行操作?br />修改public static void oper(String name,BlankSaving bs)为public static void oper(String name,BlankSaving bs)Q再看看l果:<br /><br /><span style="COLOR: blue">Husband 向银行存入了 [K?000]<br />Husband 向银行存入了 [K?000]<br />Husband 向银行存入了 [K?000]<br />Husband 向银行存入了 [K?000]<br />Husband 向银行存入了 [K?000]<br />Husband 向银行存入了 [K?000]<br />Husband 向银行存入了 [K?000]<br />Husband 向银行存入了 [K?000]<br />Husband 向银行存入了 [K?000]<br />Husband 向银行存入了 [K?000]<br />Wife 向银行取C [K?000]<br />Wife 向银行取C [K?000]<br />Wife 向银行取C [K?000]<br />Wife 向银行取C [K?000]<br />Wife 向银行取C [K?000]<br />Wife 向银行取C [K?000]<br />Wife 向银行取C [K?000]<br />Wife 向银行取C [K?000]<br />Wife 向银行取C [K?000]<br />Wife 向银行取C [K?000]</span><br /><br /><br /><br />当丈夫完成操作后Q妻子才开始执行操作,q样的话Q对׃n对象的操作就不会有问题了?br />[wait and notify]<br />你可以利用这两个Ҏ很好的控制线E的执行程Q当U程调用waitҎ后,U程被挂vQ直到被另一U程唤醒QnotifyQ或则是如果waitҎ指定有时间得话,在没有被唤醒的情况下Q指定时间时间过后也自动被唤醒。但是要注意一定,被唤醒ƈ不是指马上执行,而是从组塞状态变为可q行状态,其是否运行还要看cpu的调度?br />事例代码Q?br /><br /><pre class="overflow">class MyThread_1 extends Thread<br />{<br />Object lock;<br />public MyThread_1(Object o)<br />{<br />lock=o;<br />}<br />public void run()<br />{<br />try<br />{<br />synchronized(lock)<br />{<br />System.out.println("Enter Thread_1 and wait");<br />lock.wait();<br />System.out.println("be notified");<br />}<br />}catch(InterruptedException e){}<br />}<br />}<br />class MyThread_2 extends Thread<br />{<br />Object lock;<br />public MyThread_2(Object o)<br />{<br />lock=o;<br />}<br />public void run()<br />{<br />synchronized(lock)<br />{<br />System.out.println("Enter Thread_2 and notify");<br />lock.notify();<br />}<br />}<br />}<br />public class MyThread<br />{ <br />public static void main(String[] args)<br />{<br />int[] in=new int[0];//notice<br />MyThread_1 t1=new MyThread_1(in);<br />MyThread_2 t2=new MyThread_2(in);<br />t1.start();<br />t2.start();<br />}<br />}</pre><br /><br /><br /><br />执行l果如下Q?br /><span style="COLOR: blue">Enter Thread_1 and wait<br />Enter Thread_2 and notify<br />Thread_1 be notified</span><br /><br />可能你注意到了在使用wait and notifyҎ得时候我使用了synchronized块来包装q两个方法,q是׃调用q两个方法的时候线E必获得锁Q也是上面代码中的lock[]Q如果你不用synchronized包装q两个方法的得话Q又或则锁不一是同一把,比如在MyThread_2中synchronized(lock)改ؓsynchronized(this),那么执行q个E序的时候将会抛出java.lang.IllegalMonitorStateException执行期异常。另外wait and notifyҎ是Object中的Qƈ不在Threadq个cM。最后你可能注意Cq点Qint[] in=new int[0];Z么不是创建new Object而是一?长度的数l,那是因ؓ在java中创Z?长度的数l来充当锁更加高效?br /><br />Thread作ؓjava中一重要l成部分Q当然还有很多地斚w要更深刻的认识,上面只是对Thread的一些常识和易错问题做了一个简要的ȝQ若要真正的掌握java的线E,q需要自己多做ȝ <img src ="http://www.aygfsteel.com/Jody/aggbug/61539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Jody/" target="_blank">zhaofei1394</a> 2006-08-03 17:02 <a href="http://www.aygfsteel.com/Jody/archive/2006/08/03/61539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaScript 实用的一些技?http://www.aygfsteel.com/Jody/archive/2006/07/25/59972.htmlzhaofei1394zhaofei1394Tue, 25 Jul 2006 04:53:00 GMThttp://www.aygfsteel.com/Jody/archive/2006/07/25/59972.htmlhttp://www.aygfsteel.com/Jody/comments/59972.htmlhttp://www.aygfsteel.com/Jody/archive/2006/07/25/59972.html#Feedback0http://www.aygfsteel.com/Jody/comments/commentRss/59972.htmlhttp://www.aygfsteel.com/Jody/services/trackbacks/59972.html

1. oncontextmenu="window.event.returnValue=false" 彻底屏蔽鼠标右?br /><table border oncontextmenu=return(false)><td>no</table> 可用于Table

2. <body onselectstart="return false"> 取消选取、防止复?br />
3. onpaste="return false" 不准_脓

4. oncopy="return false;" oncut="return false;" 防止复制

5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图?/p>

6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显C出你的图标

7. <input style="ime-mode:disabled"> 关闭输入?/p>

8. 永远都会带着框架
<script language="JavaScript"><!--
if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网?br />// --></script>

9. 防止被hframe
<SCRIPT LANGUAGE=JAVASCRIPT><!--
if (top.location != self.location)top.location=self.location;
// --></SCRIPT>

10. |页不能被另存?br /><noscript><iframe src=*.html></iframe></noscript>

11. <input type=button value=查看|页源代?
onclick="window.location = "view-source:"+ "

12.删除时确?br /><a href="javascript:if(confirm("实要删除吗?"))location="boos.asp?&areyou=删除&page=1"">删除</a>

13. 取得控g的绝对位|?br />//Javascript
<script language="Javascript">
function getIE(e){
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent){
t+=e.offsetTop;
l+=e.offsetLeft;
}
alert("top="+t+"/nleft="+l);
}
</script>

//VBScript
<script language="VBScript"><!--
function getIE()
dim t,l,a,b
set a=document.all.img1
t=document.all.img1.offsetTop
l=document.all.img1.offsetLeft
while a.tagName<>"BODY"
set a = a.offsetParent
t=t+a.offsetTop
l=l+a.offsetLeft
wend
msgbox "top="&t&chr(13)&"left="&l,64,"得到控g的位|?
end function
--></script>

14. 光标是停在文本框文字的最?br /><script language="javascript">
function cc()
{
var e = event.srcElement;
var r =e.createTextRange();
r.moveStart("character",e.value.length);
r.collapse(true);
r.select();
}
</script>
<input type=text name=text1 value="123" onfocus="cc()">

15. 判断上一늚来源
javascript:
document.referrer

16. 最化、最大化、关闭窗?br /><object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Minimize"></object>
<object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Maximize"></object>
<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" VALUE="Close"></OBJECT>
<input type=button value=最化 onclick=hh1.Click()>
<input type=button value=最大化 onclick=hh2.Click()>
<input type=button value=关闭 onclick=hh3.Click()>
本例适用于IE

17.屏蔽功能键Shift,Alt,Ctrl
<script>
function look(){
if(event.shiftKey)
alert("止按Shift?"); //可以换成ALT CTRL
}
document.onkeydown=look;
</script>

18. |页不会被缓?br /><META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
或?lt;META HTTP-EQUIV="expires" CONTENT="0">

19.怎样让表单没有凹凸感Q?br /><input type=text style="border:1 solid #000000">
?br /><input type=text style="border-left:none; border-right:none; border-top:none; border-bottom:
1 solid #000000"></textarea>

20.<div><span>&<layer>的区别?
<div>(division)用来定义大段的页面元素,会生{?
<span>用来定义同一行内的元素,?lt;div>的唯一区别是不产生转行
<layer>是ns的标讎ͼie不支持,相当?lt;div>

21.让弹出窗口L在最上面:
<body onblur="this.focus();">

22.不要滚动?
让竖条没?
<body style="overflow:scroll;overflow-y:hidden">
</body>
让横条没?
<body style="overflow:scroll;overflow-x:hidden">
</body>
两个都去掉?更简单了
<body scroll="no">
</body>

23.怎样L囄链接点击后,囄周围的虚U?
<a href="#" onFocus="this.blur()"><img src="logo.jpg" border=0></a>

24.电子邮g处理提交表单
<form name="form1" method="post" action="mailto:****@***.com" enctype="text/plain">
<input type=submit>
</form>

25.在打开的子H口h父窗口的代码里如何写Q?br />window.opener.location.reload()

26.如何讑֮打开面的大?br /><body onload="top.resizeTo(300,200);">
打开面的位|?lt;body onload="top.moveBy(300,200);">

27.在页面中如何加入不是满铺的背景图?拉动面时背景图不动
<STYLE>
body
{background-image:url(logo.gif); background-repeat:no-repeat;
background-position:center;background-attachment: fixed}
</STYLE>

28. 查一D字W串是否全由数字l成
<script language="Javascript"><!--
function checkNum(str){return str.match(//D/)==null}
alert(checkNum("1232142141"))
alert(checkNum("123214214a1"))
// --></script>

29. 获得一个窗口的大小
document.body.clientWidth; document.body.clientHeight

30. 怎么判断是否是字W?br />if (/[^/x00-/xff]/g.test(s)) alert("含有汉字");
else alert("全是字符");

31.TEXTAREA自适应文字行数的多?br /><textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight">
</textarea>

32. 日期减去天数{于W二个日?br /><script language=Javascript>
function cc(dd,dadd)
{
//可以加上错误处理
var a = new Date(dd)
a = a.valueOf()
a = a - dadd * 24 * 60 * 60 * 1000
a = new Date(a)
alert(a.getFullYear() + "q? + (a.getMonth() + 1) + "? + a.getDate() + "?)
}
cc("12/23/2002",2)
</script>

33. 选择了哪一个Radio
<HTML><script language="vbscript">
function checkme()
for each ob in radio1
if ob.checked then window.alert ob.value
next
end function
</script><BODY>
<INPUT name="radio1" type="radio" value="style" checked>Style
<INPUT name="radio1" type="radio" value="barcode">Barcode
<INPUT type="button" value="check" onclick="checkme()">
</BODY></HTML>

34.脚本怸出错
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide
function killErrors() {
return true;
}
window.onerror = killErrors;
// -->
</SCRIPT>

35.ENTER键可以让光标Ud下一个输入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9">

36. 某个网站的链接速度Q?br />把如下代码加?lt;body>区域?
<script language=Javascript>
tim=1
setInterval("tim++",100)
b=1
var autourl=new Array()
autourl[1]="www.njcatv.net"
autourl[2]="javacool.3322.net"
autourl[3]="www.sina.com.cn"
autourl[4]="www.nuaa.edu.cn"
autourl[5]="www.cctv.com"
function butt(){
document.write("<form name=autof>")
for(var i=1;i<autourl.length;i++)
document.write("<input type=text name=txt"+i+" size=10 value=试中…?gt; =?lt;input type=text
name=url"+i+" size=40> =?lt;input type=button value=GO

onclick=window.open(this.form.url"+i+".value)><br>")
document.write("<input type=submit value=h></form>")
}
butt()
function auto(url){
document.forms[0]["url"+b].value=url
if(tim>200)
{document.forms[0]["txt"+b].value="链接时"}
else
{document.forms[0]["txt"+b].value=""+tim/10+"U?}
b++
}
function run(){for(var i=1;i<autourl.length;i++)document.write("<img src=http://"+autourl+"/"+Math.random()+" width=1 height=1

onerror=auto("http://"+autourl+"")>")}
run()</script>

37. 各种样式的光?br />auto Q标准光?br />default Q标准箭?br />hand Q手形光?br />wait Q等待光?br />text QI形光?br />vertical-text Q水qI形光?br />no-drop Q不可拖动光?br />not-allowed Q无效光?br />help Q?帮助光标
all-scroll Q三角方向标
move Q移动标
crosshair Q十字标
e-resize
n-resize
nw-resize
w-resize
s-resize
se-resize
sw-resize

38.面q入和退出的Ҏ
q入面<meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)">
推出面<meta http-equiv="Page-Exit" content="revealTrans(duration=x, transition=y)">
q个是页面被载入和调出时的一些特效。duration表示Ҏ的持l时_以秒为单位。transition表示使用哪种ҎQ取gؓ1-23:
  0 矩Ş~小
  1 矩Ş扩大
  2 圆Ş~小
  3 圆Ş扩大
  4 下到上刷?
  5 上到下刷?br />  6 左到叛_?
  7 叛_左刷?
  8 竖百叶窗
  9 横百叶窗
  10 错位横百叶窗
  11 错位竖百叶窗
  12 Ҏ?
  13 左右C间刷?
  14 中间到左叛_?br />  15 中间C?br />  16 上下C?
  17 右下到左?br />  18 右上到左?
  19 左上到右?
  20 左下到右?br />  21 横条
  22 竖条
  23 以上22U随机选择一U?br />
39.在规定时间内跌{
<META http-equiv=V="REFRESH" content="5;URL=http://www.51js.com">

40.|页是否被检?br /><meta name="ROBOTS" content="属性?>
  其中属性值有以下一?
  属性gؓ"all": 文g被索,且页上链接可被查询;
  属性gؓ"none": 文g不被索,而且不查询页上的链接Q?br />  属性gؓ"index": 文g被索;
  属性gؓ"follow": 查询上的链接;
  属性gؓ"noindex": 文g不检索,但可被查询链接;
  属性gؓ"nofollow": 文g不被索,但可查询上的链接?/p>



zhaofei1394 2006-07-25 12:53 发表评论
]]>
Linuxpȝd定时执行http://www.aygfsteel.com/Jody/archive/2006/07/14/58132.htmlzhaofei1394zhaofei1394Fri, 14 Jul 2006 03:40:00 GMThttp://www.aygfsteel.com/Jody/archive/2006/07/14/58132.htmlhttp://www.aygfsteel.com/Jody/comments/58132.htmlhttp://www.aygfsteel.com/Jody/archive/2006/07/14/58132.html#Feedback0http://www.aygfsteel.com/Jody/comments/commentRss/58132.htmlhttp://www.aygfsteel.com/Jody/services/trackbacks/58132.html l常有应用写好后Q要由服务器自动定时q行。所以这是一个很常用的东西,其中都是我自׃自用的q程。以此作Z子,Z后重复用时留下资料?/font>

1、认识Cron

cron是一个linux下的定时执行工具Q可以在无需人工q预的情况下q行作业。由于Cron 是Linux的内|服务,但它不自动v来,可以用以下的Ҏ启动、关闭这个服务:

/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置


你也可以这个服务在pȝ启动的时候自动启动:

?etc/rc.d/rc.localq个脚本的末֊上:
/sbin/service crond start

2、Cron服务

1)直接用crontab命o~辑

cron服务提供crontab命o来设定cron服务的,以下是这个命令的一些参C说明Q?/p>

crontab -u //讑֮某个用户的cron服务Q一般root用户在执行这个命令的时候需要此参数

crontab -l //列出某个用户cron服务的详l内?/p>

crontab -r //删除没个用户的cron服务

crontab -e //~辑某个用户的cron服务

比如说root查看自己的cron讄Qcrontab -u root -l

再例如,root惛_除fred的cron讄Qcrontab -u fred -r

在编辑cron服务Ӟ~辑的内Ҏ一些格式和U定Q输入:crontab -u root -e

Q注Q大哥大姐,看文章时别忘记关注我哟,嘿嘿Q?/font>

q入vi~辑模式Q编辑的内容一定要W合下面的格式:*/1 * * * * ls >> /tmp/ls.txt

q个格式的前一部分是对旉的设定,后面一部分是要执行的命令,如果要执行的命o太多Q可以把q些命o写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。时间的讑֮我们有一定的U定Q前面五?号代表五个数字,数字的取D围和含义如下Q?/p>

分钟 Q?-59Q?/p>

時 Q?-23Q?/p>

日期 Q?-31Q?/p>

月䆾 Q?-12Q?/p>

星期 Q?-6Q?/0代表星期?/p>

除了数字q有几个个特D的W号是"*"?/"?-"?,"Q?代表所有的取D围内的数字,"/"代表每的意?"*/5"表示?个单位,"-"代表从某个数字到某个数字,","分开几个L的数字。以下D几个例子说明问题Q?/p>

每天早上6?/p>

0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echoQ从屏幕上看不到M输出Q因为cron把Q何输出都email到root的信׃?/p>

每两个小?/p>

0 */2 * * * echo "Have a break now." >> /tmp/test.txt

晚上11点到早上8点之间每两个时Q早上八?/p>

0 23-7/2Q? * * * echo "Have a good dreamQ)" >> /tmp/test.txt

每个月的4号和每个C拜的礼拜一到礼拜三的早?1?/p>

0 11 4 * 1-3 command line

1?日早??/p>

0 4 1 1 * command line

每次~辑完某个用Lcron讄后,cron自动?var/spool/cron下生成一个与此用户同名的文gQ此用户的cron信息都记录在q个文g中,q个文g是不可以直接~辑的,只可以用crontab -e 来编辑。cron启动后每q一份钟Mơ这个文Ӟ查是否要执行里面的命令。因此此文g修改后不需要重新启动cron服务?/p>

Q有了你们的xQ才有我l箋写下ȝ动力Q)L下面的广告吧Q?/font>


2)~辑/etc/crontab 文g配置cron

cron服务每分钟不仅要M?var/spool/cron内的所有文Ӟq需要读一?etc/crontab,因此我们配置q个文g也能q用cron服务做一些事情。用crontab配置是针Ҏ个用LQ而编?etc/crontab是针对系l的d。此文g的文件格式是Q?/p>

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出现错误Q或者有数据输出Q数据作为邮件发l这个帐?br />HOME=/ //使用者运行的路径,q里是根目录
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小时执?etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期执?etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly //每月L?etc/cron.monthly内的脚本

3、实?/p>

我在/etc/crontab 文g中配|cronQ?/p>

#product price trend picture
0 1 * * * root sh /home1/picture/myconfig.sh    Q每?炚w时执行root用户中的/home1/picture/myconfig.sh Q?/p>

我的myconfig.shQ?/p>

JAVA_HOME=/home1/jdk1.5.0_03;export JAVA_HOME

JAVA_OPTS="-server -Djava.awt.headless=true";export JAVA_OPTS 

Q由于我的应用是一个绘囑ֺ用,所以要以上两段Q指定JDK{)

cd /home1/picture/lib  Q指定我的JAR文g所在位Q?br />/home1/jdk1.5.0_03/bin/java -cp /home1/picture/lib/PriceTrendPicture.jar:/home1/picture/lib/classes12.jar:/home1/picture/lib/ibatis-common-2.jar:/home1/picture/lib/ibatis-dao-2.jar:/home1/picture/lib/ibatis-sqlmap-2.jar:log4j-1.2.8.jar:/home1/picture/lib/xmlparserv2.jar:/home1/picture/lib/commons-logging.jar com.yesky.run.PriceTrendPicture

/home1/jdk1.5.0_03/bin/java -cp q是我的JDK位置  随后加上所有用的JAR文g 最后是有main()的执行类



zhaofei1394 2006-07-14 11:40 发表评论
]]>
JSP和JavaScirpt数据交互http://www.aygfsteel.com/Jody/archive/2006/07/13/58003.htmlzhaofei1394zhaofei1394Thu, 13 Jul 2006 08:17:00 GMThttp://www.aygfsteel.com/Jody/archive/2006/07/13/58003.htmlhttp://www.aygfsteel.com/Jody/comments/58003.htmlhttp://www.aygfsteel.com/Jody/archive/2006/07/13/58003.html#Feedback0http://www.aygfsteel.com/Jody/comments/commentRss/58003.htmlhttp://www.aygfsteel.com/Jody/services/trackbacks/58003.html对于WEBE序来说Q前端(JavaScriptQ和后端QJSP/ServletQ是没法q数据的,只能是后端程序(JSPQ把数据输出Q生成页面到前端Q这时候生成的面中的JavaScript代码才有可能得到所谓jsp的数据。同LQ只有把JavaScript里的数据提交l后端JSP代码QJSPE序中才能得到JavaScript的数据?

    那如何实现在面的JavaScript中用jsp中的数据或是在jsp中用页面的JavaScript数据呢?

一、页面中的JavaScript的数据如何提交给后台的jspE序
    ?可以JavaScript的数据以xxx.JSP?var1=aaa&var2=bbb的Ş式作为URL的参ClJSPE序Q此时在jsp中用
<%String strVar1=request.getParameter("var1");%>可以获取到JavaScript脚本传递过来的数据Q?

    ?使用JavaScript通过在表单里加入隐藏域信息,然后用表单提交的方式把数据传递给JSPE序?


 
 

二、页面中的JavaScript的数据如何用后台的JSPE序的数?
    q个比较单,直接在JavaScript脚本中用<%QstrVar1%>可以把jspE序中的数据传递给JavaScript脚本使用了?

三、参考下面例子:

1、test.jsp

<%@ page contentType="text/html; charset=gb2312" %>

<%
  String s1="Hello ";
  String s2="World!!";
%>

<script language="JavaScript">
<!--
/***************************************************************
* JavaScript脚本Q放|在面中的M位置都可?
* insertclick()函数获取JSP传递到面中的变量s1Q?
* 然后可以在JavaScript中修改这个变量的|再通过
* post的方式提交给JSPE序来用?
***************************************************************/
function insertclick(){
  var1 ="<%=s1 %>";
  document.forms["insertForm"].mc.value = var1 + document.forms["insertForm"].mc.value ;
  document.insertForm.submit();
}
//-->
</script>

<!-- html面form表单Q放|在html面中的位置不限 -->
<form name="insertForm" method="post" action="get.jsp">
<!-- 下面q一句是获取JSPE序中传递过来的变量?-->
<input type="hidden" name="mc" value="<%=s2 %>">
<input type="button" value="提交" onclick="insertclick()">
</form>

2、get.jsp

<%
  String strVar1=request.getParameter("mc");
  out.print(strVar1);
%>



zhaofei1394 2006-07-13 16:17 发表评论
]]>
一个简单的存储q程Q?/title><link>http://www.aygfsteel.com/Jody/archive/2006/06/26/55148.html</link><dc:creator>zhaofei1394</dc:creator><author>zhaofei1394</author><pubDate>Mon, 26 Jun 2006 06:23:00 GMT</pubDate><guid>http://www.aygfsteel.com/Jody/archive/2006/06/26/55148.html</guid><wfw:comment>http://www.aygfsteel.com/Jody/comments/55148.html</wfw:comment><comments>http://www.aygfsteel.com/Jody/archive/2006/06/26/55148.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Jody/comments/commentRss/55148.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Jody/services/trackbacks/55148.html</trackback:ping><description><![CDATA[ <p>create procedure wap_data_content_zf as<br />declare @data_0 varchar(100)<br />declare @date_1 varchar(100)<br />declare @date_2 varchar(100)<br />declare @yvisit integer<br />declare @yadd integer<br />declare @mvisit integer<br />declare @madd integer</p> <p> <br />set @data_0=convert(char(8),getdate(),112)<br />set @data_1=convert(char(8),dateadd(day,-1,getdate()),112)<br />set @date_2=left(convert(char(30),dateadd(day,-1,getdate()),121),10)</p> <p>print @temp_0<br />print @temp_1<br />print @temp_2</p> <p>select @yvisit=count(distinct(mid)) from dbo.wap_log_access_2006_6 where uri='/wap/pd/yysl_yk/index.jsp'<br />and mid != ''<br />and create_time >= '2006-06-06 00:00:00' <br />and create_time <= '2006-06-06 23:59:59'</p> <p>select @mvisit=count(distinct(mid)) from dbo.wap_log_access_2006_6 where uri='/wap/pd/mlmhc_yk/index.jsp'<br />and mid != ''<br />and create_time >= '2006-06-06 00:00:00' <br />and create_time <= '2006-06-06 23:59:59'</p> <p>select @yadd=count(distinct(mid)) from dbo.wap_log_fee_2006_6 as a<br />where a.uri='/wap/pd/yysl_yk/get.jsp'<br />and a.mid != ''<br />and a.portal_id=0 <br />and a.create_time >= '2006-06-06 00:00:00' <br />and a.create_time <= '2006-06-06 23:59:59'<br />and exists(select * from dbo.wapuser as b where a.mid = b.mid and b.serviceid='30050631'<br />and b.firsttime >= '2006-06-06 00:00:00' <br />and b.firsttime <= '2006-06-06 23:59:59')</p> <p>select @madd=count(distinct(mid)) from dbo.wap_log_fee_2006_6 as a<br />where a.uri='/wap/pd/mlmhc_yk/get.jsp'<br />and a.mid != ''<br />and a.portal_id=0 <br />and a.create_time >= '2006-06-06 00:00:00' <br />and a.create_time <= '2006-06-06 23:59:59'<br />and exists(select * from dbo.wapuser as b where a.mid = b.mid and b.serviceid='02011095'<br />and b.firsttime >= '2006-06-06 00:00:00' <br />and b.firsttime <= '2006-06-06 23:59:59')</p> <p>insert into wap_data_content_zf wap(date,mvisit,madd,yvisit,yadd)<br />       values(@temp_2,@mvisit,@madd,@yvisit,@yadd)</p> <img src ="http://www.aygfsteel.com/Jody/aggbug/55148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Jody/" target="_blank">zhaofei1394</a> 2006-06-26 14:23 <a href="http://www.aygfsteel.com/Jody/archive/2006/06/26/55148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CREATE PROCEDUREhttp://www.aygfsteel.com/Jody/archive/2006/05/29/48732.htmlzhaofei1394zhaofei1394Mon, 29 May 2006 05:24:00 GMThttp://www.aygfsteel.com/Jody/archive/2006/05/29/48732.htmlhttp://www.aygfsteel.com/Jody/comments/48732.htmlhttp://www.aygfsteel.com/Jody/archive/2006/05/29/48732.html#Feedback0http://www.aygfsteel.com/Jody/comments/commentRss/48732.htmlhttp://www.aygfsteel.com/Jody/services/trackbacks/48732.htmlCREATE PROCEDURE birdincome_zf
AS
declare @actionid integer
declare @mid varchar(100)
declare @service_id varchar(100)

declare  case1    cursor for 
    SELECT mid,service_id from bird_user_2006_03 where type=0 
declare  case2    cursor for 
    SELECT mid,service_id from bird_user_2006_03 where type=1
 
open case1
  fetch next from case1 into @mid,@service_id
  while (@@fetch_status=0)
    begin
        select top 1  @actionid=bb.actionid from  operation_temp_0526 as bb
               where bb.serviceid=@service_id and bb.mid=@mid
        order by bb.id desc

     if (@actionid=1)        
        insert into bird_user_2006_04(mid,service_id,type,portal_id) values(@mid,@service_id,'1','10000')
     else
         print 'ooooooo'     
        fetch next from case1 into @mid,@service_id
   end
deallocate case1

open case2
  fetch next from case2 into @mid,@service_id
  while (@@fetch_status=0)
    begin
        select  top 1 @actionid=bb.actionid from  operation_temp_0526 as bb
               where bb.serviceid=@service_id and bb.mid=@mid
        order by bb.id desc

     if (@actionid != 2)          
        insert into bird_user_2006_04(mid,service_id,type,portal_id) values(@mid,@service_id,'2','10000')
        fetch next from case2 into @mid,@service_id
   end
deallocate case2
GO



zhaofei1394 2006-05-29 13:24 发表评论
]]>
Java的“异常?/title><link>http://www.aygfsteel.com/Jody/archive/2006/04/20/42190.html</link><dc:creator>zhaofei1394</dc:creator><author>zhaofei1394</author><pubDate>Thu, 20 Apr 2006 08:41:00 GMT</pubDate><guid>http://www.aygfsteel.com/Jody/archive/2006/04/20/42190.html</guid><wfw:comment>http://www.aygfsteel.com/Jody/comments/42190.html</wfw:comment><comments>http://www.aygfsteel.com/Jody/archive/2006/04/20/42190.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Jody/comments/commentRss/42190.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Jody/services/trackbacks/42190.html</trackback:ping><description><![CDATA[ <p align="center"> <big> <strong> <font size="3">Java的“异常?/font> </strong> </big> </p> <div align="right">                     </div> <p>??常????E??q??????????c???传统 ??a ~?E?Ӟ E??????q????q?????出错 ??息?q????????误, ????????需 要知 ????????l?节??常, ??局 ?量errno??储??常??c?型?q??????用, ??一 个errno????能在 ????reg; ?????????掉???最 ??的C语言 E?序, ???理??常??况, ????于goto?句?Java对??常?????????的?一 个Java的Exception?一 ??q??常?????象???现??常???Ӟ 一 个Exception对象 ???了, q?????q?个??常??????里?</p> <h4 align="center">8.1 基础 </h4> <p>Java的??常?????q????????的:try, catch, throw, throws和finally?用try ???一 D?E?序, ???现?异常”, p?l??出(throws?copy; 一 个??常”, ????q??的类 ???捉(catch?copy; 它, ?最 后(finally?copy; ?~??处理 ???理???是??常???E??????式: </p> <p>try { //E???} catch (ExceptionType1 e) { // 对ExceptionType1的处 ?} catch (ExceptionType2 e) { // 对ExceptionType2???throw(e); //???q?个??常?} finally { } </p> <h4 align="center">8.2 "?常??c??/h4> <p>在??常?c????最 ???一 ????c??做Throwable。这 ?c????C?所 ?的??常??c??个??常?c??都是Throwable??cRThrowable???????cR?一 c?是ExceptionQ是 ??E???????的??常??c?????q??生它 ??c??????的??常”??一 c?是ErrorQ????了那 ?copy; ???????的??常”?????用Error?c,??????????????败?在Exception??一 ?子类RuntimeExceptionQ???E??q?????????copy; ?误作 ??????的?</p> <h4 align="center">8.3 ??捉??常?</h4> <p>??常???是Java?q??????copy;??常???作出 ?????的??如, ??q???E????一 ????除的??常”?</p> <p>class Exc0 { public static void main(String args[]) { int d = 0; int a = 42/d; } } </p> <p>当Java??q????Ӟ ?????Q?????一 个?异常?????E?????q???q?????况, ?q??时??出”(throw?copy; q?个??常”?说??出??????一??????薯, ???????q????理?E???会 ?????W????断, ?? ????????来查 䏀??常”?一 个??常??????????理??常???的??q????里, ????~?一 个??常???器,所 ?~???????????了?~???????印Exception的字 W??reg; ??????常???炏V????????例子 ??出?</p> <p>C:\>java Exc0 java.lang.arithmeticException: / by zero at Exc0.main(Exc0.java:4) </p> <h4 align="center">8.4 try与catch </h4> <p>??????????理??常?q?l?l?q?行???用try来指 ?一 ???所 有??常???E?序???在tryE???面,???一 个catch??????????的??常??c?型。例 如, ?????????????基础???的, ?它包 ?一 个tryE????一 个catch?句?</p> <p>class exc1 { public static void main(string args[]) { try { int d = 0; int a = 42 / d; } catch (arithmeticexception e) { system.out.println("division by zero"); } } } </p> <p>catch???????决??常??况, ?一 ?copy; ??讑ֈ ????态, q??????一 ?l?l?q?行???一 ?子程 ?????个??常”, ?q???一 U??理, ??最 外一 U?</p> <h4 align="center">8.5 ?个catch??/h4> <p>???copy; ??下, ?一 D?E????????一 U?异常??c?????|??个catch?句, ???一 U??常?c????? 查, W?一 ???reg; ???????行?如果 一 ?c????c????话, ???c????面, ??永 q??????cR????一 ???个catch???E??的例 子?</p> <p>class MultiCatch { public static void main(String args[]) { try { int a = args.length; System.out.println("a = " + a); int b = 42/a; int c[] = {1}; c[42] = 99; } catch(ArithmeticException e) { System.out.println("div by 0: " + e); } catch(ArrayIndexOutOfBoundsException e) { system.out.println("array index oob: " + e); } } } </p> <p>???E??q??????敎ͼ ????一 ????的??常”, ?为a??????????copy; 一 ?????敎ͼ?????q?个??常”, ?为a?????????一 ?ArrayIndexOutOfBoundexception的??常”, ?????lc??度是1Q??lc[42]?倹{???????U????q??l?果?</p> <p>C:\>java MultiCatch a = 0 div by 0: java.lang.arithmeticexception: / by zero C:\>java MutiCatch 1 a = 1 array index oob: java.lang.ArrayIndexOutOfBoundsException:42 </p> <h4 align="center">8.6 try?????</h4> <p>????一 ???????????一 个try?句, ?q个 ?????部, ??一 个try???????码???遇到 一 个try?句,??常??????????面, ??所 有的try????成????一 U?的try??????U??常?q???理, ?????开Q????????q?U??常?的try?句????一 个try??????子?</p> <p>class MultiNest { static void procedure() { try { int c[] = { 1 }: c[42] = 99; } catch(ArrayIndexOutOfBoundsexception e) { System.out.println("array index oob: " + e); } } public static void main(String args[]) { try { int a = args.length; system.out.println("a = " + a); int b = 42/a; procedure(); } catch(arithmeticException e) { System.out.println("div by 0: " + e); } } } </p> <p>???数procedure????的try/catch?Ӟ 所 以main??d ?ArrayIndexOutOfBoundsException?</p> <h4 align="center">8.7 throw??/h4> <p>throw?????????一 个??常”??先, ???得到 一 个Throwable??????柄, ?q????到catch?句, 或?用new??W????一 个???是throw??????式?</p> <p>throw ThrowableInstance; </p> <p>E???在throw?????l?止, ?????????刎ͼ???????所 有try?????????????配的catch??的try块????一 ??有throw????子?</p> <p>class ThrowDemo { static void demoproc() { try { throw new NullPointerException("de3mo"); } catch(NullPointerException e) { System.out.println("caught inside demoproc"); throw e; } } public static void main(String args[]) { try { demoproc(); } catch(NullPointerException e) { system.out.println("recaught: " + e); } } } </p> <h4 align="center">8.8 throws??</h4> <p>throws????一 ???????????U??常”。对 ??数Exception?c??_Java ~?????q?????一????????的??常??c?型??果??常??c?型是Error?RuntimeExceptionQ??????c, q???????用,??q??copy; ?E??????????????的??果你 ??????一 个RuntimeExceptionQ????用throws??来声 ???c?型?q???????????????法: </p> <p>type method-name(arg-list) throws exception-list { } </p> <p>???一 D?E?序, ????一 个??常”, ????捕捉 它, ???用throws??明?q??~???????q?</p> <p>class ThrowsDemo1 { static void procedure( ) [ System.out.println("inside procedure"); throw new IllegalAccessException("demo"); } public static void main(String args[]) { procedure( ); } } </p> <p>???q????~??q?去, ??需 ??????数procedure抛出 了IllegalAccessExceptionQ?q??????????数main?捕捉 它????????子: </p> <p>class ThrowsDemo { static void procedure( ) throws IllegalAccessException { System.out.println("inside procedure"); throw new IllegalAccessException("demo"); } public static void main(String args[]) { try { procedure( ); } catch (IllegalAccessException e) { System.out.println("caught " + e); } } } </p> <p>?????l?果: </p> <p>C:\>java ThrowsDemo inside procedure caught java.lang.IllegalAccessException: demo </p> <h4 align="center">8.9 finally </h4> <p>?一 个??常????Ӟ E?????????U??的,?q???copy; 行, ?????????reg; ??的catch?句?q???q?回?????一 D???????什 么??常?????????的, ??词finally??????q??一D???的?????有catch?句,finallyE????????tryE?????E???reg; ??行??个try???需 ??一 ???reg; ??的catch??或finally?句?一 ?????q回 ????????敎ͼ ???q?一 ?????的??常”,???q?一 ???的return?句,finally????????员函 ?q????行????一 ??子, ???????敎ͼ????????????退 出, ???了finally?句?</p> <p>class FinallyDemo { static void procA( ) { try { System.out.println("inside procA"); throw new RuntimeException("demo"); } finally { System.out.println("procA's finally"); } } static void procB( ) { try { System.out.println("inside procB"); return; } finally { System.out.println("procB's finally"); } } public static void main(String args[]) { try { procA( ); } catch (Exception e); procB( ); } } </p> <p>???q?????q??l?果: </p> <p>C:\>java FinallyDemo inside procA procA's finally inside procB procB's finally </p> <h4 align="center">???l?</h4> <p>1. ??常????E??q??????????c?2. 在??常?c????最 ???c?叫ThrowableQ????????子类QException和Error?3. Java的??常????q??????实现QtryQcatchQthrowQthrows和finally?</p> <img src ="http://www.aygfsteel.com/Jody/aggbug/42190.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Jody/" target="_blank">zhaofei1394</a> 2006-04-20 16:41 <a href="http://www.aygfsteel.com/Jody/archive/2006/04/20/42190.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在SQL中用convert函数q行日期的查?/title><link>http://www.aygfsteel.com/Jody/archive/2006/04/19/41931.html</link><dc:creator>zhaofei1394</dc:creator><author>zhaofei1394</author><pubDate>Wed, 19 Apr 2006 08:10:00 GMT</pubDate><guid>http://www.aygfsteel.com/Jody/archive/2006/04/19/41931.html</guid><wfw:comment>http://www.aygfsteel.com/Jody/comments/41931.html</wfw:comment><comments>http://www.aygfsteel.com/Jody/archive/2006/04/19/41931.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Jody/comments/commentRss/41931.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Jody/services/trackbacks/41931.html</trackback:ping><description><![CDATA[         曄遇到q样的情?在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时?在存入时׃要指明开会具体时?故格式ؓyyyy-mm-dd hh:mm:ss,而我们查询时是通过yyyy-mm-dd来进行的,x询某一天的所有会议信?q样如果通过select * from Meeting where PublishTime=@PublishTime (参数@PublishTime为yyyy-mm-dd格式)语句q行查询无法得到正结?比如我们要查?004q?2?日的会议信息,在输?004-12-01时就不能得到查询l果,而这U查询又不能要求输入具体的hh:mm:ss. <p>此时我们需要用convert函数,它可以将一U数据类型的表达式{换ؓ另一U数据类型的表达?此处我们先将数据库内的datetimecd转换为charcd,׃输入的参数是10位的,所以写?/p><p>select * from Meeting where convert(varchar(10),PublishTime,121))=@PublishTime,q样在查询时数据库得到参数后先自动将数据库内的信息{换ؓyyyy-mm-dd格式?0位字W?只要与参数相同即可返回查询结?而convert中的121是指datetimecd转换为charcd时获得包括世U位数的4位年?br /><br />格式:<br /><b style="COLOR: black; BACKGROUND-COLOR: #a0ffff">CONVERT</b>(data_type,expression[,style])<br /><br />说明:<br />此样式一般在旉cd(datetime,smalldatetime)与字W串cd(nchar,nvarchar,char,varchar)<br />怺转换的时候才用到.<br /><br />例子:<br />Select <b style="COLOR: black; BACKGROUND-COLOR: #a0ffff">CONVERT</b>(varchar(30),getdate(),101) now<br />l果?br />now<br />---------------------------------------<br />09/15/2001<br /><br />/////////////////////////////////////////////////////////////////////////////////////<br /><br />style数字在{换时间时的含义如?br /><br />-------------------------------------------------------------------------------------------------<br />Style(2位表C年? | Style(4位表C年? | 输入输出格式 <br />-------------------------------------------------------------------------------------------------<br />- | 0 or 100 | mon dd yyyy hh:miAM(或PM) <br />-------------------------------------------------------------------------------------------------<br />1 | 101 | mm/dd/yy <br />-------------------------------------------------------------------------------------------------<br />2 | 102 | yy-mm-dd <br />-------------------------------------------------------------------------------------------------<br />3 | 103 | dd/mm/yy <br />-------------------------------------------------------------------------------------------------<br />4 | 104 | dd-mm-yy <br />-------------------------------------------------------------------------------------------------<br />5 | 105 | dd-mm-yy <br />-------------------------------------------------------------------------------------------------<br />6 | 106 | dd mon yy <br />-------------------------------------------------------------------------------------------------<br />7 | 107 | mon dd,yy <br />-------------------------------------------------------------------------------------------------<br />8 | 108 | hh:mm:ss <br />-------------------------------------------------------------------------------------------------<br />- | 9 or 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)<br />-------------------------------------------------------------------------------------------------<br />10 | 110 | mm-dd-yy <br />-------------------------------------------------------------------------------------------------<br />11 | 111 | yy/mm/dd <br />-------------------------------------------------------------------------------------------------<br />12 | 112 | yymmdd <br />-------------------------------------------------------------------------------------------------<br />- | 13 or 113 | dd mon yyyy hh:mi:ss:mmm(24时? <br />-------------------------------------------------------------------------------------------------<br />14 | 114 | hh:mi:ss:mmm(24时? <br />-------------------------------------------------------------------------------------------------<br />- | 20 or 120 | yyyy-mm-dd hh:mi:ss(24时? <br />-------------------------------------------------------------------------------------------------<br />- | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24时? <br />-------------------------------------------------------------------------------------------------<br /><br /><br /><br />以上是我在开发中遇到的小困难的ȝ,如果写的有不正确的地Ҏq大家指? </p><img src ="http://www.aygfsteel.com/Jody/aggbug/41931.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Jody/" target="_blank">zhaofei1394</a> 2006-04-19 16:10 <a href="http://www.aygfsteel.com/Jody/archive/2006/04/19/41931.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">û</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank">Ҿ</a>| <a href="http://" target="_blank">ӡ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʯȪ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ʯ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̷</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϳ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>