java²¢·¢±à³Ìʵ¼ù±Ê¼Ç
1, ±£Ö¤Ḭ̈߳²È«µÄÈýÖÖ·½·¨ :
a, ²»Òª¿çÏ̷߳ÃÎʹ²Ïí±äÁ¿
b, ʹ¹²Ïí±äÁ¿ÊÇ finalÀàÐ͵Ä
c, ½«¹²Ïí±äÁ¿µÄ²Ù×÷¼ÓÉÏͬ²½
2, Ò»¿ªÊ¼¾Í½«ÀàÉè¼Æ³ÉḬ̈߳²È«µÄ , ±ÈÔÚºóÆÚÖØÐÂÐÞ¸´Ëü ,¸üÈÝÒ× .
3, ±àд¶àÏ̳߳ÌÐò , Ê×Ïȱ£Ö¤ËüÊÇÕýÈ·µÄ , Æä´ÎÔÙ¿¼ÂÇÐÔÄÜ .
4, ÎÞ״̬»òÖ»¶Á¶ÔÏóÓÀÔ¶ÊÇḬ̈߳²È«µÄ .
5, ²»Òª½«Ò»¸ö¹²Ïí±äÁ¿Âã¶ÔÚ¶àÏ̻߳·¾³Ï (ÎÞͬ²½»ò²»¿É±äÐÔ±£»¤ )
6, ¶àÏ̻߳·¾³ÏµÄÑÓ³Ù¼ÓÔØÐèҪͬ²½µÄ±£»¤ , ÒòΪÑÓ³Ù¼ÓÔØ»áÔì³É¶ÔÏóÖØ¸´ÊµÀý»¯
7, ¶ÔÓÚ volatile ÉùÃ÷µÄÊýÖµÀàÐͱäÁ¿½øÐÐÔËËã , ÍùÍùÊDz»°²È«µÄ (volatile Ö»Äܱ£Ö¤¿É¼ûÐÔ , ²»Äܱ£Ö¤Ô×ÓÐÔ ).
Ïê¼û volatile ÔÀíÓë¼¼ÇÉÖÐ , ÔàÊý¾ÝÎÊÌâÌÖÂÛ .
8, µ±Ò»¸öÏß³ÌÇëÇó»ñµÃËü×Ô¼ºÕ¼ÓеÄËøÊ± ( ͬһ°ÑËøµÄǶÌ×ʹÓà ), ÎÒÃdzƸÃËøÎª¿ÉÖØÈëËø .
ÔÚ jdk1.5 ²¢·¢°üÖÐ , ÌṩÁË¿ÉÖØÈëËøµÄ java ʵÏÖ -ReentrantLock.
9, ÿ¸ö¹²Ïí±äÁ¿ , ¶¼Ó¦¸ÃÓÉÒ»¸öΨһȷ¶¨µÄËø±£»¤ .
´´½¨Óë±äÁ¿ÏàͬÊýÄ¿µÄ ReentrantLock, ʹËûÃǸºÔðÿ¸ö±äÁ¿µÄḬ̈߳²È« .
10,ËäÈ»ËõСͬ²½¿éµÄ·¶Î§ , ¿ÉÒÔÌáÉýϵͳÐÔÄÜ .
µ«ÔÚ±£Ö¤Ô×ÓÐÔµÄÇé¿öÏ , ²»¿É½«Ô×Ó²Ù×÷·Ö½â³É¶à¸ö synchronized¿é .
11, ÔÚûÓÐͬ²½µÄÇé¿öÏ , ±àÒëÆ÷Óë´¦ÀíÆ÷ÔËÐÐʱµÄÖ¸ÁîÖ´ÐÐ˳Ðò¿ÉÄÜÍêÈ«³öºõÒâÁÏ .
ÔÒòÊÇ , ±àÒëÆ÷»ò´¦ÀíÆ÷ΪÁËÓÅ»¯×ÔÉíÖ´ÐÐЧÂÊ , ¶ø¶ÔÖ¸Áî½øÐÐÁ˵ÄÖØÅÅÐò (reordering).
12, µ±Ò»¸öÏß³ÌÔÚûÓÐͬ²½µÄÇé¿ö϶ÁÈ¡±äÁ¿ , Ëü¿ÉÄÜ»áµÃµ½Ò»¸ö¹ýÆÚÖµ , µ«ÊÇÖÁÉÙËü¿ÉÒÔ¿´µ½ÄǸö
Ïß³ÌÔÚµ±Ê±É趨µÄÒ»¸öÕæÊµÊýÖµ . ¶ø²»ÊÇÆ¾¿Õ¶øÀ´µÄÖµ . ÕâÖÖ°²È«±£Ö¤ , ³ÆÖ®Îª ×îµÍÏ޵ݲȫÐÔ (out-of-thin-air safety)
ÔÚ¿ª·¢²¢·¢Ó¦ÓóÌÐòʱ , ÓÐʱΪÁË´ó·ù¶ÈÌá¸ßϵͳµÄÍÌÍÂÁ¿ÓëÐÔÄÜ , »á²ÉÓÃÕâÖÖÎÞ±£ÕϵÄ×ö·¨ .
µ«ÊÇÕë¶Ô , ÊýÖµµÄÔËËã , ÈÔ¾ÉÊDZ»·ñ¾öµÄ .
13, volatile ±äÁ¿ , Ö»Äܱ£Ö¤¿É¼ûÐÔ , ÎÞ·¨±£Ö¤Ô×ÓÐÔ .
14, ijЩºÄʱ½Ï³¤µÄÍøÂç²Ù×÷»ò IO, È·±£Ö´ÐÐʱ , ²»ÒªÕ¼ÓÐËø .
15, ·¢²¼ (publish) ¶ÔÏó , Ö¸µÄÊÇʹËüÄܹ»±»µ±Ç°·¶Î§Ö®ÍâµÄ´úÂëËùʹÓà .( ÒýÓô«µÝ )
¶ÔÏóÒݳö (escape), Ö¸µÄÊÇÒ»¸ö¶ÔÏóÔÚÉÐδ׼±¸ºÃʱ½«Ëü·¢²¼ .
ÔÔò : Ϊ·ÀÖ¹Òݳö , ¶ÔÏó±ØÐëÒª±»ÍêÈ«¹¹ÔìÍêºó , ²Å¿ÉÒÔ±»·¢²¼ ( ×îºÃµÄ½â¾ö·½Ê½ÊDzÉÓÃͬ²½ )
this ¹Ø¼ü×ÖÒýÓöÔÏóÒݳö
Àý×Ó : ÔÚ¹¹Ô캯ÊýÖÐ , ¿ªÆôÏß³Ì , ²¢½«×ÔÉí¶ÔÏó this ´«ÈëÏß³Ì , Ôì³ÉÒýÓô«µÝ .
¶ø´Ëʱ , ¹¹Ô캯ÊýÉÐδִÐÐÍê , ¾Í»á·¢Éú¶ÔÏóÒݳöÁË .
16, ±ØÒªÊ± , ʹÓà ThreadLocal±äÁ¿È·±£Ï̷߳â
Ïà¹ØÎĵµ£º
JavaỊ̈߳ºÐÂÌØÕ÷-Ëø£¨ÉÏ£©
ÔÚJava5ÖУ¬×¨ÃÅÌṩÁËËø¶ÔÏó£¬ÀûÓÃËø¿ÉÒÔ·½±ãµÄʵÏÖ×ÊÔ´µÄ·âËø£¬ÓÃÀ´¿ØÖƶԾºÕù×ÊÔ´²¢·¢·ÃÎʵĿØÖÆ£¬ÕâЩÄÚÈÝÖ÷Òª¼¯ÖÐÔÚjava.util.concurrent.locks °üÏÂÃæ£¬ÀïÃæÓÐÈý¸öÖØÒªµÄ½Ó¿ÚCondition¡¢Lock¡¢ReadWriteLock¡£
Condition
Condition ½« Object ¼àÊÓÆ÷·½·¨£¨wait¡¢notify ......
°æÈ¨ÉùÃ÷£º×ªÔØÊ±ÇëÒÔ³¬Á´½ÓÐÎʽ±êÃ÷ÎÄÕÂÔʼ³ö´¦ºÍ×÷ÕßÐÅÏ¢¼°±¾ÉùÃ÷
http://as112255.blogbus.com/logs/38662785.html
package com.softeem.jbs.lesson4;
import java.util.Random;
/**
* ÅÅÐò²âÊÔÀà
*
* ÅÅÐòËã·¨µÄ·ÖÀàÈçÏ£º
* 1.²åÈëÅÅÐò£¨Ö±½Ó²åÈëÅÅÐò¡¢ÕÛ°ë²åÈëÅÅÐ ......
Compositeģʽ(×éºÏ)
JavaÉîÈëµ½Ò»¶¨³Ì¶È,¾Í²»¿É±ÜÃâµÄÅöµ½Éè¼ÆÄ£Ê½ÕâÒ»¸ÅÄî,Á˽âÉè¼ÆÄ£Ê½,½«Ê¹×Ô¼º¶ÔjavaÖеĽӿڻò³éÏóÀàÓ¦ÓÃÓиüÉîµÄÀí½â.Éè¼ÆÄ£Ê½ÔÚjavaµÄÖÐÐÍϵͳÖÐÓ¦Óù㷺,×ñÑÒ»¶¨µÄ±à³Ìģʽ,²ÅÄÜʹ×Ô¼ºµÄ´úÂë±ãÓÚÀí½â,Ò×ÓÚ½»Á÷,Composite(×éºÏģʽ)ģʽÊDZȽϳ£ÓõÄÒ»¸öģʽ.
Composi ......
ת×Ô£º
pconline£ºhttp://www.pconline.com.cn/pcedu/empolder/gj/java/0411/499156.html
ºÃµÄ¶«Î÷ת¹ýÀ´¿´¿´
ÓÉÓÚÍøÂç´ø¿íÓÐÏÞ,ËùÒÔÊý¾ÝÎļþµÄѹËõÓÐÀûÓÚÊý¾ÝÔÚInternetÉϵĿìËÙ´«Êä,ͬʱҲ½ÚÊ¡·þÎñÆ÷µÄÍâ´æ¿Õ¼ä¡£
¡¡¡¡Java 1.1ʵÏÖÁËI/OÊý¾ÝÁ÷ÓëÍøÂçÊý¾ÝÁ÷µÄµ¥Ò»½Ó¿Ú,Òò´ËÊý¾ÝµÄѹËõ¡¢ÍøÂç´«ÊäºÍ½âѹËõµÄʵÏֱȽÏÈÝÒ× ......
/**
* Õâ¶Î³ÌÐò²¢²»ÄÑ£¬Ó¦¸ÃºÜºÃ¿´¶®£¬ÎҰѹý³Ì´óÖ½²Ò»Ï£¬Ê×ÏÈÄãµÄÄÔ×ÓÀïÏȸ¡ÏÖÒ»¸öÊý×éºÍÈý¸öÖ¸Õ룬
* µÚÒ»¸öÖ¸Õë³ÆÎªpÖ¸Õ룬ÔÚÕû¸ö¹ý³Ì½áÊøÖ®Ç°ËüÀÎÀεÄÖ¸ÏòµÚÒ»¸öÊý£¬µÚ¶þ¸öÖ¸ÕëºÍµÚÈý¸öÖ¸Õë·Ö±ðΪloÖ¸ÕëºÍhiÖ¸Õ룬
* ·Ö±ðÖ¸Ïò×î×ó±ßµÄÖµºÍ×îÓұߵÄÖµ¡£loÖ¸ÕëºÍhiÖ¸Õë´ÓÁ½±ßͬ ......