java¶àÏß³Ìѧϰ
¹ØÓÚ Java Concurrency
×Ô´ÓJavaµ®Éú֮ʱ£¬Java ¾ÍÖ§³Ö²¢ÐеĸÅÄ±ÈÈçÏ̺߳ÍËø»úÖÆ¡£Õâ¸ö½Ì³Ì°ïÖú¿ª·¢¶àÏß³ÌJava³ÌÐòÔ±Äܹ»Àí½âºËÐĵÄJava²¢ÐÐÀíÄîÒÔ¼°ÈçºÎʹÓÃËûÃÇ¡£ ÄÚÈÝÉæ¼°µ½JavaÓïÑÔÖеÄỊ̈߳¬ ÖØÁ·¼¶ÒÔ¼°ÇáÁ¿¼¶Í¬²½»úÖÆ ÒÔ¼°JavaSE 5 ÖеÄËø£¬Ô×ÓÁ¿ ²¢ÐÐÈÝÆ÷£¬Ï̵߳÷¶È ÒÔ¼°Ïß³ÌÖ´ÐÐÕß¡£ ¿ª·¢ÈËԱʹÓÃÕâЩ֪ʶÄܹ»¿ª·¢ºÃ²¢·¢Ḭ̈߳²È«µÄJava Ó¦ÓóÌÐò¡£
Java ²¢ÐеĸÅÄJava Concurrency Concepts£©
¸ÅÄî
ÃèÊö
Java ÄÚ´æÄ£ÐÍ
ÔÚJavaSE5 JSR133¹æ·¶ÖÐÏêϸ¶¨ÒåÁËJavaÄÚ´æÄ£ÐÍ Java Memory Model£¨JMM£©£¬¸ÃÄ£ÐͶ¨ÒåÁËÏà¹ØµÄ²Ù×÷ ±ÈÈç¶Á,д²Ù×÷£¬ÒÔ¼°ÔÚ¼àÊÓÆ÷ÉϵÄͬ²½¡£ ÕâЩ²Ù×÷°´ Happens-beforeµÄ˳Ðò¡£
Õâ¸ö¶¨Òå±£Ö¤ÁËÒ»¸öÏ߳̿ÉÒÔ¿´µ½ÁíÒ»¸öÏ̲߳Ù×÷µÄ½á¹û£¬Í¬Ê±±£Ö¤ÁËͬ²½µÄ³ÌÐò£¬ ÒÔ¼°ÈçºÎ¶¨ÒåÒ»¸ö²»±äµÄÊôÐÔ µÈµÈ¡£
¼àÊÓÆ÷
ÔÚJavaÖУ¬ÈκÎÒ»¸ö¶ÔÏó¶¼ÓÐÒ»¸ö¼àÊÓÆ÷£¬À´Åų⹲Ïí·ÃÎÊÁÙ½çÇøÓòµÄ´úÂë¡£ÕâЩÁÙ½çÇø¿ÉÒÔÊÇÒ»¸ö·½·¨ »òÕßÊÇÒ»¶Î´úÂë¿é£¬ÕâЩÁÙ½çÇøÓò×÷Ϊͬ²½¿é¡£Ïß³ÌÖ»ÓлñÈ¡¸Ã¼àÊÓÆ÷²ÅÄÜÖ´ÐÐͬ²½¿éµÄ´úÂë¡£µ±Ò»¸öÏ̵߳½´ïÕâ¿é´úÂëÊÇ£¬Ê×ÏȵȴýÀ´È·¶¨ÊÇ·ñÆäËûÏß³ÌÒѾÊÍ·ÅÕâ¸ö¼à¿ØÆ÷¡£¼à¿ØÆ÷³ýÁËÅų⹲Ïí·ÃÎÊ£¬»¹ÄÜͨ¹ýWait ºÍNotifyÀ´Ðµ÷Ïß³ÌÖ®¼äµÄ½»»¥¡£
Ô×ÓÊôÐÔ
³ýÁËDouble ºÍlongÀàÐÍ£¬ÆäËûµÄ¼òµ¥ÀàÐͶ¼ÊÇÔ×ÓÀàÐÍ¡£DoubleºÍlong ÀàÐ͵ÄÐÞ¸ÄÔÚJVM·ÖΪÁ½¸ö²»·â¡£ÎªÁ˱£Ö¤¸üй²ÏíµÄDoubleºÍLongÀàÐÍ£¬ÄãÓ¦¸Ã½«DoubleºÍlong µÄÊôÐÔ×÷ΪVolatile »òÕß½«Ð޸ĴúÂë·ÅÈëͬ²½¿éÖС£
¾ºÕùÇé¿ö
µ±Ðí¶àÏß³ÌÔÚһϵÁеķÃÎʹ²Ïí×ÊÔ´²Ù×÷ÖУ¬²¢ÇÒ½á¹û¸ú²Ù×÷˳±ãÓйØÏµµÄʱºò£¬¾Í·¢ÉúÁ˾ºÕùÇé¿ö¡£
Êý¾Ý¾ºÕù
Êý¾Ý¾ºÕùÉæ¼°µ½µ±Ðí¶àÏ̷߳ÃÎʲ»ÊÇnon-final»òÕßnon-volatile ²¢Ã»ÓкÏÊʵÄͬ²½»úÖÆµÄÊôÐÔʱ£¬JMM²»Äܱ£Ö¤²»Í¬²½µÄ·ÃÎʹ²ÏíµÄÊìϤ¡£Êý¾Ý¾ºÕùµ¼Ö±ȸöÔ¤ÖªµÄÐÐΪ¡£
×Ô¹«²¼
»¹Ã»ÓÐͨ¹ý¹¹Ôì·½·¨ÊµÀý»¯¶ÔÏó֮ǰ£¬°ÑÕâ¸ö¶ÔÏóµÄÒýÓù«²¼Ê±²»°²È«µÄ¡£
Ò»ÖÖÊÇͨ¹ý×¢²áÒ»¸ö¼àÌýÆ÷£¬µ±³õʼ»¯µÄʱºò»Øµ÷À´·¢²¼ÒýÓá£
ÁíÒ»ÖÖÊÇÔÚ¹¹Ôì·½·¨ÀïÃæÆô¶¯Ï̡߳£ÕâÁ½ÖÖ¶¼»áµ¼ÖÂÆäËûÏß³ÌÒýÓò¿·Ö³õʼ»¯µÄ¶ÔÏó¡£
FinalÊôÐÔ
FinalÊôÐÔ±ØÐëÏÔʾµÄ¸³Öµ£¬·ñÔò¾Í»áÓбàÒë´íÎó¡£Ò»µ©¸³Öµ£¬²»Äܱ»Ð޸ġ£½«Ò»¸ö¶ÔÏóÒýÓñê¼ÇΪFinalÖ»Äܱ£Ö¤¸ÃÒýÓò»»á±»Ð޸쬵«¸Ã¶ÔÏó¿ÉÒÔ±»Ð޸ġ£±ÈÈçÒ»¸öFinal ArrayIist²»ÄܸıäΪÁíÒ»¸öArrayList µ«Äã¿ÉÒÔÌí¼Ó»òÕßÐÞ¸ÄÕâ¸öListµÄ¶ÔÏó¡£ÔÚ¹¹Ôì·½·¨
Ïà¹ØÎĵµ£º
¡¡1£® ¼òµ¥¡¢ÃæÏò¶ÔÏóºÍΪÈËËùÊìϤ
¡¡¡¡javaµÄ¼òµ¥Ê×ÏÈÌåÏÖÔÚ¾«¼òµÄϵͳÉÏ£¬Á¦Í¼ÓÃ×îСµÄϵͳʵÏÖ×ã¹»¶àµÄ¹¦ÄÜ£»¶ÔÓ²¼þµÄÒªÇ󲻸ߣ¬ÔÚСÐ͵ļÆËã»úÉϱã¿ÉÒÔÁ¼ºÃµÄÔËÐС£ºÍËùÓеÄÐÂÒ»´úµÄ³ÌÐòÉè¼ÆÓïÑÔÒ»Ñù£¬javaÒ²²ÉÓÃÁËÃæÏò¶ÔÏó¼¼Êõ²¢¸ü¼Ó³¹µ×£¬ËùÓеÄjava³ÌÐòºÍapplet³ÌÐò¾ùÊǶÔÏ󣬷â×°ÐÔʵÏÖÁËÄ£¿é»¯ºÍÐÅÏ¢Òþ²Ø£¬¼Ì³ÐÐÔ ......
³öÏÖÕâ¸ö´íÎó£¬ËÑË÷µ½1¡¢ÐÞ¸Äeclipse.ini£»2¡¢Ìí¼Ó»·¾³±äÁ¿JAVA_OPTS=-Xms64m -Xmx512m£¬3¡¢ÔÚrun configurations->program argumentsÔö¼ÓXms64m -Xmx512m£¬¾ùÎÞЧ¡£
×îºó½â¾ö°ì·¨£¬ÔÚÓëprogram argumentsһǽ֮¸ôµÄVM argumentsÖÐÌí¼ÓXms64m -Xmx512m¸ã¶¨¡£ ......
²»¹ÜÄãÐŲ»ÐÅ£¬¼´Ê¹¶àôÊìÁ·±à³ÌµÄÈËÔ±ÔÚcodingµÄʱºò¶¼»á³öÏÖÒâÏë²»µ½µÄbug¡£ÔÚÉÏÆªÎÄÕÂÖÐÎÒÔøÌáµ½£¬bugµÄÔì³ÉÊǶà¸ö·½ÃæµÄ×ۺϽá¹û£¬ÓÐЩbugÊÇ¿ÉÒÔÐÞ¸´µÄ£¬µ«ÊÇÓÐЩÂß¼ÉϵÄbugÒªÐÞ¸´¿É²»ÊÇÄÇôÈÝÒ×µÄÊÂÇ飬¾ÍÏñÎÒÃÇ×ö´íÁËÒ»¼þÊÂÇ飬Èç¹û²»È¥´Ó¸ù±¾ÉϸÄÕý¾Í»á·¸¸ü´óµÄ´íÎóÒ»Ñù£¬ÓÐʱºòbugÒ²ÊÇÒ»¸ö»ýÀ ......
JXL(Java Excel API)ÊÇÒ»¸öÓÃÀ´¶¯Ì¬¶ÁдExcelÎļþµÄ¿ªÔ´¿ò¼Ü£¬ÀûÓÃËü¿ÉÒÔÔÚÈκÎÖ§³ÖJavaµÄ²Ù×÷ϵͳÉ϶¯Ì¬¶ÁдExcelÎļþ¡£JXLµÄÖ÷Ò³ÊÇ£ºhttp://www.andykhan.com/jexcelapi/£¬¿ÉÒÔÔÚÕâÀïÏÂÔØµ½ËüµÄ×îеİ汾¡£
Äã¿ÉÒÔ·Ö±ðͨ¹ýÈçÏÂÃüÁî
java -jar jxl.jar -xml test.xls
java -jar jxl.jar -cvs test.xls
ÒÔxml ......
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* @author troy(J2EE)
* @version 1.0
*/
public class Test {
public static void main(String[] args) throws Exception {
DateFormat df = DateFormat.getDateInstance();
&n ......