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
Ïà¹ØÎĵµ£º
Ò»¡¢final
¡¡¸ù¾Ý³ÌÐòÉÏÏÂÎÄ»·¾³£¬Java¹Ø¼ü×ÖfinalÓГÕâÊÇÎÞ·¨¸Ä±äµÄ”»òÕß“ÖÕ̬µÄ”º¬Ò壬Ëü¿ÉÒÔÐÞÊηdzéÏóÀà¡¢·Ç³éÏóÀà³ÉÔ±·½·¨ºÍ±äÁ¿¡£Äã¿ÉÄܳöÓÚÁ½ÖÖÀí½â¶øÐèÒª×èÖ¹¸Ä±ä£ºÉè¼Æ»òЧÂÊ¡£
finalÀ಻Äܱ»¼Ì³Ð£¬Ã»ÓÐ×ÓÀ࣬finalÀàÖеķ½·¨Ä¬ÈÏÊÇfinalµÄ¡£
final·½·¨²»Äܱ»×ÓÀàµÄ·½·¨¸²¸Ç£¬µ«¿ÉÒ ......
package com;
import java.util.*;
public class WhatDay {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.setTime(new Date(System.currentTimeMillis()));
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
switch (dayOfWeek) {
ca ......
´Ó±¾ÏµÁÐÇ°ÃæµÄÎÄÕÂÖУ¬ÄúÁ˽⵽·´ÉäµÄÐÔÄܱÈÖ±½Ó·ÃÎÊÒªÂýÐí¶à±¶£¬²¢Á˽âÁËÓà Javassist ºÍ Apache
Byte Code Engineering Library £¨BCEL£©½øÐÐclassworking¡£Java ¹ËÎÊ Dennis
Sosnoski ͨ¹ýÑÝʾÈçºÎʹÓÃÔËÐÐʱ classworking£¬À´ÓÃÈ«ËÙǰ½øµÄÉú³É´úÂëÈ¡´ú·´Éä´úÂ룬´Ó¶ø½áÊøËûµÄ Java ±à³ÌµÄ¶¯Ì¬ÐÔ
ϵÁС£
¼ÈÈ»ÄúÒѾ ......
javaʵÏֵĶàÏîʽ¼Ó·¨£¬¼õ·¨£¬³Ë·¨£¬³ý·¨ÔËË㣬ÆäÖжàÏîʽµÄ±íʾÐÎʽΪ°´Ãݴӵ͵½¸ßµÄϵÊýÊý×飬Êý×éµÄ³¤¶È¼´ÊǶàÏîʽµÄÃÝ
¼´ Êý×é{1,2,3,4} ±íʾ¶àÏîʽ4x3+3x2+2x+1
ÔËËãÔÚ¹¤¾ßÀàPolynÖнøÐÐ ³õʼ»¯Polyn±ØÐëÒª´«Á½¸ö²ÎÊý ¼´±»³ýÊýºÍ³ýÊý
ÆäÖмӷ¨£¬¼õ·¨ºÍ³Ë·¨ÊǾ²Ì¬·½·¨ ²»ÐèʵÀý¼´¿ÉʹÓÃ
³ý·¨ÐèÒª²úÉúÉ̺ÍÓàÊ ......
Java¼¯ÈºÖ®session¹²Ïí½â¾ö·½°¸
À´Ô´£ºhttp://blog.csdn.net/crskyp/archive/2009/11/19/4836685.aspx
Ëæ×Å»¥ÁªÍøµÄÈÕÒæ×³´ó,ÍøÕ¾µÄpvºÍuv³ÉÏßÐÔ»òÕßÖ¸Êý±¶µÄÔö¼Ó.µ¥·þÎñÆ÷µ¥Êý¾Ý¿âÔçÒѾ²»ÄÜÂú×ãʵ¼ÊÐèÇó.±ÈÈçÏñÊ¢´ó,ÌÔ±¦ÕâÑùµÄ´óÐÍÍøÂ繫˾,¸üÊÇÈç´Ë.
¼¯Èº,Ò²¾ÍÊÇÈÃÒ»×鼯Ëã»ú·þÎñÆ÷Ðͬ¹¤×÷ ......