Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

JavaµÄThreadLocalÀàµÄʹÓÃ~~~~~~~~~~~~~~~~~

×ªÔØ×Ô£ºhttp://chenpingtai2008.javaeye.com/blog/253339
ÔçÔÚJava
1.2ÍÆ³ö֮ʱ£¬Javaƽ̨ÖоÍÒýÈëÁËÒ»¸öеÄÖ§³Ö£ºjava.lang.ThreadLocal£¬¸øÎÒÃÇÔÚ±àд¶àÏ̳߳ÌÐòʱÌṩÁËÒ»ÖÖеÄÑ¡Ôñ¡£Ê¹ÓÃ
Õâ¸ö¹¤¾ßÀà¿ÉÒԺܼò½àµØ±àд³öÓÅÃÀµÄ¶àÏ̳߳ÌÐò£¬ËäÈ»ThreadLocal·Ç³£ÓÐÓ㬵«ÊÇËÆºõÏÖÔÚÁ˽âËü¡¢Ê¹ÓÃËüµÄÅóÓÑ»¹²»¶à¡£
¡¡¡¡ ThreadLocalÊÇʲô
¡¡¡¡ ThreadLocalÊÇÊ²Ã´ÄØ£¿ÆäʵThreadLocal²¢·ÇÊÇÒ»¸öÏ̵߳ı¾µØÊµÏÖ°æ±¾£¬Ëü²¢²»ÊÇÒ»¸öThread£¬¶øÊÇthread
local
variable£¨Ïֲ߳̾¿±äÁ¿£©¡£Ò²Ðí°ÑËüÃüÃûΪThreadLocalVar¸ü¼ÓºÏÊÊ¡£Ïֲ߳̾¿±äÁ¿£¨ThreadLocal£©ÆäʵµÄ¹¦Ó÷dz£¼òµ¥£¬
¾ÍÊÇΪÿһ¸öʹÓøñäÁ¿µÄÏ̶߳¼Ìṩһ¸ö±äÁ¿ÖµµÄ¸±±¾£¬ÊÇÿһ¸öÏ̶߳¼¿ÉÒÔ¶ÀÁ¢µØ¸Ä±ä×Ô¼ºµÄ¸±±¾£¬¶ø²»»áºÍÆäËüÏ̵߳ĸ±±¾³åÍ»¡£´ÓÏ̵߳ĽǶȿ´£¬¾ÍºÃÏñÿ
Ò»¸öÏ̶߳¼ÍêȫӵÓиñäÁ¿¡£Ïֲ߳̾¿±äÁ¿²¢²»ÊÇJavaµÄз¢Ã÷£¬ÔÚÆäËüµÄһЩÓïÑÔ±àÒëÆ÷ʵÏÖ£¨ÈçIBM XL
FORTRAN£©ÖУ¬ËüÔÚÓïÑԵIJã´ÎÌṩÁËÖ±½ÓµÄÖ§³Ö¡£ÒòΪJavaÖÐûÓÐÌṩÔÚÓïÑÔ²ã´ÎµÄÖ±½ÓÖ§³Ö£¬¶øÊÇÌṩÁËÒ»¸öThreadLocalµÄÀàÀ´Ìṩ֧
³Ö£¬ËùÒÔ£¬ÔÚJavaÖбàдÏֲ߳̾¿±äÁ¿µÄ´úÂëÏà¶Ô±È½Ï±¿×¾£¬ÕâÒ²ÐíÊÇÏֲ߳̾¿±äÁ¿Ã»ÓÐÔÚJavaÖеõ½ºÜºÃµÄÆÕ¼°µÄÒ»¸öÔ­Òò°É¡£
¡¡¡¡ ThreadLocalµÄÉè¼Æ
¡¡¡¡ Ê×ÏÈ¿´¿´ThreadLocalµÄ½Ó¿Ú£º
¡¡¡¡ ¡¡Object get() ; // ·µ»Øµ±Ç°Ï̵߳ÄÏֲ߳̾¿±äÁ¿¸±±¾ protected Object
initialValue(); // ·µ»Ø¸ÃÏֲ߳̾¿±äÁ¿µÄµ±Ç°Ï̵߳ijõʼֵ
¡¡¡¡¡¡ void set(Object value); // ÉèÖõ±Ç°Ï̵߳ÄÏֲ߳̾¿±äÁ¿¸±±¾µÄÖµ
¡¡¡¡
ThreadLocalÓÐ3¸ö·½·¨£¬ÆäÖÐÖµµÃ×¢ÒâµÄÊÇinitialValue()£¬¸Ã·½·¨ÊÇÒ»¸öprotectedµÄ·½·¨£¬ÏÔÈ»ÊÇΪÁË×ÓÀàÖØÐ´¶øÌØÒâʵ
Ïֵġ£¸Ã·½·¨·µ»Øµ±Ç°Ïß³ÌÔÚ¸ÃÏֲ߳̾¿±äÁ¿µÄ³õʼֵ£¬Õâ¸ö·½·¨ÊÇÒ»¸öÑÓ³Ùµ÷Ó÷½·¨£¬ÔÚÒ»¸öÏ̵߳Ú1´Îµ÷ÓÃget()»òÕßset(Object)ʱ²ÅÖ´ÐУ¬
²¢ÇÒ½öÖ´ÐÐ1´Î¡£ThreadLocalÖеÄȷʵʵÏÖÖ±½Ó·µ»ØÒ»¸önull£º
¡¡¡¡protected Object initialValue() { return null; }
¡¡¡¡ThreadLocalÊÇÈçºÎ×öµ½ÎªÃ¿Ò»¸öÏß³Ìά»¤±äÁ¿µÄ¸±±¾µÄÄØ£¿ÆäʵʵÏÖµÄ˼·ºÜ¼òµ¥£¬ÔÚThreadLocalÀàÖÐÓÐÒ»¸öMap£¬ÓÃÓÚ
´æ´¢Ã¿Ò»¸öÏ̵߳ıäÁ¿µÄ¸±±¾¡£±ÈÈçÏÂÃæµÄʾÀýʵÏÖ£º
¡¡¡¡public class ThreadLocal
¡¡¡¡{
¡¡¡¡ private Map values = Collections.synchronizedMap(new HashMap());
¡¡¡¡ public Object get()
¡¡¡¡ {
¡¡¡¡ Thread curThread = Thread.currentTh


Ïà¹ØÎĵµ£º

Java±äÁ¿Êý¾ÝÀàÐÍ

±äÁ¿£º´æ´¢Êý¾ÝµÄ»ù±¾µ¥Ôª£»Ò»¸öÊý¾Ý´æ´¢¿Õ¼äµÄ±íʾ.
»ù±¾Êý¾ÝÀàÐÍ(8ÖÖ)£º
    byte(1)-->short(2)-->int(4)-->long(8)    float(4)-->double(8)   boolean(1)  char(2)
ÒýÓÃÊý¾ÝÀàÐÍ£º
  
   String¡¢Êý×é¡¢Àà¡¢½Ó¿Ú¡¢¶ÔÏó ......

java Îļþ²Ù×÷

1.
BufferedReader in = new BufferedReader(new FileReader("Ô¶³ÌÎļþ"));
in.readLine() ;
l  ʹÓà Java ²Ù×÷Îı¾ÎļþµÄ·½·¨Ïê½â
http://java.ccidnet.com/art/3737/20041108/523627_1.html
l    FileReader ÊÇʲôÀࣿºÍ FileInputStream ÓÐʲô²»Í¬£¿£¿£¿     
ht ......

JavaµÄÀ༯


Collection:ÊÇ´æ·ÅÒ»×éµ¥ÖµµÄ×î´ó½Ó¿Ú£¬Ã¿¸öÖµ¶¼ÊÇÒ»¸ö¶ÔÏó£¬Ò»°ã²»»áÖ±½ÓʹÓÃCollection½Ó¿Ú
List£ºÊÇCollectionµÄ×Ó½Ó¿Ú£¬¶ÔCollection½øÐÐÁË´óÁ¿µÄÀ©³ä£¬ÀïÃæ´æ·ÅµÄÄÚÈÝ¿ÉÒÔÖØ¸´
Set£ºÊÇCollectionµÄ×ÓÀ࣬ûÓжÔCollection½øÐÐÀ©³ä£¬ÀïÃæ´æ·ÅµÄÄÚÈݲ»ÔÊÐíÖØ¸´
Map£ºÊÇ´æ·ÅÒ»¶ÔÖµµÄ×î´ó½Ó¿Ú£¬½Ó¿ÚÖÐÿ¸öÔªËØ¶¼ÊÇÒ»¶ ......

javaµÄÏà¹Ø¼¼Êõ

     1¡¢JDBC£¨Java Database Connectivity£©ÌṩÁ¬½Ó¸÷ÖÖ¹ØÏµÊý¾Ý¿âµÄͳһ½Ó¿Ú¡£
¡¡¡¡2¡¢EJB(Enterprise JavaBeans)ʹµÃ¿ª·¢Õß·½±ãµØ´´½¨¡¢²¿ÊðºÍ¹ÜÀí¿çƽ̨µÄ»ùÓÚ×é¼þµÄÆóÒµÓ¦Óá£
¡¡¡¡3¡¢Java RMI(Java Remote Method Invocation)ÓÃÀ´¿ª·¢·Ö²¼Ê½JavaÓ¦ÓóÌÐò¡£Ò»¸öJava¶ÔÏóµÄ·½·¨Äܱ»Ô¶³ÌJavaÐéÄâ ......

javaÖеÄsizeof


¹Ø¼ü×Ö: java sizeof
     ÔÚC/C++ÖУ¬µ±ÎÒÃÇÏëÖªµÀÒ»¸ö¶ÔÏó»òÕßÒ»¸öԭʼÊý¾ÝÀàÐÍËùÕ¼ÓõÄÄÚ´æ´óСʱ£¬Ö»Ðè¼òµ¥µ÷ÓÃsizeof²Ù×÷·û¼´¿É£¬µ«ÊÇ£¬ÔÚjavaÖÐÊÇûÓÐÏàÓ¦µÄ²Ù×÷·û»òÕß·½·¨À´Ö±½ÓÍê³ÉÏàÓ¦¹¦Äܵġ£sizeof ÔÚC/C++µÃµ½´óÁ¿µÄÔËÓã¬ÊdzÌÐòÔ±±Ø²»¿ÉÉٵŤ¾ßÖ®Ò»£¬ÄÇôΪʲôjavaÈ´²»Ìá¹©ÄØ£¿Òª»Ø ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ