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

javaÖÐsynchronized¹Ø¼ü×ֵIJâÊÔ

  ×î½üÓÉÓÚ¸÷ÖÖÔ­ÒòÆÈʹ×Ô¼ºÐèÒªÏêϸÁ˽âjavaµÄ»ù±¾ÖªÊ¶£¬Ö®Ç°ÔÚѧУѧjava¶àÏ̵߳Äʱºò£¬ºÜ¶àºÜÖØÒªµÄ֪ʶµã¶¼ÊÇÒ»´ø¶ø¹ý¡£
  ÎÒÃÇÀ´»ØÒäÒ»ÏÂjavaÖÐsynchronized¹Ø¼ü×ÖµÄÓÃ;£¨Ò»ÏÂÄÚÈÝÊô¸öÈËÀí½â£¬»¶Ó­¶ÁÕßÐÞÕý£¡£©£º
  1£ºsynchronized ÐÞÊξ²Ì¬·½·¨Ê±ºò£¬ÔÚÈκÎʱºòjvm¶¼±£Ö¤Ö»ÓÐÒ»¸öÏ̷߳ÃÎÊ·½·¨ÄÚ²¿µÄ´úÂ룬Òò´Ë±£Ö¤ÁËÐí¶à¾²Ì¬µÄ¶ÔÏó²»±»ÒâÍâµÄÐ޸쬽â¾öÁ˶àÏß³ÌϾ²Ì¬¶ÔÏóµÄÊý¾Ý²»Í¬²½ÎÊÌâ¡£
  ¿´ÒÔϲâÊÔ´úÂ룺
package thread;
public class TestSynchronized extends Thread {
/**
* ²âÊÔÊä³öµÄ´ÎÊý
*/
private static int times;
/**
* ¶¨ÒåÈý¸öÏß³Ì
*/
private static Thread t1 = new TestSynchronized("t1");
private static Thread t2 = new TestSynchronized("t2");
private static Thread t3 = new TestSynchronized("t3");

/**
* ¿ªÊ¼²âÊÔʱ¼ä
*/
private static long start;
TestSynchronized(String name){
super(name);
}
/**
* @param args
*/
public static void main(String[] args) {
start = System.currentTimeMillis();
t1.start();
t2.start();
t3.start();
}
public void run(){

for(int i=0;i<50;i++){
log(getName(),i);
}
//´òÓ¡×»°·Ñʱ¼ä ÒÔ×îºó´òÓ¡µÄΪ±ê×¼
System.out.println(getName()+"ÒѾ­½áÊø¡£»¨·Ñʱ¼ä£º"+(System.currentTimeMillis()-start));
}
synchronized static void log(Object id,Object msg){
times++;
msg(id," ½øÀ´ÁË¡£¡£");
msg(id,msg);
try {
Thread.sleep(100);
} catch (Exception e) {e.printStackTrace();}
msg(id," ³öÀ´ÁË¡£¡£");
}
static void msg(Object id,Object msg){
System.out.println(times+":"+id+">>"+msg);
}



}

ÆäÖÐÎÒÃÇÒ»“times” ΪҪÎÒÃÇҪͬ²½µÄÊý¾Ý£¬Ã¿´ÎlogµÄʱºòtimes½«±»×Ô¼ÓÒ»´Î£¬ÔÚÖ»ÓÐÒ»¸öÏ̷߳ÃÎʸ÷½·¨µÄÇé¿öÏ¿ÉÒÔºÜÕý³£µÄ´òÓ¡³ötimes¶ÔÓ¦µÄÊä³ö¡£µ«ÊÇÔÚ¶àÏ̵߳Ļ·¾³Ï¾ͻáºÜÈÝÒ׳öÏÖ´íλµÄÏÖÏó£¬ÒÔÉÏ´úÂëµÄ²¿·ÖÊä³ö£¨Èý¸öỊ̈߳©ÈçÏ£º
µÚ3´Îlog£¬Ị̈߳ºt2>>log start¡£¡£
µÚ3´Îlog£¬Ị̈߳ºt2>>0
µÚ3´Îlog£¬Ị̈߳ºt1>>log start¡£¡£
µÚ3´Îlog£¬Ị̈߳ºt1>>0
µÚ3´Îlog£¬Ị̈߳ºt3>&


Ïà¹ØÎĵµ£º

java Êý×ÖÖ¤ÊékeytoolÓ÷¨


java
Êý×ÖÖ¤ÊékeytoolÓ÷¨
2009-06-14
21:05
Java ÖÐµÄ keytool.exe £¨Î»ÓÚ
JDK\Bin Ŀ¼Ï£©¿ÉÒÔÓÃÀ´´´½¨Êý×ÖÖ¤Ê飬ËùÓеÄÊý×ÖÖ¤ÊéÊÇÒÔÒ»ÌõÒ»Ìõ(²ÉÓñðÃûÇø±ð)µÄÐÎʽ´æÈëÖ¤Êé¿âµÄÖУ¬Ö¤Êé¿âÖеÄÒ»ÌõÖ¤Êé°üº¬¸ÃÌõÖ¤ÊéµÄ˽Կ£¬¹«Ô¿ºÍ¶ÔÓ¦µÄÊý×ÖÖ¤ÊéµÄÐÅÏ¢¡£Ö¤Êé¿âÖеÄÒ»ÌõÖ¤Êé¿ÉÒÔµ¼³öÊý×ÖÖ¤ÊéÎļþ£¬Êý×ÖÖ¤ÊéÎļþÖ» ......

WindowsÏÂMemcached°²×°¼°Java¿Í»§¶Ëµ÷ÓÃ

WindowsϵÄMemcache°²×°£º
1. ÏÂÔØmemcacheµÄwindowsÎȶ¨°æ£¬½âѹ·Åij¸öÅÌÏÂÃæ£¬±ÈÈçÔÚc:\memcached
2. ÔÚÖÕ¶Ë£¨Ò²¼´cmdÃüÁî½çÃæ£©ÏÂÊäÈë ‘c:\memcached\memcached.exe -d install’ °²×°
3. ÔÙÊäÈ룺 ‘c:\memcached\memcached.exe -d start’ Æô¶¯¡£NOTE: ÒÔºómemcached½«×÷ΪwindowsµÄÒ»¸ö· ......

Java֪ʶ

1.MVCµÄ¸÷¸ö²¿·Ö¶¼ÓÐÄÇЩ¼¼ÊõÀ´ÊµÏÖ?ÈçºÎʵÏÖ?
´ð£ºMVCÊÇModel£­View£­ControllerµÄ¼òд¡£"Model" ´ú±íµÄÊÇÓ¦ÓõÄÒµÎñÂß¼­£¨Í¨¹ýJavaBean£¬EJB×é¼þʵÏÖ£©£¬ "View" ÊÇÓ¦ÓõıíÊ¾Ãæ£¨ÓÉJSPÒ³Ãæ²úÉú£©£¬"Controller" ÊÇÌṩӦÓõĴ¦Àí¹ý³Ì¿ØÖÆ£¨Ò»°ãÊÇÒ»¸öServlet£©£¬Í¨¹ýÕâÖÖÉè¼ÆÄ£ÐͰÑÓ¦ÓÃÂß¼­£¬´¦Àí¹ý³ÌºÍÏÔʾÂß¼­·Ö³É²» ......

java³£¼ûÃæÊÔÌâ

1.ÈçºÎ»ñµÃÊý×éµÄ³¤¶È£¿
Êý×éÃû.length
2.·ÃÎÊÐÞÊηû“public/private/protected/ȱʡµÄÐÞÊηû”µÄʹÓÃÀà?
public : ¹«¹²,¾ù¿É·ÃÎÊ
private: ˽ÓеÄ,ͬһ¸öjavaÀàÖпÉÒÔ·ÃÎÊ.×ÓÀ಻ÄÜ·ÃÎÊ.
protected: ͬһ¸ö°üÖеÄÀà¶¼¿É·ÃÎÊ.×ÓÀà¿ÉÒÔ·ÃÎÊ.
ȱʡ,friendly :µ±Ç°Àà,ͬһ¸ö°ü,¶¼¿ÉÒÔ·ÃÎÊ.
×÷ÓÃÓò µ± ......

JAVA HEAP²é¿´¼òµ¥°ì·¨

×î½üÔÚ¿´JVMÓйض«Î÷£¬·¢ÏÖÒ»¸ö¼òµ¥ºÍfreeµÄHEAP DUMP²é¿´·½Ê½£¨»ùÓÚSUN JDK)
ÏÈʹÓÃ
jmap -dump:live,format=b,file=heap.bin  9381
ÆäÖÐ9381ΪJAVA ½ø³ÌPID
È»ºóÖ´ÐÐjhat heap.bin
´ýÏÔʾ
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.
ÔÙʹÓÃWEB BROWER µÇ¼jhat ä¯ÀÀÆ÷¶Ë¿Ú¼´¿É ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ