JavaÖÐÏ̵߳ĸ߼¶Ó¦ÓÃ
Ò»¡¢Java¶àÏ̻߳¥³â¼°Í¬²½¿ØÖƺÍͨÐÅ
¶à¸öÏ̵߳ÄÖ´ÐÐÊDz¢·¢µÄ£¬Ò²¾ÍÊÇÔÚÂß¼Éϓͬʱ”£¬¶ø²»¹ÜÊÇ·ñÊÇÎïÀíÉϵēͬʱ”¡£Èç¹ûϵͳֻÓÐÒ»¸öCPU£¬ÄÇôÕæÕýµÄ“ͬʱ”ÊDz»¿ÉÄܵģ¬µ«ÊÇÓÉÓÚCPUµÄËٶȷdz£¿ì£¬Óû§¸Ð¾õ²»µ½ÆäÖеÄÇø±ð£¬Òò´ËÎÒÃÇÒ²²»ÓùØÐÄËü£¬Ö»ÐèÒªÉèÏë¸÷¸öÏß³ÌÊÇͬʱִÐм´¿É¡£
¶àÏ̺߳ʹ«Í³µÄµ¥Ïß³ÌÔÚ³ÌÐòÉè¼ÆÉÏ×î´óµÄÇø±ðÔÚÓÚ£¬ÓÉÓÚ¸÷¸öÏ̵߳ĿØÖÆÁ÷±Ë´Ë¶ÀÁ¢£¬Ê¹µÃ¸÷¸öÏß³ÌÖ®¼äµÄ´úÂëÊÇÂÒÐòÖ´Ðеģ¬ÓÉ´Ë´øÀ´µÄÏ̵߳÷¶È£¬Í¬²½µÈÎÊÌâ¡£
1¡¢Ï̻߳¥³âÓëÏß³Ìͬ²½
Ï̻߳¥³â£º²¢·¢Ö´ÐеĶà¸öÏß³ÌÔÚijһʱ¼äÄÚÖ»ÔÊÐíÒ»¸öÏß³ÌÔÚÖ´ÐÐÒÔ·ÃÎÊÊý¾Ý¡£
Ïß³Ìͬ²½£º²¢·¢Ö´ÐеĶà¸öÏß³ÌÖ®¼ä»¥Ïà·¢ËÍÏûÏ¢½øÐкÏ×÷¡¢»¥ÏàµÈ´ý£¬°´Ò»¶¨ËÙ¶ÈÅäºÏÖ´ÐС£
2¡¢Ï̻߳¥³â
ÓÉÓÚͬһ½ø³ÌµÄ¶à¸öÏ̹߳²ÏíͬһƬ´æ´¢¿Õ¼ä£¬ÔÚ´øÀ´·½±ãµÄͬʱ£¬Ò²´øÀ´ÁË·ÃÎʳåÍ»Õâ¸öÑÏÖصÄÎÊÌâ¡£JavaÓïÑÔÌṩÁËרÃÅ»úÖÆÒÔ½â¾öÕâÖÖ³åÍ»£¬ÓÐЧ±ÜÃâÁËͬһ¸öÊý¾Ý¶ÔÏ󱻶à¸öÏß³Ìͬʱ·ÃÎÊ¡£
£¨1£©Ó¦Óõij¡ºÏ£º
µ±Á½¸ö»ò¶à¸öÏß³Ìͬʱ·ÃÎʹ²ÏíÊý¾Ýʱ£¬¿ÉÄܶÔÊý¾Ý½øÐжÁ¡¢Ð´¡¢Ð޸ġ¢É¾³ýµÈ²Ù×÷ʱ£¬Ó¦±£Ö¤Í¬Ê±Ö»ÓÐÒ»¸öÏ̷߳ÃÎʹ²ÏíÊý¾Ý¡£
£¨2£©Ï̻߳¥³âµÄʵÏÖ»úÖÆ
¢Ù ¼àÊÓÆ÷£¨Í¬²½Ëø¶¨£©£º
Ï߳̽øÈë¼àÊÓÆ÷ºóÆäËüÏß³ÌÔò²»ÄÜÔÙ½øÈë¼àÊÓÆ÷£¬Ö±µ½±»Ëø¶¨µÄÏß³ÌÍ˳ö¼àÊÓÆ÷£¬ÏÂÒ»¸öÏ̲߳ÅÄܽøÈë¼àÊÓÆ÷±»Ö´ÐС£
ÈçºÎ²úÉú¼àÊÓÆ÷£¨Í¬²½»¥³â·½·¨£©£ºÍ¨¹ýÔÚ±»¶à¸öÏß³ÌËù¹²ÏíµÄ·½·¨Ç°¼ÓÉÏsynchronized¹Ø¼ü×Ö¶¨Òå³öͬ²½»¥³â·½·¨£¬Ã¿Ò»¸öÓµÓÐsynchronized·½·¨µÄ¶ÔÏ󶼺¬ÓÐÒ»¸ö¶ÀÁ¢µÄ¼àÊÓÆ÷£¬Ö»ÓÐijһ¸öÏ̵߳Äsynchronized·½·¨Ö´ÐÐÍêºóÆäËüÏ̵߳Äsynchronized·½·¨²ÅÄܱ»Ö´ÐС£
public synchronized void myFun()
{
}
¢Ú ±à³ÌÒªµã£º
l Ó¦½«·ÃÎʹ²ÏíÊý¾ÝµÄ´úÂëÉè¼ÆΪsynchronized·½·¨£»
l synchronized¿ÉÒÔÓÃÀ´ÏÞ¶¨Ò»¸ö·½·¨»òһС¶ÎÓï¾ä»òÕû¸öÀࣨ¿É½«ÀàµÄ¾²Ì¬³ÉÔ±º¯ÊýÉùÃ÷Ϊ synchronized £¬ÒÔ¿ØÖÆÆä¶ÔÀàµÄ¾²Ì¬³ÉÔ±±äÁ¿µÄ·ÃÎÊ£©£¬¼´Àà·½·¨£¬ÊµÀý·½·¨£¬Ò»¸ö·½·¨ÖеÄÈκδúÂë¿é¡£
l ÓÉÓÚ¿ÉÒÔͨ¹ý private ¹Ø¼ü×ÖÀ´±£Ö¤Êý¾Ý¶ÔÏóÖ»Äܱ»·½·¨·ÃÎÊ£¬ËùÒÔÖ»ÐèÕë¶Ô·½·¨Ìá³öÒ»Ì×ͬ²½Ëø¶¨»úÖÆ¡£Í¨¹ýsynchronized ·½·¨À´¿ØÖƶÔÀàÖеijÉÔ±±äÁ¿£¨¹²ÏíÊý¾Ý£©µÄ·ÃÎÊ¡£
£¨3£©synchronized ¹Ø¼ü×Ö
ÔÚÓÐЩӦÓÃÖУ¬¿ÉÄÜ»á³öÏÖÁ½¸öÏ̷߳ÃÎÊͬһ¸ö¶ÔÏóµÄÇé¿ö¡£µ«ÊÇ£¬ÔÚ´ó¶àÊýÓÐÓõijÌÐòÖУ¬Ïß³ÌÖ®¼äͨ³£ÓÐÐÅÏ
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔÇ°£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
Ò». Proxyģʽ¶¨Òå:
ΪÆäËû¶ÔÏóÌṩһÖÖ´úÀíÒÔ¿ØÖÆÕâ¸ö¶ÔÏóµÄ·ÃÎÊ.
¶þ.ģʽ½â˵
Proxy´úÀíģʽÊÇÒ»ÖֽṹÐÍÉè¼Æģʽ,Ö÷Òª½â¾öµÄÎÊÌâÊÇ:ÔÚÖ±½Ó·ÃÎʶÔÏóʱ´øÀ´µÄÎÊÌâ,±ÈÈç˵:Òª·ÃÎʵĶÔÏóÔÚÔ¶³ÌµÄ»úÆ÷ÉÏ.
ÔÚÃæÏò¶ÔÏóϵͳÖÐ,ÓÐЩ¶ÔÏóÓÉÓÚijЩÔÒò(±ÈÈç¶ÔÏó´´½¨¿ªÏúºÜ´ó,»òÕßijЩ²Ù×÷ÐèÒª°²È«¿ØÖÆ,»òÕßÐèÒª½ø³ÌÍâµÄ·ÃÎÊ),
......
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class TestClass {
/**
* @param args
*/
public static void main(String[] args) {
// TODO ×Ô動Éú³É¤µ¤ì¤¿¥á¥½¥Ã¥É?¥¹¥¿¥Ö
List li = ......
/* @author AnShuFeng
* @version 1.0
* ÈËÈ˶ÔÕ½ÏóÆå
* XiangQi.java
*/
import java.awt.*;
import java.awt.event.*;
import javax.imageio.*;
import java.io.*;
import javax.swing.*;
import java.awt.image.*;
public class XiangQi
{
JFra ......