java¶àÏ̱߳à³ÌÒªµã(Èý)
ÔÚJDK1.5֮ǰ£¬¶Ô¸ßÖÊÁ¿Java¶àÏ̲߳¢·¢³ÌÐòÉè¼ÆÊ±£¬Îª·ÀÖ¹³ÌÐò±ÀµôµÈÏÖÏóµÄ³öÏÖ£¬±ÈÈçʹÓÃwait()¡¢notify()ºÍsynchronizedµÈ£¬ÐèÒª¿¼ÂÇÐÔÄÜ¡¢ËÀËø¡¢¹«Æ½ÐÔ¡¢×ÊÔ´¹ÜÀíÒÔ¼°ÈçºÎ±ÜÃâḬ̈߳²È«ÐÔ·½Ãæ´øÀ´µÄΣº¦µÈÖî¶àÒòËØ£¬Í¨³£»á²ÉÓÃһЩ½ÏΪ¸´Ôӵݲȫ²ßÂÔ£¬¼ÓÖØÁ˳ÌÐòÔ±µÄ¿ª·¢¸ºµ£¡£ÔÚJDK1.5³öÏÖÖ®ºó£¬´óÅ£Doug Lee±àдÁËjava.util.concurrent java²¢·¢¹¤¾ß°ü£¬¿ª·¢ÕßÀûÓô˰ü£¬¿É´ó´óÌá¸ß²¢·¢³ÌÐòµÄ¿ª·¢Ð§ÂÊ£¬²¢ÇÒÄÜÓÐЧ·ÀÖ¹×ÊÔ´¾ºÕù¡¢×´Ì¬Ò»ÖºͱÜÃâËÀËø¡£java.util.concurrent°ü·Ö³ÉÁËÈý¸ö²¿·Ö£¬·Ö±ðÊÇjava.util.concurrent¡¢java.util.concurrent.atomicºÍjava.util.concurrent.locks¡£ÄÚÈݺ¸ÇÁ˲¢·¢¼¯ºÏÀà¡¢Ï̳߳ػúÖÆ¡¢Í¬²½»¥³â»úÖÆ¡¢Ḭ̈߳²È«µÄ±äÁ¿¸üй¤¾ßÀà¡¢ËøµÈ³£Óù¤¾ß¡£
1£© java.util.concurren£ºÆäÖ÷ÒªµÄ½Ó¿ÚºÍÀàÓÐExecutor¡¢Executors¡¢ExecutorService¡¢Callable¡¢FutureºÍBlockingQueue£¬Õâ6¸ö½Ó¿ÚºÍÀà¿ÉÈçÏÂÀí½â£º
﹒Executor£º¾ßÌåRunnableÈÎÎñµÄÖ´ÐÐÕߣ»
﹒Executors£ºÌṩÁËһϵÁй¤³§·½·¨ÓÃÓÚ´´ÏÈÏ̳߳أ¬·µ»ØµÄÏ̳߳ض¼ÊµÏÖÁËExecutorService½Ó¿Ú£»
﹒ExecutorService£ºÀ©Õ¹ÁËExecutor²¢Ìí¼ÓÁËһЩÉúÃüÖÜÆÚ¹ÜÀíµÄ·½·¨¡£Ò»¸öExecutorServiceµÄÉúÃüÖÜÆÚÓÐÈýÖÖ״̬£ºÔËÐС¢¹Ø±ÕºÍÖÕÖ¹¡£ExecutorService´´½¨Ê±´¦ÓÚÔËÐÐ״̬£¬µ±µ÷ÓÃExecutorService.shutdown()ºó´¦ÓڹرÕ״̬£¬ËùÓÐÒÑÌí¼ÓµÄÈÎÎñÖ´ÐÐÍê±ÏºóExecutorService´¦ÓÚÖÕֹ״̬£»
¡¡¡¡﹒Future£ºÊÇÓëRunnable,Callable½øÐн»»¥µÄ½Ó¿Ú£¬±ÈÈçÒ»¸öÏß³ÌÖ´ÐнáÊøºóÈ¡·µ»ØµÄ½á¹ûµÈµÈ£¬»¹ÌṩÁËcancelÖÕÖ¹Ị̈߳»
﹒BlockingQueue£º×èÈû¶ÓÁС£
±í¸ñËùʾΪ´úÂëʾÀý£º
package com.thread.test.concurent;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.FutureTask;
i
Ïà¹ØÎĵµ£º
ÔÚjavaÈç¹ûÒ»¸ö³ÉÔ±±»ÉùÃ÷Ϊstatic£¬Ëü¾ÍÄܹ»ÔÚËüµÄÀàµÄÈκζÔÏó´´½¨Ö®Ç°±»·ÃÎÊ£¬¶ø²»±ØÒýÓÃÈκζÔÏó¡£Äã¿ÉÒÔ½«·½·¨ºÍ±äÁ¿¶¼ÉùÃ÷Ϊstatic¡£static ³ÉÔ±µÄ×î³£¼ûµÄÀý×ÓÊÇmain( ) ¡£ÒòΪÔÚ³ÌÐò¿ªÊ¼Ö´ÐÐʱ±ØÐëµ÷ÓÃmain() £¬ËùÒÔËü±»ÉùÃ÷Ϊstatic¡£
ÓÐʱÄãÏ£Íû¶¨ÒåÒ»¸öÀà³ÉÔ±£¬Ê¹ËüµÄʹÓÃÍêÈ«¶ÀÁ¢ÓÚ¸ÃÀàµÄÈκζÔÏó¡£Í¨³ ......
/**
* ¶ÑÅÅÐò
*
* */
public void heapSort(double[] a){
double temp;
initCreateHeap(a);
for(int i = a.length - 1; i > 0; i --){
temp = a[0];
a[0] = a[i];
a[i] = temp;
createHeap(a, i, 0);
}
}
/**
* ½«Êý×é¿´³ÉÍêÈ«¶þ²æÊ÷£¬½¨Á¢×î´ó¶Ñ
* */
private ......
ÉÏѧʱºÜ¶àÎÊÌâµÄ´ð°¸£¬¿ÉÒÔ´ÓÏÂÎÄÕÒµ½
JAVAÓïÑÔѧУµÄΣÏÕÐÔ
×÷ÕߣºJoel Spolsky
ÒëÕߣºÈîÒ»·å
ÔÎÄ£º http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html
ÒëÎĵØÖ·£ºhtt ......
1¡¢http://java.sun.com/
(Ó¢ÎÄ)
SunµÄJavaÍøÕ¾£¬ÊÇÒ»¸öÓ¦¸Ã¾³£È¥¿´µÄµØ·½¡£²»Óöà˵¡£
2¡¢http://www-900.ibm.com/developerWorks/cn/
IBMµÄdeveloperWorksÍøÕ¾£¬Ó¢ÓïºÃµÄÖ±½ÓÈ¥Ó¢ÎÄÖ÷Õ¾µã¿´¡£ÕâÀï²»µ«ÊÇÒ»¸ö¼«ºÃµÄÃæÏò¶ÔÏóµÄ·ÖÎöÉè¼ÆÍøÕ¾£¬Ò²ÊÇWebServices£¬Java£¬Linux¼«ºÃµÄÍøÕ¾¡£Ç¿ÁÒÍÆ¼ö£¡£¡£¡
3¡¢http://www.j ......
Java¼¯ÈºÖ®session¹²Ïí½â¾ö·½°¸
À´Ô´£ºhttp://blog.csdn.net/crskyp/archive/2009/11/19/4836685.aspx
Ëæ×Å»¥ÁªÍøµÄÈÕÒæ×³´ó,ÍøÕ¾µÄpvºÍuv³ÉÏßÐÔ»òÕßÖ¸Êý±¶µÄÔö¼Ó.µ¥·þÎñÆ÷µ¥Êý¾Ý¿âÔçÒѾ²»ÄÜÂú×ãʵ¼ÊÐèÇó.±ÈÈçÏñÊ¢´ó,ÌÔ±¦ÕâÑùµÄ´óÐÍÍøÂ繫˾,¸üÊÇÈç´Ë.
¼¯Èº,Ò²¾ÍÊÇÈÃÒ»×鼯Ëã»ú·þÎñÆ÷Ðͬ¹¤×÷ ......