JavaÖи÷ÀàCache»úÖÆÊµÏÖ½â¾ö·½°¸
ÔÚ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ÊÇÒ»¸ö¸´ÖƵÄÊÂÎñ´¦Àí»º´æ£¬ËüÔÊÐíÄ㻺´æÆóÒµ¼¶Ó¦ÓÃÊý¾ÝÀ´¸üºÃµÄ¸ÄÉÆÐÔÄÜ¡£»º´æÊý¾Ý±»×Ô¶¯¸´ÖÆ£¬ÈÃÄãÇáËɽøÐÐJBoss·þÎñÆ÷Ö®¼äµÄ¼¯Èº¹¤×÷¡£JBossCacheÄܹ»Í¨¹ýJBossÓ¦Ó÷þÎñ»òÆäËûJ2EEÈÝÆ÷À´ÔËÐÐÒ»¸öMBean·þÎñ£
Ïà¹ØÎĵµ£º
JAVAÀà×°ÔØÆ÷classloaderºÍÃüÃû¿Õ¼änamespace
JAVAÐéÄâ»úͨ¹ý×°ÔØ¡¢Á¬½ÓºÍ³õʼ»¯Ò»¸öJAVAÀàÐÍ£¬Ê¹¸ÃÀàÐÍ¿ÉÒÔ±»ÕýÔÚÔËÐеÄJAVA³ÌÐòËùʹÓá£ÆäÖУ¬×°ÔؾÍÊǰѶþ½øÖÆÐÎʽµÄJAVAÀàÐͶÁÈëJAVAÐéÄâ»úÖС£Á¬½Ó¾ÍÊǰÑÕâÖÖÒѾ¶ÁÈëÐéÄâ»úµÄ¶þ½øÖÆÐÎʽµÄÀàÐÍÊý¾ÝºÏ²¢µ½ÐéÄâ»úµÄÔËÐÐʱ״̬ÖÐÈ¥¡£Á¬½Ó½×¶Î·ÖΪÈý¸ö²½Öè£ÑéÖ¤¡¢× ......
C++ÓëJava±È½Ï(ת)
Ó¢ÎÄÔÎÄ£ºhttp://www.javacoffeebreak.com/articles/thinkinginjava/comparingc++andjava.html
“×÷ΪһÃûC++³ÌÐòÔ±£¬ÎÒÃÇÔçÒÑÕÆÎÕÁËÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄ»ù±¾¸ÅÄ¶øÇÒJavaµÄÓï·¨ÎÞÒÉÊǷdz£ÊìϤµÄ¡£ÊÂʵÉÏ£¬Java±¾À´¾ÍÊÇ´ÓC++ÑÜÉú³öÀ´µÄ¡£”
¡¡¡¡È»¶ø£¬C++ºÍJavaÖ®¼äÈÔ´æÔÚһЩÏÔÖøµÄ²îÒ ......
µ¥Ôª²âÊÔ
1.
DBUnit
DBunitÊÇÒ»¸ö»ùÓÚjunitÀ©Õ¹µÄÊý¾Ý¿â²âÊÔ¿ò¼Ü¡£ËüÌṩÁË´óÁ¿µÄÀà¶ÔÓëÊý¾Ý¿âÏà¹ØµÄ²Ù×÷½øÐÐÁ˳éÏóºÍ·â×°¡£
2.MOckito
MockitoÊÇÒ»¸öÕë¶ÔJavaµÄmocking¿ò¼Ü¡£Äã¿ÉÒÔʹÓüò½àµÄAPI±àд³öƯÁÁµÄ²âÊÔ¡£
3.Hamcrest Matchers
Hamcrest ÊÇÒ»¸ö²âÊÔ¸¨Öú¹¤¾ß£¬ÌṩÁËÒ»Ì×ͨÓÃµÄÆ¥Åä·û Matcher£¬Áé»îʹÓÃÕâÐ ......
package test;
import java.util.ArrayList;
import java.util.List;
import org.nuxeo.common.xmap.annotation.XNode;
import org.nuxeo.common.xmap.annotation.XNodeList;
import org.nuxeo.common.xmap.annotation.XObject;
/**
* Book ʵÌå¶ÔÏ󣬴˴¦ÓÃXMap×¢½â
* @author Administra ......
javaÖнӿÚÔÚ¿ª·¢ÖÐÕ¼ÖØÒªµØÎ»
£¨1£©½Ó¿ÚÖеÄËùÓз½·¨¶¼ÊÇpublic abstract
£¨2£©ÔÚ½Ó¿ÚÖÐÉùÃ÷·½·¨Ê±£¬²»ÄÜʹÓÃnative£¬static£¬final£¬synchronized£¬private£¬protectµÈÐÞÊηû£¬¼´Ö»ÄÜʹÓÃpublic abstract£¨Ä¬ÈÏ£©
......