Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ÖÐthrowºÍthrowsµÄÇø±ð

ϵͳ×Ô¶¯Å׳öµÄÒì³£
ËùÓÐϵͳ¶¨ÒåµÄ±àÒëºÍÔËÐÐÒì³£¶¼¿ÉÒÔÓÉϵͳ×Ô¶¯Å׳ö£¬³ÆÎª±ê×¼Òì³££¬²¢ÇÒ Java Ç¿ÁÒµØÒªÇóÓ¦ÓóÌÐò½øÐÐÍêÕûµÄÒì³£´¦Àí£¬¸øÓû§ÓѺõÄÌáʾ£¬»òÕßÐÞÕýºóʹ³ÌÐò¼ÌÐøÖ´ÐС£
Óï¾äÅ׳öµÄÒì³£
Óû§³ÌÐò×Ô¶¨ÒåµÄÒì³£ºÍÓ¦ÓóÌÐòÌØ¶¨µÄÒì³£,±ØÐë½èÖúÓÚ throws ºÍ throw Óï¾äÀ´¶¨ÒåÅ׳öÒì³£¡£
throwÊÇÓï¾äÅ׳ö ......

JavaÓïÑÔÖйؼü×Ö½²½â£¨Ò»£©strictfpµÄÓÃ;

×ÔJava2ÒÔÀ´£¬JavaÓïÑÔÔö¼ÓÁËÒ»¸ö¹Ø¼ü×Östrictfp£¬ËäÈ»Õâ¸ö¹Ø¼ü×ÖÔÚ´ó¶àÊý³¡ºÏ±È½ÏÉÙÓ㬵«ÊÇ»¹ÊÇÓбØÒªÁ˽âһϡ£
strictfp µÄÒâ˼ÊÇFP-strict£¬Ò²¾ÍÊÇ˵¾«È·¸¡µãµÄÒâ˼¡£ÔÚJavaÐéÄâ»ú½øÐи¡µãÔËËãʱ£¬Èç¹ûûÓÐÖ¸¶¨strictfp¹Ø¼ü×Öʱ£¬JavaµÄ±àÒëÆ÷ÒÔ¼°ÔËÐл·¾³ÔÚ¶Ô¸¡µãÔËËãµÄ±í´ïʽÊDzÉȡһÖÖ½üËÆÓÚÎÒÐÐÎÒËØµÄÐÐΪÀ´Íê³É ......

JAVA²¢·¢±à³Ì±Ê¼Ç£¨3£©

Publication and Escape ·¢²¼Ò»¸ö¶ÔÏóÒâζ×ÅÄܹ»´ÓËüÄܹ»´ÓËüµ±Ç°·¶Î§Ö®Íâ±»·ÃÎʵ½¡£±ÈÈ磬±£´æ¿ÉÒÔ±»ÆäËû´úÂëÕÒµ½µÄÕâ¸ö¶ÔÏóµÄÒ»¸öÒýÓ㬻òÕß½«Æä×÷Ϊһ¸ö·Ç˽Óз½·¨µÄ·µ»ØÖµ£¬»òÕß½«Æä×÷Ϊ²ÎÊý´«µÝ¸øÆäËüµÄÀà¡£ public static Set<Secret> knownSecrets;
public void initialize() {
knownSecrets = new Ha ......

Javaѧϰ֮· The Road Of Java Study¡¶×ª¡·

Javaѧϰ֮· --The Road Of Java Study
JAVAÊÇÒ»ÖÖÆ½Ì¨£¬Ò²ÊÇÒ»ÖÖ³ÌÐòÉè¼ÆÓïÑÔ£¬ÈçºÎѧºÃ³ÌÐòÉè¼Æ²»½ö½öÊÊÓÃÓÚJAVA£¬¶ÔC++µÈÆäËû³ÌÐòÉè¼ÆÓïÑÔÒ²Ò»Ñù¹ÜÓá£Óбà³Ì¸ßÊÖÈÏΪ£¬JAVAÒ²ºÃCÒ²ºÃûʲô·Ö±ð£¬ÄÃÀ´¾ÍÓá£ÎªÊ²Ã´ËûÃÇÄÜ´ïµ½Èç´Ë¾³½ç£¿ÎÒÏëÊÇÒòΪ±à³ÌÓïÑÔÖ®¼äÓй²Í¨Ö®´¦£¬Áì»áÁ˱à³ÌµÄ¾«Ë裬×ÔÈ»Äܹ»×öµ½Ò»Í¨°Ùͨ¡£Èçº ......

Java Environment Building in Linux

2010-05-03
Linux AS 4
JDK
Sun JDK
http://java.sun.com/javase/downloads/index.jsp
Download Java SE Development Kit 6u20 for Linux, Multi-language
 Java SE Development Kit 6u20
 jdk-6u20-linux-i586-rpm.bin
Java SE Development Kit 6u20
 jdk-6u20-linux-i586.bin
Notes:ÏÖÔÚµÄJDK ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ