java²¢·¢±à³Ì Executor¿ò¼Ü1
Executor¿ò¼ÜÊÇÖ¸java 5ÖÐÒýÈëµÄһϵÁв¢·¢¿âÖÐÓëexecutorÏà¹ØµÄһЩ¹¦ÄÜÀ࣬ÆäÖаüÀ¨Ï̳߳أ¬Executor£¬Executors£¬ExecutorService£¬CompletionService£¬Future£¬CallableµÈ¡£ËûÃǵĹØÏµÎª£º
²¢·¢±à³ÌµÄÒ»ÖÖ±à³Ì·½Ê½ÊǰÑÈÎÎñ²ð·ÖΪһЩÁеÄСÈÎÎñ£¬¼´Runnable£¬È»ºóÔÚÌá½»¸øÒ»¸öExecutorÖ´ÐУ¬Executor.execute(Runnalbe) ¡£ExecutorÔÚÖ´ÐÐʱʹÓÃÄÚ²¿µÄÏ̳߳ØÍê³É²Ù×÷¡£
Ò»¡¢´´½¨Ï̳߳Ø
ExecutorsÀ࣬ÌṩÁËһϵÁй¤³§·½·¨ÓÃÓÚ´´ÏÈÏ̳߳أ¬·µ»ØµÄÏ̳߳ض¼ÊµÏÖÁËExecutorService½Ó¿Ú¡£
public static ExecutorService newFixedThreadPool(int nThreads)
´´½¨¹Ì¶¨ÊýÄ¿Ï̵߳ÄÏ̳߳ء£
public static ExecutorService newCachedThreadPool()
´´½¨Ò»¸ö¿É»º´æµÄÏ̳߳أ¬µ÷ÓÃexecute ½«ÖØÓÃÒÔǰ¹¹ÔìµÄỊ̈߳¨Èç¹ûÏ߳̿ÉÓã©¡£Èç¹ûÏÖÓÐÏß³ÌûÓпÉÓõģ¬Ôò´´½¨Ò»¸öÐÂÏ̲߳¢Ìí¼Óµ½³ØÖС£ÖÕÖ¹²¢´Ó»º´æÖÐÒÆ³ýÄÇЩÒÑÓÐ 60 ÃëÖÓδ±»Ê¹ÓõÄÏ̡߳£
public static ExecutorService newSingleThreadExecutor()
´´½¨Ò»¸öµ¥Ï̻߳¯µÄExecutor¡£
public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)
´´½¨Ò»¸öÖ§³Ö¶¨Ê±¼°ÖÜÆÚÐÔµÄÈÎÎñÖ´ÐеÄÏ̳߳أ¬¶àÊýÇé¿öÏ¿ÉÓÃÀ´Ìæ´úTimerÀà¡£
Java´úÂë
Executor executor = Executors.newFixedThreadPool(10);
Runnable task = new Runnable() {
@Override
public void run() {
System.out.println("task over");
}
};
executor.execute(task);
executor = Executors.newScheduledThreadPool(10);
ScheduledExecutorService scheduler = (ScheduledExecutorService) executor;
scheduler.scheduleAtFixedRate(task, 10, 10, TimeUnit.SECONDS);
Executor executor = Executors.newFixedThreadPool(10);
Runnable task = new Runnable() {
@Override
public void run() {
System.out.println("task over");
}
};
executor.execute(task);
executor = Executors.newScheduledThreadPool(10);
ScheduledExecutorService scheduler = (ScheduledExecutorS
Ïà¹ØÎĵµ£º
½ñÌìÔÚ¹äÂÛ̳µÄʱºò¿´µ½ÓÐÈ˽ò½òÀÖµÀ£º´ÓC++¸Éµ½×ªÐÍΪjavaÊÇÍ˲½
ÎÒ²»ÈÏΪÊÇÕâÑù£¬Ê×ÏÈÓ¦¸ÃÒ»¸öÈ˵ÄÐËȤ£¬¼ÓÉÏÕâÃÅÓïÑÔ£¬ÕâÃŹ¤×÷ÊÇ·ñ·ûºÏÄã
¸É×Ô¼ºÏ²»¶µÄÓïÑÔ±àÂë²ÅÊÇ×îÖØÒªµÄ£¬µ±È»java±È½ÏÈÝÒ׵㣬ÎÒÒ²ÊÇÕâÑùÈÏΪµÄ
µ«ÊÇjava²¢²»ÊÇ´ó¼ÒËù˵µÄÄÇôÈÝÒ×£¬µ±½ñÉç»á˲»¸Ò˵×Ô¼º»ássh£¬µ±ÊÇ×Ô¼ºÎÊÐÄ×Ô¼ºÑ§µÃÓжàºÃ£¬
ÔÚ ......
¾¡Á¿¸´ÓöÔÏ󣬶ø²»ÊÇ´´½¨ÐµĶÔÏó£¬ÌرðÊǵ±Ò»¸ö¶ÔÏóÊÇimmutable£¨²»¿É¸Ä±ä£©µÄʱºò¡£
ÈçString¶ÔÏó£¬
String s= new String(“String”); ǧÍò²»ÒªÕâÑù×ö£¬ÒòΪÕâÀïʵ¼ÊÉÏ´´½¨ÁËÁ½¸ö¶ÔÏó¡£
Òª±ÜÃâ³öÏÖÕâÑùµÄÇé¿ö£¬
1ÊÇ¿ÉÒÔÓþ²Ì¬¹¤³§º¯Êý£¬À´½â¾ö£¬ÈçÀà¿âÖеÄBoolean.valueOf(“true&rdqu ......
Finalizer ²»¿É¼Æ»®µÄ,Ò²ÊÇΣÏÕµÄ,Ò»°ãÒ²ÊDz»±ØÒªµÄ.
²»ÄÜÔÚfinalizerÖзÅÈκÎÓëÒÀÀµÊ±¼äÏà¹ØµÄ²Ù×÷,ÒòΪÄã²»ÖªµÀËüʲôʱºò±»Ö´ÐÐ. ±ÈÈçÔÚfinalizerÖйرÕÎļþµÄ×ö·¨¾ÍÊÇ´íÎóµÄ, ¸ù¾ÝJVMµÄʵÏÖ·½Ê½²»Í¬,ÓпÉÄܵ¼Ö´ò¿ªµÄÎļþÊý¹ý¶à¶øÎÞ·¨ÔÙ´ò¿ªÎļþ.
Ò²²»ÄÜÔÚfinalizerÖиıä״̬,Èç¸øÊý¾Ý¿â½âËøµÈ.
finalizer»¹ÄÜ´øÀ´Ñ ......
ThreadLocalµÄºËÐÄ˼ÏëºÜ¼òµ¥£ºÎªÃ¿¸ö¶ÀÁ¢µÄÏß³ÌÌṩһ¸ö±äÁ¿µÄ¸±±¾¡£
ThreadLocalÔòʹÓÃÁË“¿½±´¸±±¾”µÄ·½Ê½£¬ÈËÈËÓзݣ¬ÄãÓÃÄãµÄ£¬ÎÒÓÃÎҵ쬴ó¼Ò»¥²»Ó°Ï죬ÊÇ“ÒԿռ任ʱ¼ä”¡£Ã¿¸öÏß³ÌÐ޸ıäÁ¿Ê±£¬Êµ¼ÊÉÏÐ޸ĵÄÊDZäÁ¿µÄ¸±±¾£¬²»ÅÂÓ°Ïìµ½ÆäËüÏ̡߳£
& ......
JavaµÚÈý·½library ecosystemÊÇÒ»¸öºÜ¹ãÀ«µÄ·¶³ë¡£²»¾ÃǰÓÐÈË׫ÎÄ£ºÃ¿¸öÏîÄ¿ÖУ¬Äã±ØÐëÖªµÀµÄ11¸öJavaµÚÈý·½Àà¿â¡£
µ¥Ôª²âÊÔ
1.DBUnit
DBunitÊÇÒ»¸ö»ùÓÚjunitÀ©Õ¹µÄÊý¾Ý¿â²âÊÔ¿ò¼Ü¡£ËüÌṩÁË´óÁ¿µÄÀà¶ÔÓëÊý¾Ý¿âÏà¹ØµÄ²Ù×÷½øÐÐÁ˳éÏóºÍ·â×°¡£
2.MOckito
MockitoÊÇÒ»¸öÕë¶ÔJavaµÄmocking¿ò¼Ü¡£Äã¿ÉÒÔʹÓüò½àµÄAPI±àд ......