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¶¼ÊÇͬ²
Ïà¹ØÎĵµ£º
javaÖеÄËÄÖÖÀàÐ͵ļ¯ºÏÀà
£¨1£©Vector £¨2£©BitSet£¨3£©Stack£¨4£©HashTable
2ö¾ÙÆ÷
ÔÚÈκμ¯ºÏÀàÖУ¬±ØÐëͨ¹ýijÖÖ·½·¨ÔÚÆäÖÐÖÃÈë¶ÔÏó£¬ÔÙÓÃÁíÒ»ÖÖ·½·¨´ÓÖÐÈ¡µÃ¶ÔÏó¡£ÔÚVectorÖУ¬addElement()¾ÍÊÇÎÒÃDzåÈë¶ÔÏó²ÉÓõķ½·¨
£¬¶þelementAt()ÔòÊÇÌáÈ¡¶ÔÏóµÄΨһ·½·¨¡£
Iterator¿ÉÒÔ´ïµ½Õâ¸öÄ¿µÄ£¬ËüÊÇÒ»¸ö¶ÔÏó£¬×÷ÓÃÊDZ ......
¶¨ÒåÔÚÒ»¸öÀàÄÚ²¿µÄÀà½ÐÄÚ²¿À࣬°üº¬ÄÚ²¿ÀàµÄÀà³ÆÎªÍⲿÀà¡£ÄÚ²¿Àà¿ÉÒÔÉùÃ÷public¡¢protected¡¢privateµÈ·ÃÎÊÏÞÖÆ£¬¿ÉÒÔÉùÃ÷ΪabstractµÄ¹©ÆäËûÄÚ²¿Àà»òÍⲿÀà¼Ì³ÐÓëÀ©Õ¹£¬»òÕßÉùÃ÷Ϊstatic¡¢finalµÄ£¬Ò²¿ÉÒÔʵÏÖÌØ¶¨µÄ½Ó¿Ú¡£staticµÄÄÚ²¿ÀàÐÐΪÉÏÏóÒ»¸ö¶ÀÁ¢µÄÀ࣬·ÇstaticÔÚÐÐΪÉÏÀàËÆÀàµÄÊôÐÔ»ò·½·¨ÇÒ½ûÖ¹ÉùÃ÷staticµÄ·½· ......
Java³£¼ûÎÊÌ⼯½õ:
ÎÊ:ÈçºÎÉèÖÃJava 2(JDK1.2)µÄ»·¾³±äÁ¿?
´ð:Java 2°²×°ºó,ÐèÒªÉèÖÃPATHºÍJAVA_HOME»·¾³±äÁ¿.ÓëJDK1.1²»Í¬µÄÊÇ:ÉèÖúÃJAVA_HOME»·¾³±äÁ¿ºó,JVM½«×Ô¶¯ËÑË÷ϵͳÀà¿âÒÔ¼°Óû§µÄµ±Ç°Â·¾¶.
Java 2»·¾³±äÁ¿µÄÉèÖÃÈçÏÂÀýËùʾ:
Solarisƽ̨: setenv JAVA_HOME Java2µÄ°²×°Â·¾¶
setenv PATH /bin:/p/2002-11-14 ......
ÏëÔÚ¿ª·¢ÖÐÌá¸ßËٶȺÍЧÂÊ£¡²»ÄÜÍü¼ÇµÄEclipse¿ì½Ý¼ü
Eclipse¿ì½Ý¼ü´óÈ«
ÍÆ¼öCtrl+1 ¿ìËÙÐÞ¸´(×î¾µäµÄ¿ì½Ý¼ü,¾Í²»Óöà˵ÁË)
Ctrl+D: ɾ³ýµ±Ç°ÐÐ
Ctrl+Alt+↓ ¸´ÖƵ±Ç°Ðе½ÏÂÒ»ÐÐ(¸´ÖÆÔö¼Ó)
Ctrl+Alt+↑ ¸´ÖƵ±Ç°Ðе½ÉÏÒ»ÐÐ(¸´ÖÆÔö¼Ó)
Alt+↓ µ±Ç°ÐкÍÏÂÃæÒ»Ðн»»¥Î»ÖÃ(ÌØ±ðʵÓÃ,¿ÉÒÔʡȥÏȼôÇÐ,ÔÙÕ³Ìù ......
ǰÑÔ
±¾ÎÄǰÑÔ²¿·ÖΪÎÒµÄһЩ¸ÐÏ룬Èç¹ûÄãÖ»¶Ô±¾ÎĽéÉܵÄJavaʵÓü¼ÇɸÐÐËȤ£¬¿ÉÒÔÌø¹ýǰÑÔÖ±½Ó¿´ÕýÎĵÄÄÚÈÝ¡£
±¾ÎĵÄд×÷¶¯»úÀ´Ô´ÓÚ×î½ü½Ó¸øÈ˼ҰïæдµÄÒ»¸öС³ÌÐò£¬Ö÷ÒªÓÃÓÚ¹ÜÀí·ÖÆÚ¸¶¿îµÄ»õ¿îµÄһϵÁйÜÀí£¬°üÀ¨¹ýÆÚ¿îµÄ¼Í¼£¬¹ýÆÚ¿îÀûÏ¢µÄ¼ÆË㣬ΪÌáǰ¸¶¿îµÄÓû§ÌṩһЩ·µ¿î½±ÀøµÈµÈ£¬ÕâЩÓë±¾ÎÄÎÞ¹Ø×Ô²»±ØÏ¸Ëµ¡£ ......