Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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¶¼ÊÇͬ²


Ïà¹ØÎĵµ£º

Effective Java ѧϰ±Ê¼Ç(8)

µ±ÖØÔØequals·½·¨Ê±,×ñÑ­¹ßÀý.
equals²»ÊÇÿ¸öÀà¶¼±ØÐëÖØÔØ,µ±ÒÔϼ¸¸öÌõ¼þÂú×ã,¿ÉÒÔ²»ÖØÔØequals.
1. ÀàµÄʵÀýÖ»ÓÐͬһ¸ö²Å±»ÅÐΪÏàµÈ. ÈçThreadÀà.
2. ²»ÓùØÐÄÁ½¸ö¶ÔÏóÊÇ·ñÂß¼­ÏàµÈµÄʱºò,»òÊÇ˵±È½Ï¶ÔÏóûÓÐÒâÒå.
3.¸¸ÀàÒѾ­ÖØÔØÁËequals,¶øÇÒ¸¸ÀàµÄequalsÒ²ÊÊÓÃÓÚ×ÓÀà,×ÓÀà¾Í²»ÓÃÖØÔØequals.
4.ÕâÊÇÒ»¸ö˽ÓÐÀà»òÊ ......

JAVA ÄÚ²¿ÀàµÄ¼òµ¥×ܽá

¶¨ÒåÔÚÒ»¸öÀàÄÚ²¿µÄÀà½ÐÄÚ²¿À࣬°üº¬ÄÚ²¿ÀàµÄÀà³ÆÎªÍⲿÀà¡£ÄÚ²¿Àà¿ÉÒÔÉùÃ÷public¡¢protected¡¢privateµÈ·ÃÎÊÏÞÖÆ£¬¿ÉÒÔÉùÃ÷ΪabstractµÄ¹©ÆäËûÄÚ²¿Àà»òÍⲿÀà¼Ì³ÐÓëÀ©Õ¹£¬»òÕßÉùÃ÷Ϊstatic¡¢finalµÄ£¬Ò²¿ÉÒÔʵÏÖÌØ¶¨µÄ½Ó¿Ú¡£staticµÄÄÚ²¿ÀàÐÐΪÉÏÏóÒ»¸ö¶ÀÁ¢µÄÀ࣬·ÇstaticÔÚÐÐΪÉÏÀàËÆÀàµÄÊôÐÔ»ò·½·¨ÇÒ½ûÖ¹ÉùÃ÷staticµÄ·½· ......

Java GUI

Ò»¡¢BorderLayoutTest.java
package com.briup.md08;
import java.awt.*;
import javax.swing.*;
/*BorderLayoutÌØµã
1¡¢×é¼þµÄ´óСÓÉÈÝÆ÷¾ö¶¨
2¡¢ÈÝÆ÷±»»®·ÖΪ5¸öÇøÓò£¬Ã¿¸öÇøÓòÖ»ÄÜÖ±½Ó¼ÓÈë3¸ö×é¼þ
3¡¢×é¼þ¼ÓÈëµÄλÖÃÐèÒªÖ¸¶¨£¬Ä¬ÈÏΪCENTER
4¡¢×é¼þÖ®¼äĬÈÏûÓмä϶
5¡¢Èç¹û³ýCENTER ÒÔÍâµÄÇøÓòûÓмÓÈë×é¼þ£¬Æ ......

JavaÃæÏò¶ÔÏó±à³Ì 6.3 ·½·¨¸²¸Ç£¨Override£©

JavaÃæÏò¶ÔÏó±à³Ì-6.3 ·½·¨¸²¸Ç£¨Override£©¼ÙÈçÓÐ100¸öÀ࣬·Ö±ðΪSub1£¬Sub2…Sub100£¬ËüÃǵÄÒ»¸ö¹²Í¬ÐÐΪÊÇд×Ö£¬³ýÁËSub1ÀàÓýÅд×ÖÍ⣬ÆäÓàµÄÀà¶¼ÓÃÊÖд×Ö¡£¿ÉÒÔ³éÏó³öÒ»¸ö¸¸ÀàBase£¬ËüÓÐÒ»¸ö±íʾд×ֵķ½·¨write()£¬ÄÇôÕâ¸ö·½·¨µ½µ×ÈçºÎʵÏÖÄØ£¿´Ó¾¡¿ÉÄÜÌá¸ß´úÂë¿ÉÖØÓÃÐԵĽǶȿ´£¬write()·½·¨Ó¦¸Ã²ÉÓÃÊÊÓÃÓÚ´ó ......

java²¢·¢±à³Ì Executor¿ò¼Ü1


Executor¿ò¼ÜÊÇÖ¸java 5ÖÐÒýÈëµÄһϵÁв¢·¢¿âÖÐÓëexecutorÏà¹ØµÄһЩ¹¦ÄÜÀ࣬ÆäÖаüÀ¨Ï̳߳أ¬Executor£¬Executors£¬ExecutorService£¬CompletionService£¬Future£¬CallableµÈ¡£ËûÃǵĹØÏµÎª£º
²¢·¢±à³ÌµÄÒ»ÖÖ±à³Ì·½Ê½ÊǰÑÈÎÎñ²ð·ÖΪһЩÁеÄСÈÎÎñ£¬¼´Runnable£¬È»ºóÔÚÌá½»¸øÒ»¸öExecutorÖ´ÐУ¬Executor.execute(Runnal ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ