1. Java±£´æµÄÎļþÃû±ØÐëÓëÀàÃûÒ»Ö£»
2. Èç¹ûÎļþÖÐÖ»ÓÐÒ»¸öÀ࣬ÎļþÃû±ØÐëÓëÀàÃûÒ»Ö£»
3. Ò»¸öJavaÎļþÖÐÖ»ÄÜÓÐÒ»¸öpublicÀࣻ
4. Èç¹ûÎļþÖв»Ö¹Ò»¸öÀ࣬ÎļþÃû±ØÐëÓëpublicÀàÃûÒ»Ö£»
5. Èç¹ûÎļþÖв»Ö¹Ò»¸öÀ࣬¶øÇÒûÓÐpublicÀ࣬ÎļþÃû¿ÉÓëÈÎÒ»ÀàÃûÒ»Ö£»
http://www.cnitblog.com/stomic/archive/2009/08/27/61034.html ......
synchronized¹Ø¼ü×ÖÔÚ¶àÏß³ÌÖеÄ×÷Óãº
Á½ÖÖÓ÷¨£ºsynchronized ·½·¨ºÍ synchronized ¿é¡£
1. synchronized ·½·¨£ºÍ¨¹ýÔÚ·½·¨ÉùÃ÷ÖмÓÈë synchronized¹Ø¼ü×ÖÀ´ÉùÃ÷ synchronized ·½·¨¡£ÈçÉÏÊöÀý×ÓËùÊö¡£
synchronized ·½·¨¿ØÖƶÔÀà³ÉÔ±±äÁ¿µÄ·ÃÎÊ£ºÃ¿¸öÀàʵÀý¶ÔÏó¶ÔÓ¦Ò»°ÑËø£¬Ã¿¸ö synchronized ·½·¨¶¼±ØÐë»ñµÃµ÷Óø÷½·¨µÄÀàʵÀý¶ÔÏóµÄËø·½ÄÜÖ´ÐУ¬·ñÔòËùÊôÏß³Ì×èÈû£¬·½·¨Ò»µ©Ö´ÐУ¬¾Í¶ÀÕ¼¸ÃËø£¬Ö±µ½´Ó¸Ã·½·¨·µ»ØÊ±²Å½«ËøÊÍ·Å£¬´Ëºó±»×èÈûµÄÏ̷߳½ÄÜ»ñµÃ¸ÃËø£¬ÖØÐ½øÈë¿ÉÖ´ÐÐ״̬¡£ÕâÖÖ»úÖÆÈ·±£ÁËͬһʱ¿Ì¶ÔÓÚÿһ¸öÀàʵÀý¶ÔÏ󣬯äËùÓÐÉùÃ÷Ϊ synchronized µÄ³ÉÔ±·½·¨ÖÐÖÁ¶àÖ»ÓÐÒ»¸ö´¦ÓÚ¿ÉÖ´ÐÐ״̬£¨ÒòΪÖÁ¶àÖ»ÓÐÒ»¸öÄܹ»»ñµÃ¸ÃÀàʵÀý¶ÔÏó¶ÔÓ¦µÄËø£©£¬´Ó¶øÓÐЧ±ÜÃâÁËÀà³ÉÔ±±äÁ¿µÄ·ÃÎʳåÍ»£¨Ö»ÒªËùÓпÉÄÜ·ÃÎÊÀà³ÉÔ±±äÁ¿µÄ·½·¨¾ù±»ÉùÃ÷Ϊ synchronized£©¡£
ÔÚ Java ÖУ¬²»¹âÊÇÀàʵÀý£¬Ã¿Ò»¸öÀàÒ²¶ÔÓ¦Ò»°ÑËø£¬ÕâÑùÎÒÃÇÒ²¿É½«ÀàµÄ¾²Ì¬³ÉÔ±º¯ÊýÉùÃ÷Ϊ synchronized £¬ÒÔ¿ØÖÆÆä¶ÔÀàµÄ¾²Ì¬³ÉÔ±±äÁ¿µÄ·ÃÎÊ¡£
synchronized ·½·¨µÄȱÏÝ£ºÈô½«Ò»¸ö´óµÄ·½·¨ÉùÃ÷Ϊsynchronized ½«»á´ó´óÓ°ÏìЧÂÊ£¬µäÐ͵أ¬Èô½«Ïß³ÌÀàµÄ·½·¨ run() ÉùÃ÷Ϊ synchronized £¬ÓÉÓÚÔÚÏ̵߳ÄÕû¸öÉúÃüÆÚÄÚËüÒ ......
1¡¢¹¤³§Ä£Ê½£º¿Í»§ÀàºÍ¹¤³§Àà·Ö¿ª¡£Ïû·ÑÕßÈκÎʱºòÐèҪijÖÖ²úÆ·£¬Ö»ÐèÏò¹¤³§ÇëÇó¼´¿É¡£Ïû·ÑÕßÎÞÐëÐ޸ľͿÉÒÔ½ÓÄÉвúÆ·¡£È±µãÊǵ±²úÆ·ÐÞ¸Äʱ£¬¹¤³§ÀàÒ²Òª×öÏàÓ¦µÄÐ޸ġ£È磺ÈçºÎ´´½¨¼°ÈçºÎÏò¿Í»§¶ËÌṩ¡£
¡¡¡¡2¡¢½¨Ôìģʽ£º½«²úÆ·µÄÄÚ²¿±íÏóºÍ²úÆ·µÄÉú³É¹ý³Ì·Ö¸î¿ªÀ´£¬´Ó¶øÊ¹Ò»¸ö½¨Ôì¹ý³ÌÉú³É¾ßÓв»Í¬µÄÄÚ²¿±íÏóµÄ²úÆ·¶ÔÏó¡£½¨ÔìģʽʹµÃ²úÆ·ÄÚ²¿±íÏó¿ÉÒÔ¶ÀÁ¢µÄ±ä»¯£¬¿Í»§²»±ØÖªµÀ²úÆ·ÄÚ²¿×é³ÉµÄϸ½Ú¡£½¨Ôìģʽ¿ÉÒÔÇ¿ÖÆÊµÐÐÒ»ÖÖ·Ö²½Öè½øÐеĽ¨Ôì¹ý³Ì¡£
¡¡¡¡3¡¢¹¤³§·½·¨Ä£Ê½£ººËÐŤ³§À಻ÔÙ¸ºÔðËùÓвúÆ·µÄ´´½¨£¬¶øÊǽ«¾ßÌå´´½¨µÄ¹¤×÷½»¸ø×ÓÀàÈ¥×ö£¬³ÉΪһ¸ö³éÏ󹤳§½ÇÉ«£¬½ö¸ºÔð¸ø³ö¾ßÌ幤³§Àà±ØÐëʵÏֵĽӿڣ¬¶ø²»½Ó´¥ÄÄÒ»¸ö²úÆ·ÀàÓ¦µ±±»ÊµÀý»¯ÕâÖÖϸ½Ú¡£
¡¡¡¡4¡¢ÔʼģÐÍģʽ£ºÍ¨¹ý¸ø³öÒ»¸öÔÐͶÔÏóÀ´Ö¸Ã÷ËùÒª´´½¨µÄ¶ÔÏóµÄÀàÐÍ£¬È»ºóÓø´ÖÆÕâ¸öÔÐͶÔÏóµÄ·½·¨´´½¨³ö¸ü¶àͬÀàÐ͵ĶÔÏó¡£ÔʼģÐÍģʽÔÊÐí¶¯Ì¬µÄÔö¼Ó»ò¼õÉÙ²úÆ·À࣬²úÆ·À಻ÐèÒª·ÇµÃÓÐÈκÎÊÂÏÈÈ·¶¨µÄµÈ¼¶½á¹¹£¬ÔʼģÐÍģʽÊÊÓÃÓÚÈκεĵȼ¶½á¹¹¡£È±µãÊÇÿһ¸öÀà¶¼±ØÐëÅ䱸һ¸ö¿Ë¡·½·¨¡£
¡¡¡¡5¡¢µ¥Àýģʽ£ºµ¥Àýģʽȷ±£Ä³Ò»¸öÀàÖ»ÓÐÒ»¸öʵÀý£¬¶øÇÒ ......
×÷Ϊһ¸ö¿çƽ̨µÄ±à³Ì½â¾ö·½°¸£¬JavaÏÔÈ»²»ÄÜÏñDelphiÄÇÑù£¬ÔÚÓû§½çÃæÉè¼Æ·½ÃæÌṩǿ´ó¡¢Ö±¹ÛºÍ¿ì½ÝµÄÉè¼ÆÖ§³Ö¡£±ÈÈç¶ÔÓÚÎı¾¿òµÄ¿ØÖÆ£¬µ±ÎÒÃÇ ÒªÔÚ³ÌÐòÖиÐÖªÓû§ÊÇ·ñÐÞ¸ÄÁËÎı¾¿òÖеÄÄÚÈÝʱ£¬DelphiÌṩÁËÒ»¸öÖ±½ÓµÄʼþµ÷ÓÃOnValueChanged()£¬¿ÉÒÔÔÚÎı¾¿òÄÚÈݵõ½Êµ¼ÊµÄ¸Ä ¶¯Ê±±»¼¤»î¡£¶øÒªÔÚJavaÖÐʵÏÖÕâÒ»¹¦ÄܾÍËÆºõÂé·³ÁËÒ»µã£¬Ö±½ÓµÄµ÷ÓÃÖ»ÓÐkeyPressed()ºÍkeyTyped()£¬Ç°ÕßÖ»¶ÔÖ÷¼üÅÌÇø£¨×Ö·û¡¢ Êý×ֵȣ©Óз´Ó¦£¬¶ÔÓÚDeleteµÈ¹¦ÄܼüûÓз´Ó¦£¬¶øºóÕßÓÖËÆºõ·´Ó¦Ì«¹ýÁéÃô£¬¶ÔһЩ²»»á¸Ä±äÎı¾¿òÄÚÈݵŦÄܼüÒ²»ý¼«ÏìÓ¦¡£
¡¡ ¡¡ÄÇôÔõÑù¶ÔJavaÖеÄÎı¾¿òÉèÖÃÀàËÆOnValueChanged()µÄʼþ´¦ÀíÄØ£¿ÕâÊ×ÏÈÈ¡¾öÓÚÎÒÃÇËùʹÓõÄÎı¾¿òÊÇÊôÓÚAWTÀ໹ÊÇSwing Àà¡£AWT(Abstract Window Toolkit£º³éÏó´°¿Ú¹¤¾ßÏä)×î³õÊÇΪÁËÈÃJava¾ßÓÐUIÉè¼ÆÄÜÁ¦¶ø±àдµÄ£¬µ«ÔÚ1.0°æ±¾Öв¢²»±» ½ÐºÃ¡£µ½ÁËJava 1.1°æ±¾Ö®ºó£¬ÓÉÓÚ¼ÓÈëÁËеÄʼþÇý¶¯·½·¨£¬²ÅÕæÕý±äµÃʵÓᢷ½±ãºÍÎȶ¨ÆðÀ´¡£¶øSwingÀàÔòÊÇΪÁËÓ¦¸¶AWT´æÔڵIJ»×㣬ÔÚ Java 1.1Ö®ºóÍÆ³öµÄÒ»¸ö×é¼þ¿â£¬ÓÉÓÚÊǽ¨Á¢ÔÚBeanµÄ»ù´¡ÉÏ£¨SwingµÄ×é¼þÊÇBean£©£¬ËùÒÔÏà¶ÔAWT¶øÑÔ£¬ËüÊÇÒ»¸ö“ÇáÁ¿¼¶”µÄÑ¡ÊÖ¡£ Swing¸ü“×ÔÈ»µØ&r ......
1£® ¹ØÓÚ¶¯Ì¬¼ÓÔØ»úÖÆ??
ѧϰJava±ÈC++¸üÈÝÒ×Àí½âOOPµÄ˼Ï룬±Ï¾¹C++»¹»ìºÏÁ˲»ÉÙÃæÏò¹ý³ÌµÄ³É·Ö¡£ºÜ¶àÈ˶¼Äܱ³³öÀ´JavaÓïÑÔµÄÌØµã£¬ËùνµÄ¶¯Ì¬¼ÓÔØ»úÖÆµÈµÈ¡£µ±È»¸ÅÄîÍùÍùÊÇÏȼÇס¶øºóÏû»¯µÄ£¬¿ÉÓжàÉÙÈËÕæÕýÈ¥Ìå»á¹ý¶¯Ì¬¼ÓÔØµÄ»úÖÆ£¬ÊÔͼȥѰÕÒ¹ýÆäÖеÄϸ½ÚÄØ? Ìṩ´ó¼ÒÒ»¸ö·½·¨£º
ÔÚÃüÁîÐд°¿ÚÔËÐÐJava³ÌÐòµÄʱºò£¬¼ÓÉÏÕâ¸öºÜÓÐÓõIJÎÊý£º
java -verbose *.class
ÕâÑù»áÇåÎúµÄ´òÓ¡³ö±»¼ÓÔØµÄÀàÎļþ£¬´ó²¿·ÖÊÇjdk×ÔÉíÔËÐÐÐèÒªµÄ£¬×îºó¼¸ÐлáÃ÷ÏԵĿ´µ½×Ô¼ºÓõ½µÄÄǼ¸¸öÀàÎļþ±»¼ÓÔØ½øÀ´µÄ˳Ðò¡£¼´Ê¹ÄãÉùÃ÷ÁËÒ»¸öÀà¶ÔÏ󣬲»ÊµÀý»¯Ò²²»»á¼ÓÔØ£¬ËµÃ÷Ö»ÓÐÕæÕýÓõ½ÄǸöÀàµÄʵÀý¼´¶ÔÏóµÄʱºò£¬²Å»áÖ´ÐмÓÔØ¡£ÕâÑùÊDz»ÊÇ´ó¼ÒÉÔ΢ÄÜÃ÷°×Ò»µã¶¯Ì¬¼ÓÔØÁËÄØ£¿^_^
2£® ¹ØÓÚѰÕÒclassÎļþÔÀí??
½¨Òé´ó¼ÒÔÚÈëÃŵÄʱºòÔÚÃüÁîÐд°¿Ú±àÒëºÍÔËÐУ¬²»Òª½èÖúJCreator»òÕßEclipseµÈIDEÈ¥°ïÖú×öÄÇЩÊÂÇé¡£³¢ÊÔ×Ô¼ºÕâÑù×ö£º
javac -classpath yourpath *.java
java -classpath yourpath *.class
Ò²ÐíºÜ¶àÈ˶¼ÄÜ¿´¶®£¬ÉèÖÃclasspathµÄÄ¿µÄ¾ÍÊǸæËß±àÒëÆ÷È¥ÄÄÀïѰÕÒÄãµÄclassÎļþ. ²»¹ýÖÁÉÙ±ÊÕß½ñÈղŠ......
Ò»¡¢Í¬²½ÎÊÌâÌá³ö
Ï̵߳Äͬ²½ÊÇΪÁË·ÀÖ¹¶à¸öÏ̷߳ÃÎÊÒ»¸öÊý¾Ý¶ÔÏóʱ£¬¶ÔÊý¾ÝÔì³ÉµÄÆÆ»µ¡£
ÀýÈ磺Á½¸öÏß³ÌThreadA¡¢ThreadB¶¼²Ù×÷ͬһ¸ö¶ÔÏóFoo¶ÔÏ󣬲¢ÐÞ¸ÄFoo¶ÔÏóÉϵÄÊý¾Ý¡£
public class Foo {
private int x = 100;
public int getX() {
return x;
}
public int fix(int y) {
x = x - y;
return x;
}
}
public class MyRunnable implements Runnable {
private Foo foo = new Foo();
public static void main(String[] args) {
MyRunnable r = new MyRunnable();
Thread ta = new Thread(r, "Thread-A");
Thread tb = new ......