??xml version="1.0" encoding="utf-8" standalone="yes"?>国产系列电影在线播放网址,欧美日韩不卡一区二区,欧美女优在线http://www.aygfsteel.com/zh-qi/一切从头开?/description>zh-cnThu, 19 Jun 2025 11:43:34 GMTThu, 19 Jun 2025 11:43:34 GMT60C指针http://www.aygfsteel.com/zh-qi/archive/2009/11/04/301097.htmlW看风云W看风云Wed, 04 Nov 2009 08:50:00 GMThttp://www.aygfsteel.com/zh-qi/archive/2009/11/04/301097.htmlhttp://www.aygfsteel.com/zh-qi/comments/301097.htmlhttp://www.aygfsteel.com/zh-qi/archive/2009/11/04/301097.html#Feedback0http://www.aygfsteel.com/zh-qi/comments/commentRss/301097.htmlhttp://www.aygfsteel.com/zh-qi/services/trackbacks/301097.html阅读全文

W看风云 2009-11-04 16:50 发表评论
]]>
如何制作 MyEclipse 5.5/6.0 l色?/title><link>http://www.aygfsteel.com/zh-qi/archive/2009/09/08/294246.html</link><dc:creator>W看风云</dc:creator><author>W看风云</author><pubDate>Tue, 08 Sep 2009 01:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/zh-qi/archive/2009/09/08/294246.html</guid><wfw:comment>http://www.aygfsteel.com/zh-qi/comments/294246.html</wfw:comment><comments>http://www.aygfsteel.com/zh-qi/archive/2009/09/08/294246.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zh-qi/comments/commentRss/294246.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zh-qi/services/trackbacks/294246.html</trackback:ping><description><![CDATA[<p>另一U解x法是: <a class="entrylistItemTitle" id="CategoryEntryList1_EntryStoryList_Entries_ctl02_TitleUrl" href="http://www.aygfsteel.com/beansoft/archive/2006/11/27/83884.html"><strong><font color="#1a8bc8">Portable Java IDE 2.1 打包下蝲(12.7.2006更新)</font></strong></a>   <br /> <br /> 我们知道 Eclipse 工具的最大缺? 是安装插g极其费劲, W一是需要手工复制安? W二呢如果插件版本和 Eclipse 版本不配? Ҏ(gu)q不了, W三呢如果插件Aq依赖于插gB(?Eclipse 官方|站众多插g的下载和安装, 例如 Visual Editor), 你还得去再把插gB下蝲一? 所以网上出C众多 Eclipse 插g的管理方? 例如 Link 目录安装? EasyEclipse ?<a title="EasyEclipse Free, open source, easy-to-use Eclipse distributions" >EasyEclipse Free, open source, easy-to-use Eclipse distributions</a>), EasyEclipse q个是用 NSIS 来做单个插g的安装和卸蝲?  商业的解x? 集成了各U各L(fng)插g? 首推行?MyEclipse. 但是随着 MyEclipse 安装包的肥大, 安装一ơ也是相当的耗时, 其最后一步执?ANT 脚本?unpack200 解压~的q程, 如果?sh)脑ơ一点的? d半天没反? 重则q程挂掉, 重新安装. 虽然?Eclipse 本n我没啥说? 但是 Eclipse 装插件的是对初学者来说是个折?  废话说.首先? 我们需要去 MyEclipse ?All In ONE 版本, q样做绿色版好做一? 如果你不知道如何下蝲和安? 请参考本站视? <a href="http://www.aygfsteel.com/beansoft/archive/2007/09/24/147651.html">MyEclipse 6 实战开发讲解视频入?0: 下蝲 安装 q行 HelloWorld</a> </p> <p><a href="http://www.aygfsteel.com/beansoft/archive/2007/08/12/136164.html">MyEclipse 5.5 + Tomcat 开发视? 下蝲,安装,配置,开发ƈq行W(xu)eb目</a> </p> <p>安装完毕后得C个完整的目录, 那么我们要做的就是修改一个配|文? 创徏一个启?BAT 文g后就可以实现 MyEclipse 6 的免安装q行? 换句话说我们可以攑֜Ud盘上启?当然注册码自己想办法搞定). </p> <p>首先看安装后的目? </p> <p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="210" alt="image" src="http://www.aygfsteel.com/images/blogjava_net/beansoft/WindowsLiveWriter/MyEclipse5.56.0_7DCB/image_1.png" width="220" border="0" /> </p> <p>我们先在q个目录下新Z个文? MyEclipse 6.0.bat , 文g内容如下: </p> <blockquote> <p>start eclipse\eclipse.exe -vm jre\bin\javaw.exe</p> </blockquote> <p>接下来只需要改一个Eclipse插g的配|文件就可以实现l色版运行了, 我们用记事本{文本编辑器打开下面的这个文?com.genuitec.eclipse.MyEclipse.link: </p> <p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="66" alt="image" src="http://www.aygfsteel.com/images/blogjava_net/beansoft/WindowsLiveWriter/MyEclipse5.56.0_7DCB/image_3.png" width="284" border="0" /> </p> <p>文g原始内容如下所C? </p> <p>path=d:\\Java\\MyEclipse6.0\\myeclipse </p> <p>q个是指?myeclipse q个插g目录的位|的, 我们把它Ҏ(gu)相对路径卛_:</p> <p>path=..\\myeclipse</p> <p>OK, 完工? 把MyEclipse 6.0 整个目录复制C的移动硬盘上或者刻成光? 以后当你的系l重做后或者拿着Ud盘C一个根本没装过 Java 工具的电(sh)脑上? 双击批处理文件即可立卛_?MyEclipse 来工? 复制到硬盘上的Q何目?注意路径不要带空格或者汉?, 也可以同样启? 免去我们安装和配|之?</p> <img src ="http://www.aygfsteel.com/zh-qi/aggbug/294246.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zh-qi/" target="_blank">W看风云</a> 2009-09-08 09:13 <a href="http://www.aygfsteel.com/zh-qi/archive/2009/09/08/294246.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java多线E编Eȝhttp://www.aygfsteel.com/zh-qi/archive/2009/05/18/271351.htmlW看风云W看风云Mon, 18 May 2009 07:43:00 GMThttp://www.aygfsteel.com/zh-qi/archive/2009/05/18/271351.htmlhttp://www.aygfsteel.com/zh-qi/comments/271351.htmlhttp://www.aygfsteel.com/zh-qi/archive/2009/05/18/271351.html#Feedback0http://www.aygfsteel.com/zh-qi/comments/commentRss/271351.htmlhttp://www.aygfsteel.com/zh-qi/services/trackbacks/271351.html一、认识多d、多q程、单U程、多U程
要认识多U程p从操作系l的原理说v?br />  
以前古老的DOS操作pȝQV 
6.22Q是单Q务的Q还没有U程的概念,pȝ在每ơ只能做一件事情。比如你在copy东西的时候不能rename文g名。ؓ(f)了提高系l的利用效率Q采用批处理来批量执行Q务?br />  
现在的操作系l都是多d操作pȝQ每个运行的d是操作pȝ所做的一件事情,比如你在听歌的同时还在用MSN和好友聊天。听歌和聊天是两个dQ这个两个Q务是“同时”q行的。一个Q务一般对应一个进E,也可能包含好几个q程。比如运行的MSN对应一个MSN的进E,如果你用的是 windowspȝQ你可以在d理器中看到操作pȝ正在q行的进E信息?br />  
一般来_(d)当运行一个应用程序的时候,启动了一个进E,当然有些?x)启动多个进E。启动进E的时候,操作pȝ?x)?f)q程分配资源Q其中最主要的资源是内存I间Q因为程序是在内存中q行的。在q程中,有些E序程块是可以乱序执行的,q且q个代码块可以同时被多次执行。实际上Q这L(fng)代码块就是线E体。线E是q程中ؕ序执行的代码程。当多个U程同时q行的时候,q样的执行模式成为ƈ发执行?br />  
多线E的目的是ؓ(f)了最大限度的利用CPU资源?br />  
Java~写E序都运行在在Java虚拟机(JVMQ中Q在JVM的内部,E序的多d是通过U程来实现的。每用java命o(h)启动一个java 应用E序Q就?x)启动一个JVMq程。在同一个JVMq程中,有且只有一个进E,是它自己。在q个JVM环境中,所有程序代码的q行都是以线E来q行?br />  
一般常见的Java应用E序都是单线E的。比如,用java命o(h)q行一个最单的HelloWorld的Java应用E序Ӟ启动了一?nbsp;JVMq程QJVM扑ֈE序E序的入口点main()Q然后运行main()Ҏ(gu)Q这样就产生了一个线E,q个U程UCZU程。当mainҎ(gu)l束后,ȝE运行完成。JVMq程也随即退?nbsp;?br />  
对于一个进E中的多个线E来_(d)多个U程׃nq程的内存块Q当有新的线E生的时候,操作pȝ不分配新的内存,而是让新U程׃n原有的进E块的内存。因此,U程间的通信很容易,速度也很快。不同的q程因ؓ(f)处于不同的内存块Q因此进E之间的通信相对困难?br />  
实际上,操作的系l的多进E实C多Q务ƈ发执行,E序的多U程实现了进E的q发执行。多d、多q程、多U程的前提都是要求操作系l提供多d、多q程、多U程的支持?br />  
在JavaE序中,JVM负责U程的调度。线E调度是值按照特定的机制为多个线E分配CPU的用权?br /> 调度的模式有两种Q分时调度和抢占式调度。分时调度是所有线E轮获得CPU使用权,q^均分配每个线E占用CPU的时_(d)抢占式调度是Ҏ(gu)U程的优先别来获取CPU的用权。JVM的线E调度模式采用了抢占式模式?br />  
所谓的“q发执行”?#8220;同时”其实都不是真正意义上?#8220;同时”。众所周知QCPU都有个时钟频率,表示每秒中能执行cpu指o(h)的次数。在每个旉周期内,CPU实际上只能去执行一条(也有可能多条Q指令。操作系l将q程U程q行理Q轮(没有固定的顺序)分配每个q程很短的一D|旉Q不一定是均分Q,然后在每个线E内部,E序代码自己处理该进E内部线E的旉分配Q多个线E之间相互的切换L行,q个切换旉也是非常短的。因此多d、多q程、多U程都是操作pȝlh的一U宏观感受,从微观角度看Q程序的q行是异步执行的?br />  
用一句话做ȝQ虽然操作系l是多线E的Q但CPU每一时刻只能做一件事Q和人的大脑是一L(fng)Q呵c(din)?br />  
 
二、Java与多U程
 
Java语言的多U程需要操作系l的支持?br />  
Java 虚拟机允许应用程序ƈ发地q行多个执行U程。Java语言提供了多U程~程的扩展点Qƈl出了功能强大的U程控制API?br />  
在Java中,多线E的实现有两U方式:(x)
扩展java.lang.Threadc?br /> 实现java.lang.Runnable接口
 
 
每个U程都有一个优先Q高优先U线E的执行优先于低优先U线E。每个线E都可以或不可以标记Z个守护程序。当某个U程中运行的代码创徏一个新 Thread 对象Ӟ该新U程的初始优先被设定ؓ(f)创徏U程的优先Qƈ且当且仅当创建线E是守护U程Ӟ新线E才是守护程序?br />  
?nbsp;Java 虚拟机启动时Q通常都会(x)有单个非守护U程Q它通常?x)调用某个指定类?nbsp;main Ҏ(gu)Q。Java 虚拟Z(x)l箋执行U程Q直C列Q一情况出现时ؓ(f)止:(x)
 
调用?nbsp;Runtime cȝ exit Ҏ(gu)Qƈ且安全管理器允许退出操作发生?br /> 非守护线E的所有线E都已停止运行,无论是通过从对 run Ҏ(gu)的调用中q回Q还是通过抛出一个传播到 run Ҏ(gu)之外的异常?br />  
 
三、扩展java.lang.Threadc?br />  
/**
 * File Name:   TestMitiThread.java
 * Created by:  IntelliJ IDEA.
 * Copyright:   Copyright (c) 2003-2006
 * Company:     Lavasoft( [url]
http://lavasoft.blog.51cto.com/[/url])
 * Author:      leizhimin
 * Modifier:    leizhimin
 * Date Time:   2007-5-17 10:03:12
 * Readme:      通过扩展Threadcd现多U程
 
*/
public class TestMitiThread {
    
public static void main(String[] rags) {
        System.out.println(Thread.currentThread().getName() 
+ " U程q行开?");
        
new MitiSay("A").start();
        
new MitiSay("B").start();
        System.out.println(Thread.currentThread().getName() 
+ " U程q行l束!");
    }
}
 
class MitiSay extends Thread {
    
public MitiSay(String threadName) {
        
super(threadName);
    }
 
    
public void run() {
        System.out.println(getName() 
+ " U程q行开?");
        
for (int i = 0; i < 10; i++) {
            System.out.println(i 
+ " " + getName());
            
try {
                sleep((
int) Math.random() * 10);
            } 
catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.println(getName() 
+ " U程q行l束!");
    }
}
 
q行l果Q?br />  
main U程q行开?/span>!
main U程q行l束
!
A U程q行开?/span>!
0 A
1 A
B U程q行开?/span>!
2 A
0 B
3 A
4 A
1 B
5 A
6 A
7 A
8 A
9 A
A U程q行l束
!
2 B
3 B
4 B
5 B
6 B
7 B
8 B
9 B
B U程q行l束
!
 
说明Q?br /> E序启动q行main时候,java虚拟机启动一个进E,ȝEmain在main()调用时候被创徏。随着调用MitiSay的两个对象的startҎ(gu)Q另外两个线E也启动了,q样Q整个应用就在多U程下运行?br />  
在一个方法中调用Thread.currentThread().getName()Ҏ(gu)Q可以获取当前线E的名字。在mianҎ(gu)中调用该Ҏ(gu)Q获取的是主U程的名字?br />  
注意Qstart()Ҏ(gu)的调用后q不是立x行多U程代码Q而是使得该线E变为可q行态(RunnableQ,什么时候运行是由操作系l决定的?br /> 从程序运行的l果可以发现Q多U程E序是ؕ序执行。因此,只有乱序执行的代码才有必要设计ؓ(f)多线E?br /> Thread.sleep()Ҏ(gu)调用目的是不让当前线E独自霸占该q程所获取的CPU资源Q以留出一定时间给其他U程执行的机?x)?br /> 实际上所有的多线E代码执行顺序都是不定的,每次执行的结果都是随机的?br />  
 
四、实现java.lang.Runnable接口
 
/**
 * 通过实现 Runnable 接口实现多线E?br />  
*/
public class TestMitiThread1 implements Runnable {
 
    
public static void main(String[] args) {
        System.out.println(Thread.currentThread().getName() 
+ " U程q行开?");
        TestMitiThread1 test 
= new TestMitiThread1();
        Thread thread1 
= new Thread(test);
        Thread thread2 
= new Thread(test);
        thread1.start();
        thread2.start();
        System.out.println(Thread.currentThread().getName() 
+ " U程q行l束!");
    }
 
    
public void run() {
        System.out.println(Thread.currentThread().getName() 
+ " U程q行开?");
        
for (int i = 0; i < 10; i++) {
            System.out.println(i 
+ " " + Thread.currentThread().getName());
            
try {
                Thread.sleep((
int) Math.random() * 10);
            } 
catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.println(Thread.currentThread().getName() 
+ " U程q行l束!");
    }
}
 
q行l果Q?br />  
main U程q行开?/span>!
Thread
-0 U程q行开?/span>!
main U程q行l束
!
0 Thread-0
Thread
-1 U程q行开?/span>!
0 Thread-1
1 Thread-1
1 Thread-0
2 Thread-0
2 Thread-1
3 Thread-0
3 Thread-1
4 Thread-0
4 Thread-1
5 Thread-0
6 Thread-0
5 Thread-1
7 Thread-0
8 Thread-0
6 Thread-1
9 Thread-0
7 Thread-1
Thread
-0 U程q行l束!
8 Thread-1
9 Thread-1
Thread
-1 U程q行l束!
 
说明Q?br /> TestMitiThread1c通过实现Runnable接口Q得该cL了多U程cȝ特征。runQ)Ҏ(gu)是多U程E序的一个约定。所有的多线E代码都在runҎ(gu)里面。Threadcd际上也是实现了Runnable接口的类?br /> 在启动的多线E的时候,需要先通过Threadcȝ构造方法Thread(Runnable target) 构造出对象Q然后调用Thread对象的start()Ҏ(gu)来运行多U程代码?br /> 实际上所有的多线E代码都是通过q行Thread的start()Ҏ(gu)来运行的。因此,不管是扩展Threadc还是实现Runnable接口来实现多U程Q最l还是通过Thread的对象的API来控制线E的Q熟(zhn)ThreadcȝAPI是进行多U程~程的基?br />  
五、读解ThreadcAPI
 
static int MAX_PRIORITY
          U程可以h的最高优先?br />
static int MIN_PRIORITY
          U程可以h的最低优先?br />
static int NORM_PRIORITY
          分配l线E的默认优先U?br />  
构造方法摘?br /> Thread(Runnable target)
          分配新的 Thread 对象?br /> Thread(String name)
          分配新的 Thread 对象?br />  
 
Ҏ(gu)摘要
static Thread currentThread()
          q回对当前正在执行的U程对象的引用?br />  ClassLoader getContextClassLoader()
          q回该线E的上下?nbsp;ClassLoader?br />  
long getId()
          q回该线E的标识W?br />  String getName()
          q回该线E的名称?br />  
int getPriority()
          q回U程的优先?br />  Thread.State getState()
          q回该线E的状态?br />  ThreadGroup getThreadGroup()
          q回该线E所属的U程l?br />
static boolean holdsLock(Object obj)
          当且仅当当前U程在指定的对象上保持监视器锁时Q才q回 
true?br />  void interrupt()
          中断U程?br />
static boolean interrupted()
          试当前U程是否已经中断?br />  
boolean isAlive()
          试U程是否处于zd状态?br />  
boolean isDaemon()
          试该线E是否ؓ(f)守护U程?br />  
boolean isInterrupted()
          试U程是否已经中断?br />  
void join()
          {待该线E终止?br />  
void join(long millis)
          {待该线E终止的旉最长ؓ(f) millis 毫秒?br />  
void join(long millis, int nanos)
          {待该线E终止的旉最长ؓ(f) millis 毫秒 
+ nanos U秒?br />  void resume()
          已过时?nbsp;该方法只?nbsp;suspend() 一起用,?nbsp;suspend() 已经遭到反对Q因为它h死锁們֐。有x多信息,请参阅ؓ(f)?nbsp;Thread.stop、Thread.suspend ?nbsp;Thread.resume 遭到反对Q?br />  
void run()
          如果该线E是使用独立?nbsp;Runnable q行对象构造的Q则调用?nbsp;Runnable 对象?nbsp;run Ҏ(gu)Q否则,该方法不执行M操作q返回?br />  
void setContextClassLoader(ClassLoader cl)
          讄该线E的上下?nbsp;ClassLoader?br />  
void setDaemon(boolean on)
          该U程标记为守护线E或用户U程?br />
static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)
          讄当线E由于未捕获到异常而突然终止,q且没有U程定义其他处理E序时所调用的默认处理程序?br />  
void setName(String name)
          改变U程名称Q之与参数 name 相同?br />  
void setPriority(int newPriority)
          更改U程的优先?br />  
void setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)
          讄该线E由于未捕获到异常而突然终止时调用的处理程序?br />
static void sleep(long millis)
          在指定的毫秒数内让当前正在执行的U程休眠Q暂停执行)?br />
static void sleep(long millis, int nanos)
          在指定的毫秒数加指定的纳U数内让当前正在执行的线E休眠(暂停执行Q?br />  
void start()
          使该U程开始执行;Java 虚拟用该U程?nbsp;run Ҏ(gu)?br />  
void stop()
          已过时?nbsp;该方法具有固有的不安全性。用 Thread.stop 来终止线E将释放它已l锁定的所有监视器Q作为沿堆栈向上传播的未(g)?nbsp;ThreadDeath 异常的一个自然后果)。如果以前受q些监视器保护的M对象都处于一U不一致的状态,则损坏的对象对其他U程可见Q这有可能导致Q意的行ؓ(f)。stop 的许多用都应由只修Ҏ(gu)些变量以指示目标U程应该停止q行的代码来取代。目标线E应定期(g)查该变量Qƈ且如果该变量指示它要停止q行Q则从其q行Ҏ(gu)依次q回。如果目标线E等待很长时_(d)例如Z一个条件变量)Q则应?nbsp;interrupt Ҏ(gu)来中断该{待。有x多信息,请参阅《ؓ(f)何不赞成使用 Thread.stop、Thread.suspend ?nbsp;Thread.resumeQ》?br />  
void stop(Throwable obj)
          已过时?nbsp;该方法具有固有的不安全性。请参阅 stop() 以获得详l信息。该Ҏ(gu)的附加危险是它可用于生成目标U程未准备处理的异常Q包括若没有该方法该U程不太可能抛出的已(g)查的异常Q。有x多信息,请参阅ؓ(f)?nbsp;Thread.stop、Thread.suspend ?nbsp;Thread.resume 遭到反对Q?br />  
void suspend()
          已过时。该Ҏ(gu)已经遭到反对Q因为它h固有的死锁們֐。如果目标线E挂h在保护关键系l资源的监视器上保持有锁Q则在目标线E重新开始以前Q何线E都不能讉K该资源。如果重新开始目标线E的U程惛_调用 resume 之前锁定该监视器Q则?x)发生死锁。这cL锁通常?x)证明自己?#8220;ȝ”的进E。有x多信息,请参阅ؓ(f)?nbsp;Thread.stop、Thread.suspend ?nbsp;Thread.resume 遭到反对Q?br />  String toString()
          q回该线E的字符串表CŞ式,包括U程名称、优先和线E组?br />
static void yield()
          暂停当前正在执行的线E对象,q执行其他线E?br />  
 
六、线E的状态{换图
 
U程在一定条件下Q状态会(x)发生变化。线E变化的状态{换图如下Q?br />
 
1、新建状态(NewQ:(x)新创Z一个线E对象?br /> 2、就l状态(RunnableQ:(x)U程对象创徏后,其他U程调用了该对象的start()Ҏ(gu)。该状态的U程位于可运行线E池中,变得可运行,{待获取CPU的用权?br /> 3、运行状态(RunningQ:(x)qA状态的U程获取了CPUQ执行程序代码?br /> 4、阻塞状态(BlockedQ:(x)d状态是U程因ؓ(f)某种原因攑ּCPU使用权,暂时停止q行。直到线E进入就l状态,才有Z(x)转到q行状态。阻塞的情况分三U:(x)
Q一Q、等待阻塞:(x)q行的线E执行wait()Ҏ(gu)QJVM?x)把该线E放入等待池中?br /> Q二Q、同步阻塞:(x)q行的线E在获取对象的同步锁Ӟ若该同步锁被别的U程占用Q则JVM?x)把该线E放入锁池中?br /> Q三Q、其他阻塞:(x)q行的线E执行sleep()或join()Ҏ(gu)Q或者发ZI
/OhӞJVM?x)把该线E置为阻塞状态。当sleep()状态超时、join(){待U程l止或者超时、或者I/O处理完毕ӞU程重新转入qA状态?br /> 5、死亡状态(DeadQ:(x)U程执行完了或者因异常退Zrun()Ҏ(gu)Q该U程l束生命周期?br />  
 
七、线E的调度
1、调整线E优先QJavaU程有优先Q优先高的U程?x)获得较多的q行Z(x)?br />  
JavaU程的优先用整数表C,取D围是1
~10QThreadcL以下三个静态常量:(x)
static int MAX_PRIORITY
          U程可以h的最高优先Q取gؓ(f)10?br />
static int MIN_PRIORITY
          U程可以h的最低优先Q取gؓ(f)1?br />
static int NORM_PRIORITY
          分配l线E的默认优先U,取gؓ(f)5?br />  
ThreadcȝsetPriority()和getPriority()Ҏ(gu)分别用来讄和获取线E的优先U?br />  
每个U程都有默认的优先。主U程的默认优先为Thread.NORM_PRIORITY?br /> U程的优先有承关p,比如AU程中创ZBU程Q那么B和Ah相同的优先?br /> JVM提供?0个线E优先Q但与常见的操作pȝ都不能很好的映射。如果希望程序能UL到各个操作系l中Q应该仅仅用ThreadcL以下三个静态常量作Z先Q这栯保证同样的优先采用了同L(fng)调度方式?br />  
2、线E睡眠:(x)Thread.sleep(long millis)Ҏ(gu)QɾU程转到d状态。millis参数讑֮睡眠的时_(d)以毫Uؓ(f)单位。当睡眠l束后,p{为就l(RunnableQ状态。sleep()q_UL性好?br />  
3、线E等待:(x)ObjectcM的wait()Ҏ(gu)Q导致当前的U程{待Q直到其他线E调用此对象?nbsp;notify() Ҏ(gu)?nbsp;notifyAll() 唤醒Ҏ(gu)。这个两个唤醒方法也是ObjectcM的方法,行ؓ(f){h(hun)于调?nbsp;wait(0) 一栗?br />  
4、线E让步:(x)Thread.yield() Ҏ(gu)Q暂停当前正在执行的U程对象Q把执行Z(x)让给相同或者更高优先的线E?br />  
5、线E加入:(x)join()Ҏ(gu)Q等待其他线E终止。在当前U程中调用另一个线E的join()Ҏ(gu)Q则当前U程转入d状态,直到另一个进E运行结束,当前U程再由d转ؓ(f)qA状态?br />  
6、线E唤醒:(x)ObjectcM的notify()Ҏ(gu)Q唤醒在此对象监视器上等待的单个U程。如果所有线E都在此对象上等待,则会(x)选择唤醒其中一个线E。选择是Q意性的Qƈ在对实现做出军_时发生。线E通过调用其中一?nbsp;wait Ҏ(gu)Q在对象的监视器上等待。直到当前的U程攑ּ此对象上的锁定,才能l箋执行被唤醒的U程。被唤醒的线E将以常规方式与在该对象上主动同步的其他所有线E进行竞争;例如Q唤醒的U程在作为锁定此对象的下一个线E方面没有可靠的Ҏ(gu)或劣ѝ类似的Ҏ(gu)q有一个notifyAll()Q唤醒在此对象监视器上等待的所有线E?br />  
注意QThread中suspend()和resume()两个Ҏ(gu)在JDK1.5中已l废除,不再介绍。因为有死锁們֐?br />  
7、常见线E名词解?br /> ȝE:(x)JVM调用E序mian()所产生的线E?br /> 当前U程Q这个是Ҏ(gu)h的概c(din)一般指通过Thread.currentThread()来获取的q程?br /> 后台U程Q指为其他线E提供服务的U程Q也UCؓ(f)守护U程。JVM的垃圑֛收线E就是一个后台线E?br /> 前台U程Q是指接受后台线E服务的U程Q其实前台后台线E是联系在一P像傀(g)儡和q后操纵者一L(fng)关系。傀(g)儡是前台U程、幕后操U者是后台U程。由前台U程创徏的线E默认也是前台线E。可以通过isDaemon()和setDaemon()Ҏ(gu)来判断和讄一个线E是否ؓ(f)后台U程?br />
转自:http://lavasoft.blog.51cto.com/62575/27069


W看风云 2009-05-18 15:43 发表评论
]]>
Java Web应用中的d调度http://www.aygfsteel.com/zh-qi/archive/2009/05/08/269644.htmlW看风云W看风云Fri, 08 May 2009 08:47:00 GMThttp://www.aygfsteel.com/zh-qi/archive/2009/05/08/269644.htmlhttp://www.aygfsteel.com/zh-qi/comments/269644.htmlhttp://www.aygfsteel.com/zh-qi/archive/2009/05/08/269644.html#Feedback0http://www.aygfsteel.com/zh-qi/comments/commentRss/269644.htmlhttp://www.aygfsteel.com/zh-qi/services/trackbacks/269644.html阅读全文

W看风云 2009-05-08 16:47 发表评论
]]>
MyEclipse 快捷键大?/title><link>http://www.aygfsteel.com/zh-qi/archive/2009/04/24/267362.html</link><dc:creator>W看风云</dc:creator><author>W看风云</author><pubDate>Fri, 24 Apr 2009 07:08:00 GMT</pubDate><guid>http://www.aygfsteel.com/zh-qi/archive/2009/04/24/267362.html</guid><wfw:comment>http://www.aygfsteel.com/zh-qi/comments/267362.html</wfw:comment><comments>http://www.aygfsteel.com/zh-qi/archive/2009/04/24/267362.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zh-qi/comments/commentRss/267362.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zh-qi/services/trackbacks/267362.html</trackback:ping><description><![CDATA[<p> </p> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">MyEclipse 快捷键大?br /> Q?/span><span style="color: #000000">1</span><span style="color: #000000">QCtrl</span><span style="color: #000000">+</span><span style="color: #000000">M切换H口的大?br /> Q?/span><span style="color: #000000">2</span><span style="color: #000000">QCtrl</span><span style="color: #000000">+</span><span style="color: #000000">Q跛_最后一ơ的~辑?br /> Q?/span><span style="color: #000000">3</span><span style="color: #000000">QF2当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标Ud时Tooltipq会(x)昄即Show Tooltip Description?br />           F3跛_声明或定义的地方?br />           F5单步调试q入函数内部?br />           F6单步调试不进入函数内部,如果装了金山词霸2006则要?#8220;取词开?#8221;的快捷键Ҏ(gu)其他的?br />           F7由函数内部返回到调用处?br />           F8一直执行到下一个断炏V?br /> Q?/span><span style="color: #000000">4</span><span style="color: #000000">QCtrl</span><span style="color: #000000">+</span><span style="color: #000000">Pg</span><span style="color: #000000">~</span><span style="color: #000000">对于XML文g是切换代码和囄H口<br /> Q?/span><span style="color: #000000">5</span><span style="color: #000000">QCtrl</span><span style="color: #000000">+</span><span style="color: #000000">Alt</span><span style="color: #000000">+</span><span style="color: #000000">I看Java文g中变量的相关信息<br /> Q?/span><span style="color: #000000">6</span><span style="color: #000000">QCtrl</span><span style="color: #000000">+</span><span style="color: #000000">PgUp对于代码H口是打开“Show List”下拉框,在此下拉框里昄有最q曾打开的文?br /> Q?/span><span style="color: #000000">7</span><span style="color: #000000">QCtrl</span><span style="color: #000000">+/</span><span style="color: #000000"> 在代码窗口中是这U?/span><span style="color: #008000">//</span><span style="color: #008000">~注释?/span><span style="color: #008000"><br /> </span><span style="color: #000000">          Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+/</span><span style="color: #000000"> 在代码窗口中是这U?/span><span style="color: #008000">/**</span><span style="color: #008000">//*~</span><span style="color: #008000">*/</span><span style="color: #000000">注释Q在JSP文gH口中是</span><span style="color: #000000"><!--~--></span><span style="color: #000000">?br /> Q?/span><span style="color: #000000">8</span><span style="color: #000000">QAlt</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">O(或点dh中的Toggle Mark Occurrences按钮) 当点?yn)L个标记时可本页面中其他地方的此标记黄色凸显Qƈ且窗口的双框会(x)出现白色的方块,点击此方块会(x)跛_此标记处?br /> Q?/span><span style="color: #000000">9</span><span style="color: #000000">Q右ȝ口的左边框即加断点的地方选Show Line Numbers可以加行受?br /> Q?/span><span style="color: #000000">10</span><span style="color: #000000">QCtrl</span><span style="color: #000000">+</span><span style="color: #000000">I格式化激zȝ元素Format Active Elements?br />             Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">F格式化文件Format Document?br /> Q?/span><span style="color: #000000">11</span><span style="color: #000000">QCtrl</span><span style="color: #000000">+</span><span style="color: #000000">S保存当前文g?br />             Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">S保存所有未保存的文件?br /> Q?/span><span style="color: #000000">12</span><span style="color: #000000">QCtrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">M(先把光标攑֜需导入包的cd? 作用是加Import语句?br />             Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">O作用是缺的Import语句被加入,多余的Import语句被删除?br /> Q?/span><span style="color: #000000">13</span><span style="color: #000000">QCtrl</span><span style="color: #000000">+</span><span style="color: #000000">Space提示键入内容即Content AssistQ此时要输入法中Chinese(Simplified)IME</span><span style="color: #000000">-</span><span style="color: #000000">Ime</span><span style="color: #000000">/</span><span style="color: #000000">Nonlme Toggle的快捷键Q用于切换英文和其他文字Q改成其他的如改成Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">ZQ同时在“Text Service and Input Languages”对话框中删掉Chinese(PRC)下面的其他中文输入法只保留光输入法Q此时按Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">Z在英文和光中文之间切换?br />             Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">Space提示信息即Context Information?br /> Q?/span><span style="color: #000000">14</span><span style="color: #000000">QCtrl</span><span style="color: #000000">+</span><span style="color: #000000">D删除当前行?br /> Q?/span><span style="color: #000000">15</span><span style="color: #000000">Q双ȝ口的左边框可以加断点?br /> Q?/span><span style="color: #000000">16</span><span style="color: #000000">Q在.jap.?java{文件中右键?#8220;Campare With”?#8220;Replace With”可以扑ֈ所有操作的历史记录?br /> Q?/span><span style="color: #000000">17</span><span style="color: #000000">Q在菜单中选WindowQShow ViewQNavigator可调出导航功能窗?br /> Q?/span><span style="color: #000000">18</span><span style="color: #000000">QCtrl</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000"> 快速修?最l典的快捷键,׃用多说了) <br /> <br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Alt</span><span style="color: #000000">+</span><span style="color: #000000">↓ 复制当前行到下一?复制增加)<br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Alt</span><span style="color: #000000">+</span><span style="color: #000000">↑ 复制当前行到上一?复制增加)<br /> <br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">↓ 当前行和下面一行交互位|?特别实用,可以省去先剪?再粘贴了)<br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">↑ 当前行和上面一行交互位|?同上)<br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">← 前一个编辑的面<br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">→ 下一个编辑的面(当然是针对上面那条来说了)<br /> <br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">Enter 昄当前选择资源(工程,or 文g or文g)的属?br /> <br /> Shift</span><span style="color: #000000">+</span><span style="color: #000000">Enter 在当前行的下一行插入空?q时鼠标可以在当前行的Q一位置,不一定是最?<br /> Shift</span><span style="color: #000000">+</span><span style="color: #000000">Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Enter 在当前行插入I(原理同上?<br /> <br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Q 定位到最后编辑的地方<br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">L 定位在某?nbsp;(对于E序过100的h有音?<br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">M 最大化当前的Edit或View (再按则反?<br /> Ctrl</span><span style="color: #000000">+/</span><span style="color: #000000"> 注释当前?再按则取消注?br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">O 快速显C?nbsp;OutLine<br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">T 快速显C当前类的承结?br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">W 关闭当前Editer<br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">K 参照选中的Word快速定位到下一?br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">E 快速显C当前Editer的下拉列?如果当前面没有昄的用黑体表示)<br /> <br /> Ctrl</span><span style="color: #000000">+/</span><span style="color: #000000">(键? 折叠当前cM的所有代?br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">×(键? 展开当前cM的所有代?br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt</span><span style="color: #000000">+/</span><span style="color: #000000">来代?<br /> <br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">E 昄理当前打开的所有的View的管理器(可以选择关闭,Ȁzȝ操作)<br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">J 正向增量查找(按下Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">J?你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显C没有找C,查一个单词时,特别实用,q个功能Idea两年前就有了)<br /> <br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">J 反向增量查找(和上条相?只不q是从后往前查)<br /> <br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">F4 关闭所有打开的Editer<br /> <br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">X 把当前选中的文本全部变呛_?br /> <br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">Y 把当前选中的文本全部变为小?br /> <br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">F 格式化当前代?br /> <br /> Ctrl</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">P 定位到对于的匚wW?譬如{}) (从前面定位后面时,光标要在匚wW里?后面到前?则反?<br /> <br /> 下面的快捷键是重构里面常用的,本hp己喜Ƣ且常用的整理一??一般重构的快捷键都是Alt</span><span style="color: #000000">+</span><span style="color: #000000">Shift开头的?<br /> <br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">R 重命?nbsp;(是我自己最q的一个了,其是变量和cȝRename,比手工方法能节省很多力_?<br /> <br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">M 抽取Ҏ(gu) (q是重构里面最常用的方法之一?其是对一大堆泥团代码有用)<br /> <br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">C 修改函数l构(比较实用,有N个函数调用了q个Ҏ(gu),修改一ơ搞?<br /> <br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变?其是多处调用的时?<br /> <br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">F 把Class中的local变量变ؓ(f)field变量 (比较实用的功?<br /> <br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">I 合ƈ变量(可能q样说有点不妥Inline)<br /> <br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">V Ud函数和变?不怎么常用)<br /> <br /> Alt</span><span style="color: #000000">+</span><span style="color: #000000">Shift</span><span style="color: #000000">+</span><span style="color: #000000">Z 重构的后(zhn)药(Undo)<br /> </span></div> <img src ="http://www.aygfsteel.com/zh-qi/aggbug/267362.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zh-qi/" target="_blank">W看风云</a> 2009-04-24 15:08 <a href="http://www.aygfsteel.com/zh-qi/archive/2009/04/24/267362.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>文g夹创?文g夹删?文gҎ(gu)?/title><link>http://www.aygfsteel.com/zh-qi/archive/2009/04/11/264957.html</link><dc:creator>W看风云</dc:creator><author>W看风云</author><pubDate>Fri, 10 Apr 2009 17:21:00 GMT</pubDate><guid>http://www.aygfsteel.com/zh-qi/archive/2009/04/11/264957.html</guid><wfw:comment>http://www.aygfsteel.com/zh-qi/comments/264957.html</wfw:comment><comments>http://www.aygfsteel.com/zh-qi/archive/2009/04/11/264957.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zh-qi/comments/commentRss/264957.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zh-qi/services/trackbacks/264957.html</trackback:ping><description><![CDATA[     摘要:     1package test;   2   3import java.io.BufferedReader;   4import java.io.File;   5import java.io.FileInputStream; &nb...  <a href='http://www.aygfsteel.com/zh-qi/archive/2009/04/11/264957.html'>阅读全文</a><img src ="http://www.aygfsteel.com/zh-qi/aggbug/264957.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zh-qi/" target="_blank">W看风云</a> 2009-04-11 01:21 <a href="http://www.aygfsteel.com/zh-qi/archive/2009/04/11/264957.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery基本教程之简单体?/title><link>http://www.aygfsteel.com/zh-qi/archive/2009/04/03/263747.html</link><dc:creator>W看风云</dc:creator><author>W看风云</author><pubDate>Fri, 03 Apr 2009 06:54:00 GMT</pubDate><guid>http://www.aygfsteel.com/zh-qi/archive/2009/04/03/263747.html</guid><wfw:comment>http://www.aygfsteel.com/zh-qi/comments/263747.html</wfw:comment><comments>http://www.aygfsteel.com/zh-qi/archive/2009/04/03/263747.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zh-qi/comments/commentRss/263747.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zh-qi/services/trackbacks/263747.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000">Jquery是prototype之后又一个优U的Javascript框架。对prototype我用不多,单了解过。但使用上jquery之后Q马上被她的优雅吸引住了。有Z用这L(fng)一比喻来比较prototype和jqueryQprototype像JavaQ而jquery像ruby.实际上我比较喜欢javaQ少接触Ruby|了Q但是jquery的简单的实用的确有相当大的吸引力啊!在项目里我把jquery作ؓ(f)自已唯一的框架类包。用其间也有一点点心得Q其实这些心得,在jquery的文上面也可能有讲Q不q还是记下来Q以备忘|?nbsp;<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />一Q找C了!<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />q记?()q个东西吧?prototypeq是DWR都用了q个函数代替document.getElementById()。没错,jquery也跟风了。ؓ(f)辑ֈdocument.getElementById()的目的,jquery是这样写的:(x)<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />var someElement </span><span style="color: #000000">=</span><span style="color: #000000"> $(</span><span style="color: #000000">"</span><span style="color: #000000">#myId</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />看v来比其他两个框架的要多了一?Q好Q看看下面的用法Q?br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />$(</span><span style="color: #000000">"</span><span style="color: #000000">div p</span><span style="color: #000000">"</span><span style="color: #000000">);(</span><span style="color: #000000">1</span><span style="color: #000000">)   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />$(</span><span style="color: #000000">"</span><span style="color: #000000">div.container</span><span style="color: #000000">"</span><span style="color: #000000">)(</span><span style="color: #000000">2</span><span style="color: #000000">)   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />$(</span><span style="color: #000000">"</span><span style="color: #000000">div #msg</span><span style="color: #000000">"</span><span style="color: #000000">);(</span><span style="color: #000000">3</span><span style="color: #000000">)   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />$(</span><span style="color: #000000">"</span><span style="color: #000000">table a</span><span style="color: #000000">"</span><span style="color: #000000">,context);(</span><span style="color: #000000">4</span><span style="color: #000000">)  <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />在prototype里看q这L(fng)写法吗?W一行代码得到所?/span><span style="color: #000000"><</span><span style="color: #000000">div</span><span style="color: #000000">></span><span style="color: #000000">标签下的</span><span style="color: #000000"><</span><span style="color: #000000">p</span><span style="color: #000000">></span><span style="color: #000000">元素。第二行代码得到class为container?/span><span style="color: #000000"><</span><span style="color: #000000">div</span><span style="color: #000000">></span><span style="color: #000000">元素,W三行代码得?/span><span style="color: #000000"><</span><span style="color: #000000">div</span><span style="color: #000000">></span><span style="color: #000000">标签下面id为msg的元素。第四行代码得到contextZ下文的table里面所有的q接元素?nbsp;<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />如果你熟(zhn)CSSQXpathQ你?x)觉得这些写法很眼熟Q对了。正是。看出奥妙了吧。jquery是通过q样的方式来扑ֈDom对象里面的元素。跟CSS的选择器相cM?nbsp;<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />二,Jquery对象Q?nbsp;<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />jquery提供了很多便利的函数Q如each(fn)Q但是用这些函数的前提是:(x)你用的对象是Jquer对象。一个Dom对象成ؓ(f)一个Jquery对象很简单,通过下面一些方式(只是一部分Q:(x)<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />var a </span><span style="color: #000000">=</span><span style="color: #000000"> $(</span><span style="color: #000000">"</span><span style="color: #000000">#cid</span><span style="color: #000000">"</span><span style="color: #000000">);(</span><span style="color: #000000">1</span><span style="color: #000000">)   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />var b </span><span style="color: #000000">=</span><span style="color: #000000"> $(</span><span style="color: #000000">"</span><span style="color: #000000"><p>hello</p></span><span style="color: #000000">"</span><span style="color: #000000">);(</span><span style="color: #000000">2</span><span style="color: #000000">)   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />var c </span><span style="color: #000000">=</span><span style="color: #000000"> document.createElement(</span><span style="color: #000000">"</span><span style="color: #000000">table</span><span style="color: #000000">"</span><span style="color: #000000">); var tb </span><span style="color: #000000">=</span><span style="color: #000000"> $(c);   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />三,代替body标签的onload <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />q个惯例Q也许是除了$()之外Q用得最多的地方了。下面一D代码:(x)<br /> <img id="Codehighlighter1_1082_1108_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1082_1108_Open_Text.style.display='none'; Codehighlighter1_1082_1108_Closed_Image.style.display='inline'; Codehighlighter1_1082_1108_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_1082_1108_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1082_1108_Closed_Text.style.display='none'; Codehighlighter1_1082_1108_Open_Image.style.display='inline'; Codehighlighter1_1082_1108_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" alt="" />$(document).ready(function()</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1082_1108_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1082_1108_Open_Text"><span style="color: #000000">{   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />  alert(</span><span style="color: #000000">"</span><span style="color: #000000">hello</span><span style="color: #000000">"</span><span style="color: #000000">);   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000">);(</span><span style="color: #000000">1</span><span style="color: #000000">)   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />  <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000"><</span><span style="color: #000000">body onload</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">alert('hello');</span><span style="color: #000000">"</span><span style="color: #000000">></span><span style="color: #000000">Q?/span><span style="color: #000000">2</span><span style="color: #000000">Q?nbsp;  <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />上面两段代码是等L(fng)。但代码1的好处是做到表现和逻辑分离。ƈ且可以在不同的js文g中做相同的操作,?(document).ready(fn)可以在一个页面中重复出现Q而不?x)冲H。基本上Jqeury的很多plugin都是利用q个Ҏ(gu),正因个特性,多个plugin共同使用hQ在初始化时不会(x)发生冲突?nbsp;<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />不管怎么_(d)q个惯例可以分离javascript与HTML。推荐用?br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />四,事g机制 <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />我大量用的事g可能是button的onclick了。以前习(fn)惯在input 元素上写onclick </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">fn()</span><span style="color: #000000">"</span><span style="color: #000000">,使用jquery可以使javascript代码与html代码分离Q保持HTML的清z,q可以很L地绑定事Ӟ甚至你可以不知道“事g”q个名词?br /> <img id="Codehighlighter1_1520_1656_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1520_1656_Open_Text.style.display='none'; Codehighlighter1_1520_1656_Closed_Image.style.display='inline'; Codehighlighter1_1520_1656_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_1520_1656_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1520_1656_Closed_Text.style.display='none'; Codehighlighter1_1520_1656_Open_Image.style.display='inline'; Codehighlighter1_1520_1656_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" alt="" />$(document).ready(function()</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1520_1656_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1520_1656_Open_Text"><span style="color: #000000">{   <br /> <img id="Codehighlighter1_1555_1613_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1555_1613_Open_Text.style.display='none'; Codehighlighter1_1555_1613_Closed_Image.style.display='inline'; Codehighlighter1_1555_1613_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_1555_1613_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1555_1613_Closed_Text.style.display='none'; Codehighlighter1_1555_1613_Open_Image.style.display='inline'; Codehighlighter1_1555_1613_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" alt="" />  $(</span><span style="color: #000000">"</span><span style="color: #000000">#clear</span><span style="color: #000000">"</span><span style="color: #000000">).click(function()</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1555_1613_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1555_1613_Open_Text"><span style="color: #000000">{   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />     alert(</span><span style="color: #000000">"</span><span style="color: #000000">i am about to clear the table</span><span style="color: #000000">"</span><span style="color: #000000">);     <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />   }</span></span><span style="color: #000000">);   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />  $(</span><span style="color: #000000">"</span><span style="color: #000000">form[0]</span><span style="color: #000000">"</span><span style="color: #000000">).submit(validate);   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000">);   <br /> <img id="Codehighlighter1_1682_1718_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1682_1718_Open_Text.style.display='none'; Codehighlighter1_1682_1718_Closed_Image.style.display='inline'; Codehighlighter1_1682_1718_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_1682_1718_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1682_1718_Closed_Text.style.display='none'; Codehighlighter1_1682_1718_Open_Image.style.display='inline'; Codehighlighter1_1682_1718_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" alt="" />function validate()</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1682_1718_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1682_1718_Open_Text"><span style="color: #000000">{   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />  </span><span style="color: #008000">//</span><span style="color: #008000">do some form validation   </span><span style="color: #008000"><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" /></span><span style="color: #000000">}</span></span><span style="color: #000000">   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />五,同一函数实现set</span><span style="color: #000000">&</span><span style="color: #000000">get<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />$(</span><span style="color: #000000">"</span><span style="color: #000000">#msg</span><span style="color: #000000">"</span><span style="color: #000000">).html();<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />$(</span><span style="color: #000000">"</span><span style="color: #000000">#msg</span><span style="color: #000000">"</span><span style="color: #000000">).html(</span><span style="color: #000000">"</span><span style="color: #000000">hello</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />上面两行代码Q调用了同样的函数。但l果却差别很大?nbsp;<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />W一行是q回指定元素的HTML|W二行则是将helloq串字符讄到指定元素中。jquery的函数大部分有这L(fng)Ҏ(gu)?br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />六,ajax <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />q是一个ajax横行的时代。多hQ了不了解ajax的都跟着用上一把。呵。用jquery实现ajax同样单异?br /> <img id="Codehighlighter1_1956_1961_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1956_1961_Open_Text.style.display='none'; Codehighlighter1_1956_1961_Closed_Image.style.display='inline'; Codehighlighter1_1956_1961_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_1956_1961_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1956_1961_Closed_Text.style.display='none'; Codehighlighter1_1956_1961_Open_Image.style.display='inline'; Codehighlighter1_1956_1961_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" alt="" />$.get(</span><span style="color: #000000">"</span><span style="color: #000000">search.do</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1956_1961_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1956_1961_Open_Text"><span style="color: #000000">{id:</span><span style="color: #000000">1</span><span style="color: #000000">}</span></span><span style="color: #000000">,rend);   <br /> <img id="Codehighlighter1_1991_2015_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1991_2015_Open_Text.style.display='none'; Codehighlighter1_1991_2015_Closed_Image.style.display='inline'; Codehighlighter1_1991_2015_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_1991_2015_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1991_2015_Closed_Text.style.display='none'; Codehighlighter1_1991_2015_Open_Image.style.display='inline'; Codehighlighter1_1991_2015_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" alt="" />function rend(xml)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1991_2015_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1991_2015_Open_Text"><span style="color: #000000">{   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />    alert(xml);   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000"> (</span><span style="color: #000000">1</span><span style="color: #000000">)   <br /> <img id="Codehighlighter1_2043_2048_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2043_2048_Open_Text.style.display='none'; Codehighlighter1_2043_2048_Closed_Image.style.display='inline'; Codehighlighter1_2043_2048_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_2043_2048_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2043_2048_Closed_Text.style.display='none'; Codehighlighter1_2043_2048_Open_Image.style.display='inline'; Codehighlighter1_2043_2048_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" alt="" />$.post(</span><span style="color: #000000">"</span><span style="color: #000000">search.do</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2043_2048_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_2043_2048_Open_Text"><span style="color: #000000">{id:</span><span style="color: #000000">1</span><span style="color: #000000">}</span></span><span style="color: #000000">,rend);   <br /> <img id="Codehighlighter1_2078_2102_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2078_2102_Open_Text.style.display='none'; Codehighlighter1_2078_2102_Closed_Image.style.display='inline'; Codehighlighter1_2078_2102_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_2078_2102_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2078_2102_Closed_Text.style.display='none'; Codehighlighter1_2078_2102_Open_Image.style.display='inline'; Codehighlighter1_2078_2102_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" alt="" />function rend(xml)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2078_2102_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_2078_2102_Open_Text"><span style="color: #000000">{   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />    alert(xml);   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000"> (</span><span style="color: #000000">2</span><span style="color: #000000">)   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />  <br /> <img id="Codehighlighter1_2144_2178_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2144_2178_Open_Text.style.display='none'; Codehighlighter1_2144_2178_Closed_Image.style.display='inline'; Codehighlighter1_2144_2178_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_2144_2178_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2144_2178_Closed_Text.style.display='none'; Codehighlighter1_2144_2178_Open_Image.style.display='inline'; Codehighlighter1_2144_2178_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" alt="" />$(</span><span style="color: #000000">"</span><span style="color: #000000">#msg</span><span style="color: #000000">"</span><span style="color: #000000">).ajaxStart(function()</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2144_2178_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_2144_2178_Open_Text"><span style="color: #000000">{   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />   </span><span style="color: #0000ff">this</span><span style="color: #000000">.html(</span><span style="color: #000000">"</span><span style="color: #000000">正在加蝲。。。?/span><span style="color: #000000">"</span><span style="color: #000000">);   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000">);(</span><span style="color: #000000">3</span><span style="color: #000000">)   <br /> <img id="Codehighlighter1_2220_2251_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2220_2251_Open_Text.style.display='none'; Codehighlighter1_2220_2251_Closed_Image.style.display='inline'; Codehighlighter1_2220_2251_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_2220_2251_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2220_2251_Closed_Text.style.display='none'; Codehighlighter1_2220_2251_Open_Image.style.display='inline'; Codehighlighter1_2220_2251_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" alt="" />$(</span><span style="color: #000000">"</span><span style="color: #000000">#msg</span><span style="color: #000000">"</span><span style="color: #000000">).ajaxSuccess(function()</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2220_2251_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_2220_2251_Open_Text"><span style="color: #000000">{   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />   </span><span style="color: #0000ff">this</span><span style="color: #000000">.html(</span><span style="color: #000000">"</span><span style="color: #000000">加蝲完成Q?/span><span style="color: #000000">"</span><span style="color: #000000">);   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000">);(</span><span style="color: #000000">4</span><span style="color: #000000">)  <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />q些都是较常用的Ҏ(gu)Qget和post用法一栗第一个参数是异步h的urlQ第二个为参敎ͼW三个回调方法?nbsp;<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000">3</span><span style="color: #000000">Q?的方法会(x)在指定的Dom对象上绑定响应ajax执行的事件。当?dng)jquery的AJAX相关的函C仅是q些Q有兴趣可以ȝI再多?br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />七,渐入淡出 <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />$(</span><span style="color: #000000">"</span><span style="color: #000000">#msg</span><span style="color: #000000">"</span><span style="color: #000000">).fadeIn(</span><span style="color: #000000">"</span><span style="color: #000000">fast</span><span style="color: #000000">"</span><span style="color: #000000">);   <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />$(</span><span style="color: #000000">"</span><span style="color: #000000">#msg</span><span style="color: #000000">"</span><span style="color: #000000">).fadeOut(</span><span style="color: #000000">"</span><span style="color: #000000">slow</span><span style="color: #000000">"</span><span style="color: #000000">);  <br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />没错Q上面两行代码已l分别实C一个id为Msg的jquery对象的渐入和淡出。做一个像Gmail一L(fng)动态加载通知条,用jquery那么简单。两个函数接受的参数除了快慢{,q可以接收整型,作ؓ(f)渐入或E出的完成旉Q单位ؓ(f)MS?br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />八,plugin<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />q也是一个插件的时代?nbsp;<br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />jquery插gl我的感觉清一色的清洁Q简单。如JtipQ要使用它的功能Q只需要在你的元素的class上加上Jtip,q引入jtip.js?qing)其样式卛_以了。其他事情插件全包。我喜欢jquery的一个重要原因是发现她已l有了很多很好,很精彩的插g?br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span></div> <img src ="http://www.aygfsteel.com/zh-qi/aggbug/263747.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zh-qi/" target="_blank">W看风云</a> 2009-04-03 14:54 <a href="http://www.aygfsteel.com/zh-qi/archive/2009/04/03/263747.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>列表框的左右上下Udhttp://www.aygfsteel.com/zh-qi/archive/2009/01/09/250712.htmlW看风云W看风云Fri, 09 Jan 2009 08:41:00 GMThttp://www.aygfsteel.com/zh-qi/archive/2009/01/09/250712.htmlhttp://www.aygfsteel.com/zh-qi/comments/250712.htmlhttp://www.aygfsteel.com/zh-qi/archive/2009/01/09/250712.html#Feedback0http://www.aygfsteel.com/zh-qi/comments/commentRss/250712.htmlhttp://www.aygfsteel.com/zh-qi/services/trackbacks/250712.html效果囑֦下:(x)

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    
<head>
        
<title>列表框上下左x?/span></title>
    
</head>
    
<script language="javascript">  
    
<!--   
    var ListUtil 
= new Object();   
    
//全部Ud   
    ListUtil.moveAll = function moveAll(oListboxFrom,oListboxTo){   
        var options 
= oListboxFrom.options;   
        
for(var i = 0; i < options.length; i++){   
            oListboxTo.appendChild(options[i]); 
//???   
            i -= 1;  //???每删除一个选项后,每个选项的index?x)被重?nbsp;  
        }
   
    }
   
    
//单个或多个移?nbsp;  
    ListUtil.moveMuti = function moveMuti(oListboxFrom,oListboxTo){   
        var options 
= oListboxFrom.options;   
        
for(var i = 0; i < options.length; i++){   
            
if(options[i].selected){   
                oListboxTo.appendChild(options[i]);   
                i 
-= 1;   
            }
   
        }
   
    }
   
    
//上移   
    ListUtil.shiftUp = function(oListbox) {   
        
if(oListbox.selectedIndex > 0){   
            var oOption 
= oListbox.options[oListbox.selectedIndex];   
            var oPrevOption 
= oListbox.options[oListbox.selectedIndex-1];   
            oListbox.insertBefore(oOption,oPrevOption);   
        }
   
    }
   
    
//下移   
    ListUtil.shiftDown = function(oListbox){   
        
if(oListbox.selectedIndex < oListbox.options.length-1){   
            var oOption 
= oListbox.options[oListbox.selectedIndex];   
            var oNextOption 
= oListbox.options[oListbox.selectedIndex+1];   
            oListbox.insertBefore(oNextOption,oOption);   
        }
   
    }
   
    
//-->  
    </script>
    
<body text="#000000" bgcolor="#ffffff" link="#0033cc">
        
<form method=post action="#">
            
<table>
                
<tr><td>
                        未选员?br />                         
<select name="oListboxFrom" id="oListboxFrom" size="10"
                            multiple
="true"
                            style
="width: 100px; height: 250px; margin-left: 20px; float: left">
                            
<option value="1" selected>员工1</option>
                            
<option value="2">员工2</option>
                            
<option value="3">员工3</option>
                            
<option value="4">员工4</option>
                            
<option value="5">员工5</option>
                        
</select>
                    
</td>
                    
<td align="center">
                        
<input type="button" value=" >>> "
                            onclick
="ListUtil.moveAll(oListboxFrom, oListboxTo);" />
                        
<br />
                        
<input type="button" value=" >> "
                            onclick
="ListUtil.moveMuti(oListboxFrom, oListboxTo);" />
                        
<br />
                        
<input type="button" value=" << "
                            onclick
="ListUtil.moveMuti(oListboxTo, oListboxFrom);" />
                        
<br />
                        
<input type="button" value=" <<< "
                            onclick
="ListUtil.moveAll(oListboxTo, oListboxFrom);" />
                        
<br />
                        
<input type="button" value=" ↑ "
                            onclick
="ListUtil.shiftUp(oListboxFrom);" />
                        
<br />
                        
<input type="button" value=" ↓ "
                            onclick
="ListUtil.shiftDown(oListboxFrom);" />
                    
</td>
                    
<td>
                        已选员?br />                         
<select name="oListboxTo" id="oListboxTo" multiple="true"
                            size
="10"
                            style
="width: 100px; height: 250px; margin-left: 20px; float: left">
                            
<option value="319094784">员工6</option>
                            
<option value="320274432">员工8</option>
                            
<option value="322109440">员工7</option>
                        
</select>
                    
</td>
                
</tr>
            
</table>
        
</form>
    
</body>
</html>



W看风云 2009-01-09 16:41 发表评论
]]>
Hibernate3~存理http://www.aygfsteel.com/zh-qi/archive/2009/01/09/250701.htmlW看风云W看风云Fri, 09 Jan 2009 07:58:00 GMThttp://www.aygfsteel.com/zh-qi/archive/2009/01/09/250701.htmlhttp://www.aygfsteel.com/zh-qi/comments/250701.htmlhttp://www.aygfsteel.com/zh-qi/archive/2009/01/09/250701.html#Feedback0http://www.aygfsteel.com/zh-qi/comments/commentRss/250701.htmlhttp://www.aygfsteel.com/zh-qi/services/trackbacks/250701.html阅读全文

W看风云 2009-01-09 15:58 发表评论
]]>
sql语句http://www.aygfsteel.com/zh-qi/archive/2009/01/06/250054.htmlW看风云W看风云Tue, 06 Jan 2009 02:25:00 GMThttp://www.aygfsteel.com/zh-qi/archive/2009/01/06/250054.htmlhttp://www.aygfsteel.com/zh-qi/comments/250054.htmlhttp://www.aygfsteel.com/zh-qi/archive/2009/01/06/250054.html#Feedback0http://www.aygfsteel.com/zh-qi/comments/commentRss/250054.htmlhttp://www.aygfsteel.com/zh-qi/services/trackbacks/250054.html阅读全文

W看风云 2009-01-06 10:25 发表评论
]]>
վ֩ģ壺 ڽ| | | Ӽ| | ʲ| ں| ̨| Ѿ| | | | | | пǰ| ˿| ຣʡ| ɽ| | | | ˳| | | Ӣɳ| | | | | żҿ| | ޽| | ƽ| | п| | | | ׺| ͬ|