java¶àÏß³ÌʹÓÃSynchronized¹Ø¼ü×Öͬ²½Àà·½
ÒªÏë½â¾ö“ÔàÊý¾Ý”µÄÎÊÌ⣬×î¼òµ¥µÄ·½·¨¾ÍÊÇʹÓÃsynchronized¹Ø¼ü×ÖÀ´Ê¹run·½·¨Í¬²½£¬´úÂëÈçÏ£º
public synchronized void run()
{
}
´ÓÉÏÃæµÄ´úÂë¿ÉÒÔ¿´³ö£¬Ö»ÒªÔÚvoidºÍpublicÖ®¼ä¼ÓÉÏsynchronized¹Ø¼ü×Ö£¬¾Í¿ÉÒÔʹrun·½·¨Í¬²½£¬Ò²¾ÍÊÇ˵£¬¶ÔÓÚͬһ¸öJavaÀàµÄ¶ÔÏóʵÀý£¬run·½·¨Í¬Ê±Ö»Äܱ»Ò»¸öÏ̵߳÷Ó㬲¢µ±Ç°µÄrunÖ´ÐÐÍêºó£¬²ÅÄܱ»ÆäËûµÄÏ̵߳÷Ó᣼´Ê¹µ±Ç°Ïß³ÌÖ´Ðе½ÁËrun·½·¨ÖеÄyield·½·¨£¬Ò²Ö»ÊÇÔÝÍ£ÁËһϡ£ÓÉÓÚÆäËûÏß³ÌÎÞ·¨Ö´ÐÐrun·½·¨£¬Òò´Ë£¬×îÖÕ»¹ÊÇ»áÓɵ±Ç°µÄÏß³ÌÀ´¼ÌÐøÖ´ÐС£ÏÈ¿´¿´ÏÂÃæµÄ´úÂ룺
sychronized¹Ø¼ü×ÖÖ»ºÍÒ»¸ö¶ÔÏóʵÀý°ó¶¨
class Test
{
public synchronized void method()
{
}
}
public class Sync implements Runnable
{
private Test test;
public void run()
{
test.method();
}
public Sync(Test test)
{
this.test = test;
}
public static void main(String[] args) throws Exception
{
Test test1 = new Test();
Test test2 = new Test();
Sync sync1 = new Sync(test1);
Sync sync2 = new Sync(test2);
new Thread(sync1).start();
new Thread(sync2).start();
}
}
ÔÚTestÀàÖеÄmethod·½·¨ÊÇͬ²½µÄ¡£µ«ÉÏÃæµÄ´úÂ뽨Á¢ÁËÁ½¸öTestÀàµÄʵÀý£¬Òò´Ë£¬test1ºÍtest2µÄmethod·½·¨ÊÇ·Ö±ðÖ´Ðеġ£ÒªÏëÈÃmethodͬ²½£¬±ØÐëÔÚ½¨Á¢SyncÀàµÄʵÀýʱÏòËüµÄ¹¹Ôì·½·¨Öд«Èëͬһ¸öTestÀàµÄʵÀý£¬ÈçÏÂÃæµÄ´úÂëËùʾ£º
Sync sync1 = new Sync(test1);
²»½ö¿ÉÒÔʹÓÃsynchronizedÀ´Í¬²½·Ç¾²Ì¬·½·¨£¬Ò²¿ÉÒÔʹÓÃsynchronizedÀ´Í¬²½¾²Ì¬·½·¨¡£Èç¿ÉÒÔ°´ÈçÏ·½Ê½À´¶¨Òåmethod·½·¨£º
class Test
{
public static synchronized void method() { }
}
½¨Á¢TestÀàµÄ¶ÔÏóʵÀýÈçÏ£º
Test test = new Test();
¶ÔÓÚ¾²Ì¬·½·¨À´Ëµ£¬Ö»Òª¼ÓÉÏÁËsynchronized¹Ø¼ü×Ö£¬Õâ¸ö·½·¨¾ÍÊÇͬ²½µÄ£¬ÎÞÂÛÊÇʹÓÃtest.method()£¬»¹ÊÇʹÓÃTest.method()À´µ÷ÓÃmethod·½·¨£¬method¶¼ÊÇͬ²
Ïà¹ØÎĵµ£º
ÔÚJSPÀ»ñÈ¡¿Í»§¶ËµÄIPµØÖ·µÄ·½·¨ÊÇ£ºrequest.getRemoteAddr()£¬ÕâÖÖ·½·¨Ôڴ󲿷ÖÇé¿ö϶¼ÊÇÓÐЧµÄ¡£µ«ÊÇÔÚͨ¹ýÁËApache,SquidµÈ·´Ïò´úÀíÈí¼þ¾Í²»ÄÜ»ñÈ¡µ½¿Í»§¶ËµÄÕæÊµIPµØÖ·ÁË¡£
Èç¹ûʹÓÃÁË·´Ïò´úÀíÈí¼þ£¬½«http://192.168.1.110:2046/ µÄURL·´Ïò´úÀíΪhttp://www.xxx.com/ µÄURLʱ£¬ÓÃrequest.getRemoteAddr()·½·¨»ñÈ¡ ......
ÓÃJavaÁ¬½ÓSQL Server2000Êý¾Ý¿âÓжàÖÖ·½·¨£¬ÏÂÃæ½éÉÜÆäÖÐ×î³£ÓõÄÁ½ÖÖ£¨Í¨¹ýJDBCÇý¶¯Á¬½ÓÊý¾Ý¿â£©¡£
1. ͨ¹ýMicrosoftµÄJDBCÇý¶¯Á¬½Ó¡£´ËJDBCÇý¶¯¹²ÓÐÈý¸öÎļþ£¬·Ö±ðÊÇmssqlserver.jar¡¢msutil.jarºÍmsbase.jar£¬¿ÉÒÔµ½Î¢ÈíµÄÍøÕ¾È¥ÏÂÔØ£¨http://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-B ......
1¡¢ÖØÔØ(Overloading)
£¨1£©·½·¨ÖØÔØÊÇÈÃÀàÒÔͳһµÄ·½Ê½´¦Àí²»Í¬ÀàÐÍÊý¾ÝµÄÒ»ÖÖÊֶΡ£¶à¸öͬÃûº¯Êýͬʱ
´æÔÚ£¬¾ßÓв»Í¬µÄ²ÎÊý¸öÊý/ÀàÐÍ¡£ÖØÔØOverloadingÊÇÒ»¸öÀàÖжà̬ÐÔµÄÒ»ÖÖ±íÏÖ¡£
£¨2£©JavaµÄ·½·¨ÖØÔØ£¬¾ÍÊÇÔÚÀàÖпÉÒÔ´´½¨¶à¸ö·½·¨£¬ËüÃǾßÓÐÏàͬµÄÃû×Ö£¬µ«¾ß
Óв»Í¬µÄ²ÎÊýºÍ²»Í¬µÄ¶¨Òå¡£µ÷Ó÷½·¨Ê±Í¨¹ý´«µÝ¸øËüà ......
ÏëÔÚ¿ª·¢ÖÐÌá¸ßËٶȺÍЧÂÊ£¡²»ÄÜÍü¼ÇµÄEclipse¿ì½Ý¼ü
Eclipse¿ì½Ý¼ü´óÈ«
ÍÆ¼öCtrl+1 ¿ìËÙÐÞ¸´(×î¾µäµÄ¿ì½Ý¼ü,¾Í²»Óöà˵ÁË)
Ctrl+D: ɾ³ýµ±Ç°ÐÐ
Ctrl+Alt+↓ ¸´ÖƵ±Ç°Ðе½ÏÂÒ»ÐÐ(¸´ÖÆÔö¼Ó)
Ctrl+Alt+↑ ¸´ÖƵ±Ç°Ðе½ÉÏÒ»ÐÐ(¸´ÖÆÔö¼Ó)
Alt+↓ µ±Ç°ÐкÍÏÂÃæÒ»Ðн»»¥Î»ÖÃ(ÌØ±ðʵÓÃ,¿ÉÒÔʡȥÏȼôÇÐ,ÔÙÕ³Ìù ......