javaÏß³Ìͬ²½ÎÊÌâ
Ò»°ã£¬ÓÐ3ÖÖʹÓÃËø½øÐÐͬ²½µÄ·½·¨
a.·½·¨Í¬²½£¬ÀýÈçpublic synchronized void xxx()...
b.¾²Ì¬·½·¨Í¬²½,ÀýÈçpublic static synchronized void xxx()...
c.³ÌÐò¿éͬ²½,ÀýÈç
...
synchronized(object oLock) //×¢Ò⣺object²»Ò»¶¨ÊǸÃÀàµÄʵÀý
{
...
}
ÔÚÓ÷¨aÖУ¬µ±Ä³Ïß³ÌÖ´Ðз½·¨xxxʱ£¬jvm»áËø¶¨¸ÃÀàµÄʵÀý£¬Ö±µ½·½·¨xxxÖ´ÐÐÍê±Ï¡£Ö´ÐÐxxxµÄ¹ý³Ì¿´¿´³ÉÊÇÕâÑùµÄ£º
*ÇëÇóµÃµ½ÀàʵÀýµÄʵÀýËø£¬¼ÙÈçÓÐÆäËûÏß³ÌÔÚÖ´ÐУ¬ÔòµÈ´ý£»
*µÃµ½ÊµÀýËø£¬Ö´ÐÐxxx£»
*Ö´ÐÐÍê±Ï£¬ÊÍ·ÅʵÀýËø£»
×¢Ò⣬Õâ¸ö¹ý³ÌÊÇjvmÍê³ÉµÄ£¬ÎÒÃÇÖ»ÐèÒª°Ñij¸ö¶ÔÏó·½·¨ÉùÃ÷Ϊsynchronized¼´¿É£¬ÊµÀýËø¿ÉÒÔÀí½âΪʵÀý±¾Éí¡£
ÔÚÓ÷¨bÖÐ,µ±Ä³Ïß³ÌÖ´Ðо²Ì¬·½·¨xxxʱ£¬Ò²ÊÇÓÐjvm¿ØÖƾ¹ýÒÔÉϵÄ3¸ö²½Ö裬Ëù²»Í¬µÄÊÇÓÉÓÚ´Ëʱ²»´æÔÚÀàʵÀý£¨¾²Ì¬·½·¨Â£¬Ëù
ÒÔÓ÷¨aÖÐʵÀýËø±»ÊµÀýµÄÀàµÄËøÈ¡´ú£¬Æäʵ¶ÔÎÒÃDZà³ÌÀ´½²£¬¼¸ºõûÓÐÈκÎÇø±ð£¬ÎÒÃÇÖ»ÐèÒª°Ñ¾²Ì¬·½·¨ÉùÃ÷Ϊsynchronized¼´¿É¡£
ÔÚÓ÷¨cÖУ¬oLock¿ÉÒÔ±»Àí½âΪһ¸ö´«½Ó°ô£¬Ëü¿ÉÒÔÊÇÈκÎÀàµÄʵÀý£¬µ±Ä³¸öÏß³ÌÊÔͼ·ÃÎÊÉùÃ÷ΪsynchronizedµÄ³ÌÐò¿éµÄʱºò£¬jvm
ÅжÏoLockÊÇ·ñ±»Ëø¶¨£¬¼ÙÈçûÓб»Ëø¶¨£¬ÔòËø¶¨oLock²¢Ö´ÐиóÌÐò¿é¡£Ö´ÐÐÍê±ÏÊͷŸÃËø¡£
ÔÚ¶ÔÏó¼¶Ê¹ÓÃËø£¨ÊµÀýËø£©Í¨³£ÊÇÒ»ÖֱȽϴֲڵķ½·¨£¬ÉèÏëһϣ¬¼ÙÈçÒ»¸ö¶ÔÏó¿ÉÄÜÈ¥·ÃÎÊN¸ö¹²Ïí×ÊÔ´£¬ÄÇô¼ÙÈçÓÐÒ»¸öÏ̶߳ÀÕ¼
Á˸öÔÏ󣬶ø½ö½öÊÇΪÁËʹÓÃÆäÖеÄÒ»Ïî×ÊÔ´µÄ»°£¬Ò²»áÔì³ÉÏë·ÃÎÊÆäËü×ÊÔ´µÄÏß³ÌÒ²´¦ÓÚ¶ÂÈû״̬¡£ÓóÌÐò¿éͬ²½¿ÉÒԺܺýâ¾öÕâ¸öÎÊÌ⣬
ÒÔÏÂÊÇʹÓñ»³ÆÎªFine_Grain_LockµÄÀý×Ó£¬¿´£¬Ð§¹ûÊDz»ÊǺÜhigh£º
Java´úÂë
class FineGrainLock {
MyMemberClass x, y;
Object xlock&
Ïà¹ØÎĵµ£º
ת £ºhttp://kuru.javaeye.com/blog/288467
Java¶Ô¶àÏ̵߳ÄÖ§³ÖÓëͬ²½»úÖÆÉîÊÜ´ó¼ÒµÄϲ°®£¬Ëƺõ¿´ÆðÀ´Ê¹ÓÃÁËsynchronized¹Ø¼ü×־ͿÉÒÔÇáËɵؽâ¾ö¶àÏ̹߳²ÏíÊý¾Ýͬ²½ÎÊÌâ¡£µ½µ×ÈçºÎ£¿¨D¨D»¹µÃ¶Ôsynchronized¹Ø¼ü×ÖµÄ×÷ÓýøÐÐÉîÈëÁ˽â²Å¿É¶¨ÂÛ¡£ ×ܵÄ˵À´£¬synchronized¹Ø¼ü×Ö¿ÉÒÔ×÷Ϊº¯ÊýµÄÐÞÊηû£¬Ò²¿É×÷Ϊº¯ÊýÄÚµÄÓï¾ä£¬Ò ......
org.apache.commons.net.ftp.*ÖеÄFTPClientÀàʵÏÖµÄFTPÉÏ´«ÏÂÔØ¹¦ÄÜ£º
Ðèµ¼ÈëApacheµÄcommos-netµÄjar°ü£¬Èôµ¼ÈëµÄÊÇ1.4°æ±¾µÄ°ü£¬ÔòFTPFile[] fileList = ftpClient.listFiles()µÄÖ´Ðйý³ÌÖпÉÄܻᱨ´í£¬´Ëʱ¸ü»»µ¼Èë2.0°æ±¾µÄjar°ü£¬ÎÊÌâ¼´¿É½â¾ö¡£
´úÂëÈçÏ£º
package com.java.ftp;
import java.io.File;
import ......
×î½üÒ»Ö±ÔÚʹÓÃJava£¬¸Ð¾õËüµÄÔ½½ç¼ì²é·Ç³£ÓÐЧ¡£ÕâÒ»µã¶ÔÓÚ³õѧÕßÀ´ËµÊǷdz£ÖØÒªµÄ£¨Ìá¸ß³ÌÐòµÄÑϽ÷ÐÔ£©£¬¶ÔÓÚÓоÑéµÄ³ÌÐòÔ±À´ËµÒ²ºÜÓаïÖú¡£JavaÖÐÓÐÒ»¸öºÜÓÐЧµÄArrayListÀà(¶ÁÕß¿ÉÒÔ½áºÏJava API
À´Ñ§Ï°Ëü)£¬¡£ËüºÍÒ»°ãµÄÊý×é²»Ò»Ñù£¬²»ÐèÒªÌáǰ·ÖÅä¹Ì¶¨µÄ¿Õ¼ä£¨Ê¹ÓñȽÏÁé»î£©£¬Ã¿´ÎʹÓõÄʱºò¿ÉÒÔÌí¼Ó ......
Java 1.1ÔöÌíÁËÒ»ÖÖÓÐȤµÄÌØÐÔ£¬ÃûΪ¡°¶ÔÏóÐòÁл¯¡±£¨Object Serialization£©¡£ËüÃæÏòÄÇЩʵÏÖÁËSerializable½Ó¿ÚµÄ¶ÔÏ󣬿ɽ«ËüÃÇת»»³ÉһϵÁÐ×Ö½Ú£¬²¢¿ÉÔÚÒÔºóÍêÈ«»Ö¸´»ØÔÀ´µÄÑù×Ó¡£ÕâÒ»¹ý³ÌÒà¿Éͨ¹ýÍøÂç½øÐС£ÕâÒâζ×ÅÐòÁл¯»úÖÆÄÜ×Ô¶¯²¹³¥²Ù×÷ϵͳ¼äµÄ²îÒì¡£»»¾ä»°Ëµ£¬¿ÉÒÔÏÈÔÚWindows»úÆ÷ÉÏ´´½¨Ò»¸ö¶ÔÏó£¬¶ÔÆäÐòÁл¯£ ......
ÓÃÈýÖÖ·½·¨À´ÊµÏÖ×Ö·û´®µÄ·´×ª
/**
* @(#)ReverseString.java
*
* ReverseString application
*
* @author
* @version 1.00 2010/4/20
*/
import java.util.*;
import java.io.*;
public class ReverseString {
public static void main(String[] args) throws IOException{
......