Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Java¶àÏ̱߳à³ÌÖеÄSynchronized

Synchronized£¬¹ËÃû˼Ò壬´ú±í¶à¸öÏß³ÌÖ®¼äµÄͬ²½¡£ÄÇô£¬ÔÚjava±à³ÌÖÐÈçºÎʹÓÃËüÄØ£¿ ÎÒÃǼÙÉèÕâÑùÒ»¸öÇé¿ö£º¶ÔÓÚͬһ¸ö±äÁ¿synDemo£¬ÎÒÃÇ·Ö±ðÔÚ2¸ö²»Í¬µÄÏß³ÌÖе÷ÓÃsynDemo.synMethord1()ÓësynDemo.synMethord2()¡£ package com.cnblogs.gpcuster;
/**
*
* @author Aaron.Guo
*
*/
public class Tester {
public static void main(String[] args) {
final SynDemo synDemo = new SynDemo();
Thread thread1 = new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
synDemo.synMethord1();
}
};
Thread thread2 = new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
synDemo.synMethord2();
}
};
thread1.start();
thread2.start();
while (true) {
try {
Thread.sleep(1000);
System.out.println("main");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
ÎÒÃǵÄSynDemoÊÇÕâÑù¶¨ÒåµÄ£º
package com.cnblogs.gpcuster;
/**
*
* @author Aaron.Guo
*
*/
public class SynDemo{

public void synMethord1() {
while(true) {
try {
Thread.sleep(1000);
System.out.println("synMethord1");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

public void synMethord2() {
while(true) {
try {
Thread.sleep(1000);
System.out.println("synMethord2");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
ÎÒÃǵÄSynDemo¶ÔÏóûÓÐÈκÎÌØÊâµÄ¶¨Ò壬ËùÒÔÔËÐÐÆðÀ´ÒÔºóµÄÇé¿öÈçÏ£º
synMethord2

synMethord1

main

synMethord2

synMethord1

main

synMethord2

synMethord1
½ÓÏÂÀ´£¬ÎÒÃǸøsynMethord1Ìí¼ÓÉÏsynchronizedÉùÃ÷£¬ÔËÐÐÇé¿ö»¹ÊÇÓëÉÏ´ÎÒ»Ñù£¬ÒòΪÎÒÃÇÖ»ÓÐÒ»¸öÏß³ÌÔÚµ÷ÓÃsynMethord1µÄ·½·¨¡£
ÎÒÃǸøsynMethord2Ò²Ìí¼ÓÉÏsynchronizedÉùÃ÷£¬SynDemo¶ÔÏóµÄ´úÂë


Ïà¹ØÎĵµ£º

javaÔËÐл·¾³ Àà×°ÔØÆ÷ClassLoader

  ½ñÌì¹Û¿´ÁËÀ¶É½ÀÏʦjava±³ºóµÄÃØÃÜÏà¹ØÊÓÆµ£¬·¢ÏÖÒªÏëд³ö¸ßÐÔÄܵijÌÐò£¬Ò»¶¨Òª¶ÔÆäÔËÐÐÔ­ÀíÒÔ¼°ÆäÔËÐл·¾³ÓÐÏ൱³Ì¶ÈµÄÁ˽⡣ÄÇClassLoaderÊÇÏ൱¹Ø¼üµÄÒ»¸ö²¿·Ö¡£
  ÏÈ˵ÏÂjava³ÌÐòÔËÐеĻù±¾Á÷³Ì£¬ÏȽ«javaÎļþ±àÒëΪclassÎļþ£¬È»ºóͨ¹ýClassLoader£¨Àà¼ÓÔØÆ÷£©£¬¼ÓÔØµ½Runtime Data Area£¨ÀàËÆÓÚÄڴ棩ÖÐ ......

µ¶Ê¯Í·²¼ÓÎÏ· java°æ

import java.util.Scanner;
public class Game{
  void welcome(){
   println("»¶Ó­À´µ½¼ôµ¶Ê¯Í·²¼ÓÎÏ·");
  }
 Choice getUserChoice(){
  println("ÇëÑ¡Ôñ\t[1]¼ôµ¶\t[2]ʯͷ\t[3]²¼");
  Scanner sc= new Scanner(System.in);
  int userCh ......

KMPËã·¨µÄJavaʵÏÖÀý×ÓÒÔ¼°²âÊÔ·ÖÎö


±³¾°¼ò½é£ºKMPËã·¨ÓÃÀ´´¦Àí×Ö·û´®Æ¥ÅäµÄ¡£¸øÄãA,BÁ½¸ö×Ö·û´®£¬¼ì²éB´®ÊÇ·ñÊÇA´®µÄ×Ó´®£¬ÀàËÆÓÚJavaµÄString.indexOf("")¡£Ö®ËùÒÔ½Ð×öKMP£¬ÊÇÒòΪÕâ¸öËã·¨ÊÇÓÉKnuth¡¢Morris¡¢PrattÈý¸öÌá³öÀ´µÄ£¬È¡ÁËÕâÈý¸öÈ˵ÄÃû×ÖµÄÍ·Ò»¸ö×Öĸ¡£
Ô­Àí½éÉÜ£ºÕÒµ½Æ¥Åäʧ°ÜʱµÄ×îºÏÊʵĻØÍËλÖ㬶ø²»ÊǼòµ¥µÄ»ØÍ˵½×Ó´®µÄµÚÒ»¸ö×Ö·û£¨³£¹ ......

javaÃæÊÔÌâ

JAVAÃæÊÔÌ⼯- -
»ù´¡ÖªÊ¶£º
1.C++»òJavaÖеÄÒì³£´¦Àí»úÖÆµÄ¼òµ¥Ô­ÀíºÍÓ¦Óá£
µ±JAVA³ÌÐòÎ¥·´ÁËJAVAµÄÓïÒ广Ôòʱ£¬JAVA
ÐéÄâ»ú¾Í»á½«·¢ÉúµÄ´íÎó±íʾΪһ¸öÒì³£¡£Î¥·´ÓïÒ广Ôò°üÀ¨2ÖÖÇé¿ö¡£Ò»ÖÖÊÇJAVAÀà¿âÄÚÖõÄÓïÒå¼ì²é¡£ÀýÈçÊý×éϱêÔ½½ç,»áÒý·¢
IndexOutOfBoundsException;·ÃÎÊnullµÄ¶ÔÏóʱ»áÒý·¢NullPointerExcepti ......

java¶þ·Ö²éÕÒ

¶þ·Ö²éÕÒ£º
   ¶þ·Ö²éÕÒ±ÈÏßÐÔ²éÕÒÊý¶ÈÒªºÃºÜ¶à£¬ÓÈÆäÊǶԴóÊý×éÀ´Ëµ¸üΪÏÔÖø£¬¾ÍÏñÊDzÂ×ÖÓÎÏ·Ò»Ñù
²Â×ÖÓÎÏ·£º
   ¶þ·Ö²éÕҵķ½·¨ºÍÎÒÃÇСʱºòÍæµÄ²Â×ÖÓÎÏ·ÊÇÒ»ÑùµÄ¡£ÔÚÕâ¸öÓÎÏ·ÀïÃæ£¬ÓÐÒ»¸öСÅóÓÑ»áÈÃÄã²ÂËýÕýÔÚÏëµÄÒ»¸ö1ÖÁ100Ö®¼äµÄÊý£¬
Äã²ÂÁËÒ»¸öÊýÒÔºó£¬Ëý»á¸æËßÄãÈýÖÖÑ¡ÔñÖеÄÒ»¸ö£ºÄã² ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ