Java Semaphore
package test;
/**
*
* @author openpk
*/
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;
public class Main {
public static void main(String[] args) {
// Ï̳߳Ø
ExecutorService exec = Executors.newCachedThreadPool();
// Ö»ÄÜ5¸öÏß³Ìͬʱ·ÃÎÊ
final Semaphore semp = new Semaphore(1);
// Ä£Äâ20¸ö¿Í»§¶Ë·ÃÎÊ
for (int index = 0; index < 10; index++) {
final int NO = index;
Runnable run = new Runnable() {
public void run() {
try {
// »ñÈ¡Ðí¿É
semp.acquire();
System.out.println("Accessing: " + NO);
for(int i=0;i<400;i++)
System.out.print("Accessing: " + NO+" "+i);
System.out.println("");
Thread.sleep((long) (Math.random() * 10000));
// ·ÃÎÊÍêºó£¬ÊÍ·Å
semp.release();
} catch (InterruptedException e) {
}
}
};
exec.execute(run);
}
exec.shutdown();
}
}
// Í˳öÏ̳߳Ø
Ïà¹ØÎĵµ£º
1 Factory Pattern£¨¹¤³§Ä£Ê½£©
¡¡¡¡ÉϰñÀíÓÉ£º½«³ÌÐòÖд´½¨¶ÔÏóµÄ²Ù×÷£¬µ¥¶À³öÀ´´¦Àí£¬´ó´óÌá¸ßÁËϵͳÀ©Õ¹µÄÈáÐÔ£¬½Ó¿ÚµÄ³éÏ󻯴¦Àí¸øÏ໥ÒÀÀµµÄ¶ÔÏó´´½¨ÌṩÁË×îºÃµÄ³éÏóģʽ¡£
¡¡¡¡2 Facade Pattern
¡¡¡¡ÉϰñÀíÓÉ£º½«±íÏÖ²ãºÍÂß¼²ã¸ôÀ룬·â×°µ×²ãµÄ¸´ÔÓ´¦Àí£¬ÎªÓû§Ìṩ¼òµ¥µÄ½Ó¿Ú£¬ÕâÑùµÄÀý×ÓËæ´¦¿É¼û¡£ÃÅÃæÄ£Ê½ºÜ¶ ......
RuntimeExceptionlÀàÐ͵ÄÒì³£Ó¦Óñê×¼µÄ³ÌÐòÉè¼Æ¼¼ÇÉÀ´Ô¤·À£¬¶ø²»ÊÇʹÓÃtry-catch»úÖÆ²¶»ñ¡£Òþº¬Òì³£°üº¬ErrorsºÍRuntimeException£¬¶ÔÓÚºóÕßÓÃifÓï¾ä·ÀÖ¹²úÉú¡£Èç·ÃÎÊ¿ÉÄÜδÕýÈ·³õʼ»¯ÒýÓñäÁ¿Ç°£¬Ïȼì²éÊÇ·ñÖ¸Ïò¿ÕÖµ£»·ÃÎÊÊý×éʱ£¬Ïȼì²éϱêÊÇ·ñÔ½½ç¡£
×Ô¶¨ÒåÒì³££º´´½¨Ò»¸ö¼Ì³ÐExceptionµÄÀà»òÆäËûÒÑ´æÔÚµÄ×ÓÀ࣬´´½¨Ò ......
JavaµÄ¿çƽ̨ÊÇͨ¹ýJavaÐéÄâ»ú£¨JVM£©À´ÊµÏֵġ£
JavaÔ´ÎļþµÄ±àÒë¹ý³Ì
JavaÓ¦ÓóÌÐòµÄ¿ª·¢ÖÜÆÚ°üÀ¨±àÒë¡¢ÏÂÔØ¡¢½âÊͺÍÖ´Ðм¸¸ö²¿·Ö¡£Java±àÒë³ÌÐò½«JavaÔ´³ÌÐò·ÒëΪJVM¿ÉÖ´ÐдúÂë—×Ö½ÚÂë¡£ÕâÒ»±àÒë¹ý ......
Ê×ÏÈjava½Ó¿ÚºÍ³éÏóÀà´ú±íµÄ¾ÍÊdzéÏóÀàÐÍ£¬¾ÍÊÇÎÒÃÇÐèÒªÌá³ö³éÏó²ãµÄ¾ßÌåʵÏÖ£¬Èç¹ûÒªÌá¸ß³ÌÐòµÄ¸´ÓÃÂÊ£¬¿Éά»¤ÐÔ£¬¿ÉÀ©Õ¹ÐÔ£¬¾Í±ØÐëÃæÏò½Ó¿ÚºÍ³éÏó±à³Ì£¬ÕýȷʹÓÃËûÃÇ¡£ £¨1£©³éÏóÀà¿ÉÒÔÌṩʵÏÖ·½·¨£¬½Ó¿Ú²»ÄÜ
ÕâÊdzéÏóÀàµÄΨһÓŵ㣬¶øÇҷdz£ÓÐÓã¬ÀýÈ磬Ä㶨ÒåÒ»¸ö½Ó¿Ú£¬×ÓÀ಻ÐèÒªËûµÄËùÓз½·¨£¬¿ÉÊÇÄãû°ì·¨²»È¥ ......
Java JNIÊÇJava Native InterfaceµÄËõд£¬ÖÐÎÄ¿ÉÒëΪJava±¾µØµ÷Óá£Java Native Interface (JNI)±ê×¼³ÉΪjavaƽ̨µÄÒ»²¿·Ö£¬ËüÔÊÐíJava´úÂëºÍÆäËûÓïÑÔдµÄ´úÂë½øÐн»»¥¡£±¾ÎÄÏòÄúÏêϸ½éÉÜJava JNI¡£
Java »·¾³ºÍÓïÑÔ¶ÔÓÚÓ¦ÓóÌÐò¿ª·¢À´ËµÊǷdz£°²È«ºÍ¸ßЧµÄ¡£µ«ÊÇ£¬Ò»Ð©Ó¦ÓóÌÐòÈ´ÐèÒªÖ´Ðд¿ Java ³ÌÐòÎÞ·¨Íê³ÉµÄһЩÈÎÎ ......