Java±à³ÌÄÇЩʶù68——³éÏóÀàºÍ½Ó¿Ú(Ò»)
8.9 ³éÏóÀàºÍ½Ó¿Ú
ÔÚʵ¼ÊµÄÏîÄ¿ÖУ¬Õû¸öÏîÄ¿µÄ´úÂëÒ»°ã¿ÉÒÔ·ÖΪ½á¹¹´úÂëºÍÂß¼µÄ´úÂë¡£¾ÍÏñ½¨Ôì·¿ÎÝʱ£¬ÐèÒªÊ×ÏȴÕû¸ö·¿ÎݵĽṹ£¬È»ºóÔÙϸ»¯·¿ÎÝÏà¹ØµÄÆäËüµÄ½á¹¹£¬Ò²ÏñÖÆÔìÆû³µÊ±£¬ÐèÒªÊ×ÏÈÖÆ×÷Æû³µµÄ¿ò¼Ü£¬È»ºó²ÅÊǰ²×°Åä¼þÒÔ¼°ÃÀ»¯µÈ¹¤×÷¡£³ÌÐòÏîÄ¿µÄʵÏÖÒ²×ñÑͬÑùµÄµÀÀí¡£
ÔÚÏîÄ¿Éè¼ÆÊ±£¬Ò»¸ö»ù±¾µÄÔÔò¾ÍÊÇ——“Éè¼ÆºÍʵÏÖÏà·ÖÀ딡£Ò²¾ÍÊÇ˵½á¹¹´úÂëºÍÂß¼´úÂëµÄ·ÖÀ룬¾ÍÏñÉè¼ÆÆû³µÊ±Ö»ÐèÒª¹Ø×¢Æû³µµÄÏà¹Ø²ÎÊý£¬¶ø²»±Ø¹ýÓÚ¹ØÐÄÈçºÎʵÏÖÕâЩҪÇóµÄÖÆ×÷¡£³ÌÐòÉè¼ÆÊ±Ò²ÊÇÊ×ÏÈÉè¼ÆÏîÄ¿µÄ½á¹¹£¬¶ø²»Óùý¶àµÄ¹ØÏµÃ¿¸öÂß¼µÄ´úÂëÈçºÎ½øÐÐʵÏÖ¡£
Ç°Ãæ½éÉܵÄÁ÷³Ì¿ØÖÆÖªÊ¶£¬Ö÷Òª½â¾öµÄÊÇÂß¼µÄ´úÂëµÄ±àд£¬¶øÀàºÍ¶ÔÏóµÄ֪ʶ£¬ÔòÖ÷Òª½â¾ö½á¹¹´úÂëµÄ±àд¡£ÄÇô»¹ÓÐÒ»¸öÖ÷ÒªµÄÎÊÌ⣺ÈçºÎÉè¼Æ½á¹¹´úÂëÄØ£¿Õâ¾ÍÐèҪʹÓÃÏÂÃæ½éÉܵijéÏóÀàºÍ½Ó¿ÚµÄ֪ʶÁË¡£
8.9.1 ³éÏóÀà
³éÏóÀà(Abstract Class)ÊÇָʹÓÃabstract¹Ø¼ü×ÖÐÞÊεÄÀ࣬Ҳ¾ÍÊÇÔÚÉùÃ÷Ò»¸öÀàʱ¼ÓÈëÁËabstract¹Ø¼ü×Ö¡£³éÏóÀàÊÇÒ»ÖÖÌØÊâµÄÀ࣬ÆäËüδʹÓÃabstract¹Ø¼ü×ÖÐÞÊεÄÀàÒ»°ã³Æ×÷ʵÌåÀà¡£ÀýÈ磺
public abstract class A{
public A(){}
}
³éÏó·½·¨(Abstract Method)ÊÇָʹÓÃabstract¹Ø¼ü×ÖÐÞÊεķ½·¨¡£³éÏó·½·¨ÊÇÒ»ÖÖÌØÊâµÄ·½·¨£¬ÆäËüδʹÓÃabstract¹Ø¼ü×ÖÐÞÊεķ½·¨Ò»°ã³Æ×÷ʵÌå·½·¨¡£
public abstract void test();
³éÏóÀàºÍʵÌåÀàÏà±È£¬Ö÷ÒªÓÐÒÔÏÂÁ½µã²»Í¬£º
l ³éÏóÀ಻ÄÜʹÓÃ×ÔÉíµÄ¹¹Ôì·½·¨´´½¨¶ÔÏó(Óï·¨²»ÔÊÐí)
ÀýÈçÏÂÃæµÄÓï·¨ÊÇ´íÎóµÄ£º
A a = new A();
µ«ÊdzéÏóÀà¿ÉÒÔÉùÃ÷¶ÔÏó£¬ÀýÈçÏÂÃæµÄ´úÂëÊÇÕýÈ·µÄ£º
A a;
&nb
Ïà¹ØÎĵµ£º
ÖÚËùÖÜÖª£¬ÔÚ³ÌÐò¿ª·¢ÖУ¬ÄÑÃâ»áÓöµ½ÐèҪƥÅä¡¢²éÕÒ¡¢Ìæ»»¡¢ÅжÏ×Ö·û´®µÄÇé¿ö·¢Éú£¬¶øÕâЩÇé¿öÓÐʱÓֱȽϸ´ÔÓ£¬Èç¹ûÓô¿±àÂ뷽ʽ½â¾ö£¬ÍùÍù»áÀ˷ѳÌÐòÔ±µÄʱ¼ä¼°¾«Á¦¡£Òò´Ë£¬Ñ§Ï°¼°Ê¹ÓÃÕýÔò±í´ïʽ£¬±ã³ÉÁ˽â¾öÕâһì¶ÜµÄÖ÷ÒªÊֶΡ£
´ó¼Ò¶¼ÖªµÀ£¬ÕýÔò±í´ïʽÊÇÒ»ÖÖ¿ÉÒÔÓÃÓÚģʽƥÅäºÍÌæ»»µÄ¹æ·¶£¬Ò»¸öÕýÔò±í´ïʽ¾ÍÊÇÓÉÆÕͨµ ......
»º´æ¶ÔÏóÐèÒªÖªµÀ¶ÔÏóÕ¼ÓÿռäµÄ´óС,¿ÉÒÔÊÂÏÈÉèÖúÃÿÖÖÀàÐ͵ĴóС,´Ë·½·¨¶ÔÆÕͨµÄ¶ÔÏóÆðЧ,JiveÂÛ̳ÖеĶÔÏóÒ²ÊDzÉÓÃÕâÖÖ°ì·¨À´»ñÈ¡¶ÔÏóµÄ´óСµÄ(È¡×ÔJive).
public class CacheSizes {
/**
* Returns the size in bytes of a basic Object. This method should only
* be used for actual Object obje ......
ÍøÉÏ¿´µ½Ò»Ð©¸Õ¿ªÊ¼Ñ§»òÊÇ»¹Ã»ÓпªÊ¼Ñ§javaµÄͬѧ£¬¾³£ÎÊ£º“Õâ¸öjava£¬ÎÒ¸ÃÔõôѧ£¬Ñ§Ê²Ã´ÄØ£¿”£¬ÎÒÏë¸øËûÃÇ˵һÏ¡£¿ÉÊÇÎÒµÄÄÜÁ¦ÓÐÏÞ¡£ËùÒÔÎÒÒ²²»ºÃ¶Ôij¸öͬѧ¾ßÌåµÄ˵ʲô£¬¿ÉÊÇ£¬½ñÌìÔÚÍøÉÏ¿´µ½Ò»ÕÅͼƬ¡£¸Ð¾õ¶Ô´ó¼ÒÌá³öµÄÕâ¸öÎÊÌâÓиöºÜºÃµÄ½âÊÍ˵Ã÷¡£
  ......
1£©À¬»ø»ØÊÕµÄÁ½¸ö¹Ø¼üÒªËØ£º
·¢ÏÖÎÞÓöÔÏó¡£
»ØÊÕÎÞÓöÔÏóµÄÄÚ´æ¿Õ¼ä¡£
2£©6ÖÖÀ¬»ø»ØÊÕËã·¨£º
ÒýÓüÆÊý·¨£¬tracing Ëã·¨£¬compactingËã·¨£¬copying Ëã·¨£¬generationËã·¨£¬adaptiveËã·¨¡£
3£©detail£º
ÒýÓüÆÊý·¨(Reference Counting Collector)
ÒýÓüÆÊý·¨ÊÇΨһûÓÐʹÓøù¼¯µÄÀ¬»ø»ØÊÕµÄ ......
1£©¸ÅÄ
ÊÇÔÚÔËÐÐ״̬ÖУ¬¶ÔÓÚÈÎÒâÒ»¸öÀ࣬¶¼Äܹ»ÖªµÀÕâ¸öÀàµÄËùÓÐÊôÐԺͷ½·¨£»¶ÔÓÚÈÎÒâÒ»¸ö¶ÔÏ󣬶¼Äܹ»µ÷ÓÃËüµÄÈÎÒâÒ»¸ö·½·¨£»ÕâÖÖ¶¯Ì¬»ñÈ¡µÄÐÅÏ¢ÒÔ¼°¶¯Ì¬µ÷ÓöÔÏóµÄ·½·¨µÄ¹¦ÄܳÆÎªjavaÓïÑԵķ´Éä»úÖÆ¡£
2£©¹¦ÄÜ£º
ÔÚÔËÐÐʱÅжÏÈÎÒâÒ»¸ö¶ÔÏóËùÊôµÄÀࣻ
ÔÚÔËÐÐʱ ......