¡¾×ª¡¿Java synchronizedÓ÷¨ËѼ¯
ÔÚJavaÖУ¬synchronized¹Ø¼ü×ÖΪ·ÀÖ¹×ÊÔ´³åÍ»ÌṩÁËÖ§³Ö£¬Æä×÷ÓÃÓòÓжþÖÖ£º
ʵÀý·¶Î§¡£
¶ÔÏóʵÀý·¶Î§ÄÚsynchronizedʹÓõÄÁ½ÖÖÐÎʽ£º
ʵÀý·¶Î§Í¬²½·½·¨
publicd class syncTest {
…
synchronized void aMethod() {
//ÐèҪͬ²½Ê¹ÓõĴúÂë
}
}
synchronized aMethod(){}¿ÉÒÔ·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸ö¶ÔÏóʵÀýµÄsynchronized·½·¨£¨Èç¹ûÒ»¸ö¶ÔÏóÓжà¸ösynchronized·½·¨£¬Ö»ÒªÒ»¸öÏ̷߳ÃÎÊÁËÆäÖеÄÒ»¸ösynchronized·½·¨£¬ÆäËüÏ̲߳»ÄÜͬʱ·ÃÎÊÕâ¸ö¶ÔÏóÖÐÈκÎÒ»¸ösynchronized·½·¨£©¡£Õâʱ£¬²»Í¬µÄ¶ÔÏóʵÀýµÄsynchronized·½·¨ÊDz»Ïà¸ÉÈŵġ£Ò²¾ÍÊÇ˵£¬ÆäËüÏß³ÌÕÕÑù¿ÉÒÔͬʱ·ÃÎÊÏàͬÀàµÄÁíÒ»¸ö¶ÔÏóʵÀýÖеÄsynchronized·½·¨¡£
ʵÀý·¶Î§Í¬²½Çø¿é
publicd class syncTest {
…
void aMethod() {
//ÎÞÐèͬ²½Ê¹ÓõĴúÂë
…
synchronized(this) {
//ÐèҪͬ²½Ê¹ÓõĴúÂë¿é
}
}
}
³ýÁË·½·¨Ç°ÓÃsynchronized¹Ø¼ü×Ö£¬synchronized¹Ø¼ü×Ö»¹¿ÉÒÔÓÃÓÚ·½·¨ÖеÄij¸öÇø¿éÖУ¬±íʾֻ¶ÔÕâ¸öÇø¿éµÄ×ÊԴʵÐл¥³â·ÃÎÊ¡£Ó÷¨ÊÇ: synchronized(this){/*Çø¿é*/}£¬ËüµÄ×÷ÓÃÓòÊǵ±Ç°¶ÔÏó¡£
À෶Χ
ͬÑùµØ£¬ÔÚÀ෶ΧÄÚʹÓÃsynchronizedÒ²ÓÐͬ²½·½·¨ºÍͬ²½Çø¿éÁ½ÖÖÐÎʽ£º
À෶Χͬ²½·½·¨
publicd class syncTest {
…
synchronized static void aMethod() {
//ÐèÒªÔÚÀ෶Χͬ²½Ê¹ÓõĴúÂë
}
}
synchronized static aStaticMethod{}·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸öÀàÖеÄsynchronized static ·½·¨¡£Ëü¿ÉÒÔ¶ÔÀàµÄËùÓжÔÏóʵÀýÆð×÷Óá£Ò²¾ÍÊÇ˵ÔÚÒ»¸öJVMÖУ¬Í¬Ò»Ê±¼ä×î¶àÓÐÒ»¸ö¸ÃÀàµÄ¾²Ì¬Í¬²½·½·¨ÔÚÖ´ÐС£ÕâÑùµÄ·½·¨¿ÉÒÔÓ¦Óõ½¶àÏ̵߳Äͬ²½ÖУ¬ÊµÏÖ¸÷Ïß³ÌÖ±½ÓµÄÊý¾Ý¹²ÏíºÍ»¥¶¯¡£
À෶Χͬ²½Çø¿é
publicd class syncTest {
…
static void aMethod() {
…
//ÎÞÐèͬ²½Ê¹ÓõĴúÂë
synchronized (syncTest.class) {
//ÐèÒªÔÚÀ෶Χͬ²½Ê¹ÓõĴúÂë
}
}
}
À෶Χͬ²½Çø¿é¹¦ÄÜÓëÀ෶Χͬ²½·½·¨Ïàͬ£¬Ö»ÊǶÔÒ»¸öÇø¿éµÄ´úÂëµÄͬ²½¡£Ó÷¨ÊÇ£ºÔÚstatic ·½·¨ÄÚ¼Óͬ²½Çø¿é£ºsychronized (ÀàÃû.class) { /*Çø¿é*/}¡£
×¢ÒâÊÂÏî
synchronized¹Ø¼ü×ÖÊDz»Äܼ̳еÄ
synchronized¹Ø¼ü×ÖÊDz»Äܼ̳еģ¬Ò²¾ÍÊÇ˵£¬»ùÀàµÄ·½·¨synchronized f(){} Ôڼ̳ÐÀàÖв¢²»×Ô¶¯ÊÇsynchronized f(){}£¬¶øÊDZä³ÉÁËf(){}¡£¼Ì³ÐÀàÐèÒªÄãÏÔʽµÄÖ¸¶¨ËüµÄij¸ö·½·¨Îªsynchronized·
Ïà¹ØÎĵµ£º
package com.eastpro.batch.biz;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import java.security.spec.X509EncodedKeySpec;
public class SendMail {
private MimeMessage mimeMsg; //MIME mail object
private Session session;
  ......
package com.eastpro.batch.biz;
//import javax.activation.*;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.internet.*;
import javax.mail.*;
import java.io.UnsupportedEncodingException;
import java.util.*;
/**
* Insert the type's descript ......
JavaµÄException·ÖΪÁ½À࣬һÀàÊÇRuntimeException¼°Æä×ÓÀ࣬ÁíÍâÒ»Àà¾ÍÊÇchecked
Exception¡£JavaÒªÇóº¯Êý¶ÔûÓб»catch´¦ÀíµôµÄchecked
Exception£¬ÐèÒª½«ÆäдÔÚº¯ÊýµÄÉùÃ÷²¿·Ö¡£È»¶ø£¬ÕâÒ»ÒªÇó³£³£¸ø³ÌÐòÔ±´øÀ´Ò»Ð©²»±ØÒªµÄ¸ºµ£¡£
ΪÁ˱ÜÃâÔÚº¯ÊýÉùÃ÷ÖÐдthrows²¿·Ö£¬ÔÚJavaÏîÄ¿ÀïÃæ³£³£¿ÉÒÔ¿´µ½ÒÔÏ´úÂëÓÃÀ´‘Í ......
1.ÉùÃ÷Êý×éÒýÓñäÁ¿Ê±²»ÄÜÖ¸¶¨Êý×éµÄ³¤¶È¡£È磺int x[1];Õâ¾ä»°·Ç·¨¡£
2.Êý×é¶ÔÏóµÄ´´½¨£¬ÀýÈ磺
int [] scores = new int[100];
Ê×ÏÈÔÚ¶ÑÖзÖÅäÄÚ´æ¿Õ¼ä£¬ÉÏÊöµÄ¾ÍÊÇ400¸ö×Ö½Ú£¬È»ºó¾Í¸øÆä¸³Ä¬ÈÏÖµ£¬¸÷¸öÊý¾ÝÀàÐ͵ÄĬÈÏÖµ²»Í¬£¬intΪ0.
3.·µ»ØÊý×é¶ÔÏóµÄÒýÓãº
int [] x =new int [10]; <=> int size = 10; i ......
1.Éú³ÉgifͼƬ¸ñʽµÄ
package com.cssweb.common.util;
import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;
/*
* ¹¦ÄÜ£ºµ÷ÓÃAuthServlet¿ÉÒÔÉú³ÉÒ»¸öÑéÖ¤ÂëͼƬ,ͼƬµÄ¿í¶ÈºÍ¸ß¶È¿ÉÒ ......