Java¶àÏß³ÌÖ®ThreadLocal_1
ThreadLocalµÄºËÐÄ˼ÏëºÜ¼òµ¥£ºÎªÃ¿¸ö¶ÀÁ¢µÄÏß³ÌÌṩһ¸ö±äÁ¿µÄ¸±±¾¡£
ThreadLocalÔòʹÓÃÁË“¿½±´¸±±¾”µÄ·½Ê½£¬ÈËÈËÓзݣ¬ÄãÓÃÄãµÄ£¬ÎÒÓÃÎҵ쬴ó¼Ò»¥²»Ó°Ï죬ÊÇ“ÒԿռ任ʱ¼ä”¡£Ã¿¸öÏß³ÌÐ޸ıäÁ¿Ê±£¬Êµ¼ÊÉÏÐ޸ĵÄÊDZäÁ¿µÄ¸±±¾£¬²»ÅÂÓ°Ïìµ½ÆäËüÏ̡߳£
ΪÁ˼ÓÉî¶ÔThreadLocalµÄÀí½â£¬ÏÂÃæÎÒʹÓÃÒ»¸öÀý×ÓÀ´ÑÝʾThreadLocalÈçºÎ¸ôÀëÏ̼߳äµÄ±äÁ¿·ÃÎʺÍÐ޸ģº
¡¾1¡¿SerialNumÀà
package example.thread.threadLocal;
public class SerialNum {
private static int nextSerialNum = 1;
@SuppressWarnings("unchecked")
private static ThreadLocal serialNum = new ThreadLocal() {
protected synchronized Object initialValue() {
return new Integer(nextSerialNum++);
}
};
public static int get() {
return ((Integer) (serialNum.get())).intValue();
}
@SuppressWarnings("unchecked")
public static void set(Integer newSerial){
serialNum.set(newSerial);
}
}
¡¾2¡¿GetSerialNumThread package example.thread.threadLocal;
À´Ô´£ºÊÕ¼¯ÕûÀíÓÚ»¥ÁªÍø
Ïà¹ØÎĵµ£º
JAVA³ÌÐòµÄÍâ±í×ÜÊÇÒ»°åÒ»Ñ۵ģ¬¿´¶àÁËÄÑÃâÉóÃÀÆ£ÀÍ£¬Äܲ»ÄÜʹÎÒÃǵÄJAVA³ÌÐòÍâ¹Û±äµÃ¸üÃÀ¹Û¸ü¶ÀÌØÄØ£¿´ð°¸Êǿ϶¨µÄ£¬ÎÒÃÇ¿ÉÒÔÈÃJAVA³ÌÐò¸ù¾ÝͼƬÀ´Éú³É×Ô¶¨ÒåµÄ²»¹æÔò´°Ìå¡£±ÈÈçÏÂͼµÄÕâÖÖÍâ¹Û£º
ͼÖеÄÕâ¸öÈËÎï(ÀÙÃ×ÀòÑÇ)±ãÊǶ¨ÒåºÃµÄ²»¹æÔò´°Ì壬ÔõôÑù£¿ºÜƯÁÁ°É£¡ÄÇôÈÃÎÒÃÇ¿ªÊ¼Ñ§Ï°°É¡£
Ê×ÏÈÒªË ......
Õâ¸öÔÔòºÜ¼òµ¥£¬¾ÍÊÇʹÓÃ˽Óй¹Ô캯Êý·ÀÖ¹À౻ʵÀý»¯¡£
ÓÐʱ£¬ÎÒÃÇ»áдһЩ¹¤¾ßÀ࣬Èçjava.lang.Math »òÊÇ java.util.Arrays, ÕâЩÀàÖж¼ÊǾ²Ì¬º¯Êý£¬ÔÚÉè¼ÆµÄʱºò£¬ÕâЩÀಢ²»ÊÇÓÃÀ´±»ÊµÀý»¯µÄ¡£Õâ¸öʱºò£¬¾ÍºÜÓбØÒª°Ñ¹¹Ô캯Êý˽Óл¯¡£
public class UtilityClass {
private UtilityClass() {
throw new Assertion ......
Finalizer ²»¿É¼Æ»®µÄ,Ò²ÊÇΣÏÕµÄ,Ò»°ãÒ²ÊDz»±ØÒªµÄ.
²»ÄÜÔÚfinalizerÖзÅÈκÎÓëÒÀÀµÊ±¼äÏà¹ØµÄ²Ù×÷,ÒòΪÄã²»ÖªµÀËüʲôʱºò±»Ö´ÐÐ. ±ÈÈçÔÚfinalizerÖйرÕÎļþµÄ×ö·¨¾ÍÊÇ´íÎóµÄ, ¸ù¾ÝJVMµÄʵÏÖ·½Ê½²»Í¬,ÓпÉÄܵ¼Ö´ò¿ªµÄÎļþÊý¹ý¶à¶øÎÞ·¨ÔÙ´ò¿ªÎļþ.
Ò²²»ÄÜÔÚfinalizerÖиıä״̬,Èç¸øÊý¾Ý¿â½âËøµÈ.
finalizer»¹ÄÜ´øÀ´Ñ ......
×î½üÒ»¶Îʱ¼ä¿´µ½ÁËylmf os һʱÊÖÑ÷°²×°ÁË¡£×¼±¸°ÑʹÓÃÖÐÓöµ½µÄÎÊÌâ½øÐмǼ£¬Òѱ»²»Ê±Ö»Ðè¡£
°²×°java·½·¨2ÖÖ£º
µÚÒ»ÖÖ£¬ÔÚÖÕ¶ËÖ´ÐÐÃüÁî½øÐÐÏÂÔØ¡£
´ò¿ªÖÕ¶Ë£¬Ö´ÐÐÒÔÏÂÃüÁϵͳ»á×Ô¶¯ÏÂÔØJDK £¬²¢°²×°¡£
sudo apt-get install sun-java6-jdk
Èç¹û¿Õ¼ä²»¸»Ô£µÄ»°£¬¿ÉÒÔÖ»×°JRE
sudo apt-get install sun-java6- ......