JavaÖи÷ÀàCache»úÖÆÊµÏÖ½â¾ö·½°¸
ÎÄÕÂÀ´Ô´£ºhttp://java.chinaitlab.com/base/808164.html
ÔÚJavaÖУ¬²»Í¬µÄÀà¶¼ÓÐ×Ô¼ºµ¥¶ÀµÄCache»úÖÆ£¬ÊµÏֵķ½·¨Ò²¿ÉÄÜÓÐËù²»Í¬£¬ÎÄÕÂÁоÙÁËJavaÖг£¼ûµÄ¸÷ÀàCache»úÖÆµÄʵÏÖ·½·¨£¬Í¬Ê±½øÐÐÁË×ۺϵıȽϡ£
¡¡¡¡OSCache
¡¡¡¡OSCacheÊǸöÒ»¸ö¹ã·º²ÉÓõĸßÐÔÄܵÄJava EE»º´æ¿ò¼Ü£¬OSCacheÄÜÓÃÓÚÈκÎJavaÓ¦ÓóÌÐòµÄÆÕͨµÄ»º´æ½â¾ö·½°¸¡£
¡¡¡¡OSCacheÓÐÒÔÏÂÌØµã£º»º´æÈκζÔÏó£¬Äã¿ÉÒÔ²»ÊÜÏÞÖÆµÄ»º´æ²¿·ÖjspÒ³Ãæ»òHTTPÇëÇó£¬ÈκÎjava¶ÔÏ󶼿ÉÒÔ»º´æ¡£ÓµÓÐÈ«ÃæµÄAPI--OSCache API¸øÄãÈ«ÃæµÄ³ÌÐòÀ´¿ØÖÆËùÓеÄOSCacheÌØÐÔ¡£
¡¡¡¡ÓÀ¾Ã»º´æ--»º´æÄÜËæÒâµÄдÈëÓ²ÅÌ£¬Òò´ËÔÊÐí°º¹óµÄ´´½¨(expensive-to-create)Êý¾ÝÀ´±£³Ö»º´æ£¬ÉõÖÁÄÜÈÃÓ¦ÓÃÖØÆô¡£Ö§³Ö¼¯Èº--¼¯Èº»º´æÊý¾ÝÄܱ»µ¥¸öµÄ½øÐвÎÊýÅäÖ㬲»ÐèÒªÐ޸ĴúÂë¡£»º´æ¼Ç¼µÄ¹ýÆÚ--Äã¿ÉÒÔÓÐ×î´óÏ޶ȵĿØÖÆ»º´æ¶ÔÏóµÄ¹ýÆÚ£¬°üÀ¨¿É²åÈëʽµÄˢвßÂÔ(Èç¹ûĬÈÏÐÔÄܲ»ÐèҪʱ)¡£
¡¡¡¡Java Caching System
¡¡¡¡JSC(Java Caching System)ÊÇÒ»¸öÓ÷ֲ¼Ê½µÄ»º´æÏµÍ³£¬ÊÇ»ùÓÚ·þÎñÆ÷µÄjavaÓ¦ÓóÌÐò¡£ËüÊÇͨ¹ýÌṩ¹ÜÀí¸÷ÖÖ¶¯Ì¬»º´æÊý¾ÝÀ´¼ÓËÙ¶¯Ì¬webÓ¦Óá£JCSºÍÆäËû»º´æÏµÍ³Ò»Ñù£¬Ò²ÊÇÒ»¸öÓÃÓÚ¸ßËÙ¶ÁÈ¡£¬µÍËÙдÈëµÄÓ¦ÓóÌÐò¡£¶¯Ì¬ÄÚÈݺͱ¨±íϵͳÄܹ»»ñµÃ¸üºÃµÄÐÔÄÜ¡£
¡¡¡¡Èç¹ûÒ»¸öÍøÕ¾£¬ÓÐÖØ¸´µÄÍøÕ¾½á¹¹£¬Ê¹ÓüäЪÐÔ¸üз½Ê½µÄÊý¾Ý¿â(¶ø²»ÊÇÁ¬Ðø²»¶ÏµÄ¸üÐÂÊý¾Ý¿â)£¬±»Öظ´ËÑË÷³öÏàͬ½á¹ûµÄ£¬¾ÍÄܹ»Í¨¹ýÖ´Ðлº´æ·½Ê½¸Ä½øÆäÐÔÄܺÍÉìËõÐÔ¡£
¡¡¡¡EHCache
¡¡¡¡EHCacheÊÇÒ»¸ö´¿JavaµÄÔÚ½ø³ÌÖеĻº´æ£¬Ëü¾ßÓÐÒÔÏÂÌØÐÔ£º¿ìËÙ£¬¼òµ¥£¬ÎªHibernate 2.1³äµ±¿É²åÈëµÄ»º´æ£¬×îСµÄÒÀÀµÐÔ£¬È«ÃæµÄÎĵµºÍ²âÊÔ¡£
¡¡¡¡JCache
¡¡¡¡JCacheÊǸö¿ªÔ´³ÌÐò£¬ÕýÔÚŬÁ¦³ÉΪJSR-107¿ªÔ´¹æ·¶£¬JSR-107¹æ·¶ÒѾºÜ¶àÄêû¸Ä±äÁË¡£Õâ¸ö°æ±¾ÈÔÈ»Êǹ¹½¨ÔÚ×î³õµÄ¹¦Äܶ¨ÒåÉÏ¡£
¡¡¡¡ShiftOne
¡¡¡¡ShiftOne Java Object CacheÊÇÒ»¸öÖ´ÐÐһϵÁÐÑϸñµÄ¶ÔÏ󻺴æ²ßÂÔµÄJava lib£¬¾ÍÏñÒ»¸öÇáÁ¿¼¶µÄÅäÖûº´æ¹¤×÷״̬µÄ¿ò¼Ü¡£
¡¡¡¡SwarmCache
¡¡¡¡SwarmCacheÊÇÒ»¸ö¼òµ¥ÇÒÓÐЧµÄ·Ö²¼Ê½»º´æ£¬ËüʹÓÃIP multicastÓëͬһ¸ö¾ÖÓòÍøµÄÆäËûÖ÷»ú½øÐÐͨѶ£¬ÊÇÌØ±ðΪ¼¯ÈººÍÊý¾ÝÇý¶¯webÓ¦ÓóÌÐò¶øÉè¼ÆµÄ¡£SwarmCacheÄܹ»ÈõäÐ͵ĶÁ²Ù×÷´ó´ó³¬¹ýд²Ù×÷µÄÕâÀàÓ¦ÓÃÌṩ¸üºÃµÄÐÔÄÜÖ§³Ö¡£ SwarmCacheʹÓÃJavaGroupsÀ´¹ÜÀí´ÓÊô¹ØÏµºÍ·Ö²¼Ê½»º´æµÄͨѶ¡£
¡¡¡¡TreeCache/JBossCache
¡¡¡¡JBossCacheÊÇÒ»¸ö¸´ÖƵÄÊÂÎñ´¦Àí»º´æ£¬ËüÔÊÐíÄ㻺´æÆóÒµ¼¶Ó¦ÓÃÊý¾ÝÀ´¸üºÃµÄ¸ÄÉÆÐÔÄÜ¡£»º´
Ïà¹ØÎĵµ£º
ListµÄÓ÷¨
List°üÀ¨List½Ó¿ÚÒÔ¼°List½Ó¿ÚµÄËùÓÐʵÏÖÀà¡£ÒòΪList½Ó¿ÚʵÏÖÁËCollection½Ó¿Ú£¬ËùÒÔList½Ó¿ÚÓµÓÐCollection½Ó¿ÚÌṩµÄËùÓг£Ó÷½·¨£¬ÓÖÒòΪListÊÇÁбíÀàÐÍ£¬ËùÒÔList½Ó¿Ú»¹ÌṩÁËһЩÊʺÏÓÚ×ÔÉíµÄ³£Ó÷½·¨£¬Èç±í1Ëùʾ¡£
±í1 List½Ó¿Ú¶¨ÒåµÄ³£Ó÷½·¨¼°¹¦ÄÜ
´Ó±í1¿ÉÒÔ¿´³ö£¬List½Ó¿ÚÌṩµÄÊʺÏÓÚ×ÔÉíµÄ ......
²ÊÎåÁ¬ÖéÓÎÏ·¿ª·¢¹ý³Ì
²ÊÎåÁ¬Ö飬һ¿ªÊ¼½Ð“Îå²ÊÁ¬Ö锣¬Í¬Ñ§¿¹Òé˵²»»áÍæ£¬ÒòΪËýÀí½â³ÉÁËÒª°ÑÎåÖÖ²»Í¬ÑÕÉ«µÄÇòÁ¬³ÉÒ»Ïß²ÅÄÜÓ®£¬¿¼Âǵ½Õâ¸ö±êÌâµÄÈ·ÒýÈËÎó½â£¬ÓÎÏ·ÓÖûÓÐÈκÎ˵Ã÷£¬×îÖÕ°ÑÃû³Æ¸Ä³ÉÁË“²ÊÎåÁ¬Ö锡£ÕâÊÇÒ»¸öºÜ¾µäµÄСÓÎÏ·£¬ºÜ¶àÊÖ»úÀï¶¼ÓУ¬×î½üÒòΪѧϰjava£¬×÷ΪÁ·Ï°£¬°ÑÕâ¸öÓÎÏ·×ö ......
1£© ¾ßÌåÀ಻ÊÇÓÃÀ´¼Ì³ÐµÄ¡£Äܱ»¼Ì³ÐµÄÒ»¶¨ÊdzéÏóÀà¡£
Èç¹ûÔÚÒ»¸öÔʼµÄÉè¼ÆÀÓÐÁ½¸ö¾ßÌåÀ࣬ÀàAºÍÀàB,ÀàBÊÇÀàAµÄ×ÓÀ࣬ÄÇô×îºÃµÄÐ޸ķ½°¸ÊÇ£º
½¨Á¢Ò»¸ö³éÏ󣨻òÕß½Ó¿Ú£©C£¬È»ºóÈÃÀàAºÍÀàB³ÉΪÀàCµÄ×ÓÀà
2)³éÏóÀàÓ¦¾¡¿ÉÄܵÄÓµÓжàµÄ¹²Í¬´úÂë
Ò»¸ö¶ÔÏó´Ó³¬Àà¼Ì³Ð¶øÀ´µÄ´úÂ룬ÔÚ²»Ê¹ÓÃʱ²»»áÔì³É¶Ô×ÊÔ´µÄÀ ......
¿É´ÓIOµÄÀà²ã´Î£¬IO¿ò¼ÜµÄÉè¼ÆÄ£Ê½À´ÂÛÊö¡£
×ÜÌåÀ´Ëµ£¬IO¿ÉÒÔ·ÖΪ×Ö½ÚÁ÷ºÍ×Ö·ûÁ÷£¬²»Í¬ÔÚÓÚ×Ö·ûÁ÷ÓÉ×Ö½ÚÁ÷°ü×°¶øÀ´£¬ÔÚIO¶ÁÈëÖ®ºó¾¹ýJVM´¦Àí£¬°Ñ×Ö½ÚÁ÷ת»»³É×Ö·ûÁ÷¡£¶ø×Ö·ûÁ÷µÄ×Ö·û²ÉÓÃÄÄÖÖ×Ö·û±àÂëʵÏÖÓÉJVMĬÈϱàÂë¾ö¶¨¡£
¶øÃ¿¸öÁ÷¶¼·ÖÊäÈëºÍÊä³ö£¬ËùÒÔ£¬×ÜÌåÀ´Ëµ£¬IOÓÐËĸö¶¥²ãÀࣺ
InputStream
OutputStream ......
ÎÒÃÇÖªµÀ£¬ÔÚJavaÖÐÉèÖñäÁ¿ÖµµÄ²Ù×÷£¬³ýÁËlongºÍdoubleÀàÐ͵ıäÁ¿Íâ¶¼ÊÇÔ×Ó²Ù×÷£¬Ò²¾ÍÊÇ˵£¬¶ÔÓÚ±äÁ¿ÖµµÄ¼òµ¥¶Áд²Ù×÷ûÓбØÒª½øÐÐͬ²½¡£
ÕâÔÚJVM 1.2֮ǰ£¬JavaµÄÄÚ´æÄ£ÐÍʵÏÖ×ÜÊÇ´ÓÖ÷´æ¶ÁÈ¡±äÁ¿£¬ÊDz»ÐèÒª½øÐÐÌØ±ðµÄ×¢ÒâµÄ¡£¶øËæ×ÅJVMµÄ³ÉÊìºÍÓÅ»¯£¬ÏÖÔÚÔÚ¶àÏ̻߳·¾³ÏÂvolatile¹Ø¼ü×ÖµÄʹÓñäµÃ·Ç³£ÖØÒª¡£
ÔÚµ±Ç°µÄ ......