JavaTM 2
Platform
Std.  Ed.  v1. 4.0

ÆÐŰÁö java.lang.ref

°¡º£Áö ¼öÁý°¡¿ÍÀÇ Á¦ÇѺÎÀÇ ´ëÈ­¸¦ ¼­Æ÷Æ®ÇÏ´Â ÂüÁ¶ ¿ÀºêÁ§Æ® Ŭ·¡½º¸¦ Á¦°øÇÕ´Ï´Ù.

ÂüÁ¶:
          ¼³¸í

Ŭ·¡½ºÀÇ °³¿ä
PhantomReference ÆÒÅÒ ÂüÁ¶ ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù.
Reference ÂüÁ¶ ¿ÀºêÁ§Æ® À¯ÀÍÀÇ Ãß»ó base classÀÔ´Ï´Ù.
ReferenceQueue ÂüÁ¶ Å¥ÀÔ´Ï´Ù.
SoftReference ¸Þ¸ð¸® ¿ä±¸¿¡ ÀÀÇØ °¡º£Áö ¼öÁý°¡ÀÇ ÆÇ´ÜÀ¸·Î Ŭ¸®¾î µÇ´Â ¼ÒÇÁÆ® ÂüÁ¶ ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù.
WeakReference ¾àÂüÁ¶ ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù.
 

ÆÐŰÁö java.lang.ref ÀÇ ¼³¸í

°¡º£Áö ¼öÁý°¡¿ÍÀÇ Á¦ÇѺÎÀÇ ´ëÈ­¸¦ ¼­Æ÷Æ®ÇÏ´Â ÂüÁ¶ ¿ÀºêÁ§Æ® Ŭ·¡½º¸¦ Á¦°øÇÕ´Ï´Ù. ÇÁ·Î±×·¥Àº ÂüÁ¶ ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇØ, ÂüÁ¶ ¿ÀºêÁ§Æ® ÀÌ¿ÜÀÇ ¿ÀºêÁ§Æ®¸¦ ¼öÁý°¡¸¦ Àç»ýÇÒ ¼ö ÀÖ°Ô, ÂüÁ¶ ¿ÀºêÁ§Æ® ÀÌ¿ÜÀÇ ¿ÀºêÁ§Æ®¿¡ÀÇ ÂüÁ¶¸¦ À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, ÁöÁ¤µÈ ¿ÀºêÁ§Æ®ÀÇ µµ´Þ °¡´É¼ºÀÌ º¯°æµÇ¾ú´Ù°í ¼öÁý°¡°¡ ÆÇ´ÜÇÑ µÚ¿¡, ÇÁ·Î±×·¥ÀÌ ÅëÁö¸¦ ¹Þµµ·Ï(µíÀÌ) ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

ÆÐŰÁöÀÇ »ç¾ç

ÂüÁ¶ ¿ÀºêÁ§Æ®´Â ±× ÂüÁ¶ ÀÚü¸¦ ´Ù¸¥ ¿ÀºêÁ§Æ®¿Í °°ÀÌ °Ë»ç ¹× Á¶ÀÛÇÒ ¼ö ÀÖ°Ô Çϱâ À§Çؼ­, ´Ù¸¥ ¿ÀºêÁ§Æ®¿¡ÀÇ ÂüÁ¶¸¦ ĸ½¶È­ÇÕ´Ï´Ù. ¾àÇÑ °ÍÀ¸·ÎºÎÅÍ ¼ø¼­¿¡,¼ÒÇÁÆ®,¹Ì¸¸, ¹×ÆÒÅÒÀ̶ó°í ÇÏ´Â 3 Á¾·ùÀÇ ÂüÁ¶ ¿ÀºêÁ§Æ®°¡ Á¦°øµË´Ï´Ù. °¢ ÇüÀº ´ÙÀ½¿¡ Á¤Àǵǰí ÀÖ°Ô, ´ëÀÀÇÏ´Â µµ´Þ °¡´É¼ºÀÇ ·¹º§ÀÌ °¢°¢ ´Ù¸¨´Ï´Ù. ¼ÒÇÁÆ® ÂüÁ¶´Â ¸Þ¸ð¸®¿¡ ¹Î°¨ÇÑ Ä³½¬¸¦ ±¸ÇöÇϱâ À§Çؼ­ Á¦°øµË´Ï´Ù. ¾àÂüÁ¶´Â Ű ¶Ç´Â °ªÀÌ ÀçÀÌ¿ëµÇ´Â °ÍÀ» ÀúÁöÇÏÁö ¾Ê´Â Ç¥ÁØÈ­ ¸ÅÇÎÀ» ±¸ÇöÇϱâ À§Çؼ­ Á¦°øµË´Ï´Ù. ÆÒÅÒ ÂüÁ¶´Â Java ÀÇ ÆÄÀ̳ª¶óÀÌÁî ±â±¸º¸´Ù À¯¿¬ÇÑ ¹æ¹ýÀ¸·Î, ÇÁ¸®¸ð¸£ÅÛÅ©¸®¾Ð¾ÆÅ©¼ÇÀ» ½ºÄÉÁÙ¸µ Çϱâ À§Çؼ­ Á¦°øµË´Ï´Ù.

°¢ ÇüÀÇ ÂüÁ¶ ¿ÀºêÁ§Æ®´Â Ãß»ó ±âÀú Reference Ŭ·¡½ºÀÇ ¼­ºê Ŭ·¡½º¿¡ ÀÇÇØ ±¸ÇöµË´Ï´Ù. ±×·¯ÇÑ ¼­ºê Ŭ·¡½ºÀÇ ÀνºÅϽº´Â ¸®ÆÄ·»Æ®À¸·Î ºÒ¸®´Â , ƯÁ¤ÀÇ ¿ÀºêÁ§Æ®¿¡ÀÇ ÂüÁ¶¸¦ ĸ½¶È­ÇÕ´Ï´Ù. °¢ ÂüÁ¶ ¿ÀºêÁ§Æ®´Â ÂüÁ¶¸¦ Ãëµæ ¹× Ŭ¸®¾îÇϱâ À§ÇÑ ¸Þ¼Òµå¸¦ Á¦°øÇÕ´Ï´Ù. Ŭ¸®¾î 󸮴 Á¦°øµË´Ï´Ù¸¸, ÂüÁ¶ ¿ÀºêÁ§Æ®´Â ºÒº¯À̱â (À§ÇØ)¶§¹®¿¡,set ¿ÀÆÛ·¹À̼ÇÀº Á¦°øµÇÁö ¾Ê½À´Ï´Ù. ÇÁ·Î±×·¥Àº ÀÌ·¯ÇÑ ¼­ºê Ŭ·¡½º¸¦ ÇÑÃþ ´õ ¼­ºê Ŭ·¡½ºÈ­ÇØ ¸ñÀû¿¡ ÀÖ´ø ÇÊµå ¹× ¸Þ¼Òµå¸¦ Ãß°¡ÇÏ´Â Àϵµ, ÀÌ·¯ÇÑ ¼­ºê Ŭ·¡½º¸¦ º¯°æÇÏÁö ¾Ê°í ±×´ë·Î »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

ÅëÁö

ÇÁ·Î±×·¥Àº ÀûÀýÇÑ ÂüÁ¶ ¿ÀºêÁ§Æ®¸¦ ±×°ÍÀÌ ÀÛ¼ºµÈ ½ÃÁ¡¿¡¼­ ¡¸ÂüÁ¶ Å¥¡¹¿¡ ¡¸µî·Ï¡¹ÇÏ´Â °Í¿¡ ÀÇÇØ, ¿ÀºêÁ§Æ®ÀÇ µµ´Þ °¡´É¼ºÀÌ º¯°æµÈ ÅëÁö¸¦ ¹Þµµ·Ï(µíÀÌ) ¿ä±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸®ÆÄ·»Æ®ÀÇ µµ´Þ °¡´É¼ºÀÌ ±× ÂüÁ¶Çü¿¡ ´ëÀÀÇÏ´Â °ªÀ¸·Î º¯°æµÇ¾ú´Ù°í ÆÇ´ÜÇÑ µÚ¿¡, °¡º£Áö ¼öÁý°¡´Â ±× ÂüÁ¶¸¦ °ü·ÃÇÑ Å¥¿¡ Ãß°¡ÇÕ´Ï´Ù. ÀÌ ½ÃÁ¡¿¡¼­, ÂüÁ¶´Â ¡¸Å¥¿¡ µé¾î°¡ ÀÖ´Ù¡¹¶ó°í º¸¿©Áý´Ï´Ù. ÇÁ·Î±×·¥Àº ÂüÁ¶°¡ ÀÌ¿ë °¡´ÉÇÏ°Ô µÉ ¶§±îÁö Æú¸µ ¶Ç´Â ºí·Ï ÇÏ´Â °Í¿¡ ÀÇÇØ, Å¥·ÎºÎÅÍ ÂüÁ¶¸¦ »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÂüÁ¶ Å¥´Â ReferenceQueue Ŭ·¡½º¿¡ ÀÇÇØ ±¸ÇöµË´Ï´Ù.

µî·ÏµÈ ÂüÁ¶ ¿ÀºêÁ§Æ®¿Í ±× Å¥ÀÇ °ü°è´Â ÇѹæÇâÀÔ´Ï´Ù. Áï, Å¥´Â µî·ÏµÇ¾î ÀÖ´Â ÂüÁ¶ÀÇ È÷½ºÅ丮¸¦ ±â·ÏÇÏÁö ¾Ê½À´Ï´Ù. µî·ÏµÇ¾î ÀÖ´Â ÂüÁ¶ ÀÚü°¡ µµ´Þ ºÒ°¡´ÉÇÏ°Ô µÇ¸é(ÀÚ), ±×°ÍÀº Àý´ë·Î Å¥¿¡ ³Ö¾îÁöÁö ¾Ê½À´Ï´Ù. ÂüÁ¶ ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇØ ÇÁ·Î±×·¥ÀÌ ¸®ÆÄ·»Æ®¸¦ ÇÊ¿ä·Î ÇÏ´Â ÇÑ ¿ÀºêÁ§Æ®¸¦ µµ´Þ °¡´ÉÇÏ°Ô ÇØ µÎ´Â °ÍÀº ÇÁ·Î±×·¥ÀÇ Ã¥ÀÓÀÔ´Ï´Ù.

ÇÁ·Î±×·¥¿¡ µû¶ó¼­´Â 1 kr ÀÌ»óÀÇ Å¥·ÎºÎÅÍÀÇ ÂüÁ¶ ¿ÀºêÁ§Æ®¸¦ »èÁ¦Çϰųª ±×°ÍµéÀ» ó¸®Çϱâ À§Çؼ­ threadÀÇ ÇÒ´çÀ» ¼±ÅÃÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù¸¸, À̰ÍÀº ¹Ýµå½Ã ÇÊ¿ä ¾ø½À´Ï´Ù. ¸¹Àº °æ¿ì¿¡ Àß ±â´ÉÇÏ´Â ¹æ¹ýÀº ²Ï ºó¹øÇÏ°Ô ÇàÇØÁö´Â °Í ¿ÜÀÇ ¾×¼ÇÀ» ½ÇÇàÇÏ´Â µ¿¾È¿¡ ÂüÁ¶ Å¥¸¦ °Ë»çÇÏ´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ¾à۸¦ ±¸ÇöÇϱâ À§Çؼ­ ¾àÂüÁ¶¸¦ »ç¿ëÇÏ´Â ÇØ½Ã Å×À̺íÀÇ °æ¿ì´Â Å×À̺íÀÌ ¾×¼¼½º µÉ ¶§¸¶´Ù ÀÚ½ÅÀÇ ÂüÁ¶ Å¥¿¡ ´ëÇØ¼­ Æú¸µ ÇÕ´Ï´Ù. WeakHashMap Ŭ·¡½º´Â ÀÌ ¹æ¹ýÀ¸·Î ±â´ÉÇÕ´Ï´Ù. ReferenceQueue.poll ¸Þ¼Òµå´Â ´ÜÁö ³»ºÎ µ¥ÀÌÅÍ ±¸Á¶¸¦ üũÇÒ »Ó(¸¸Å­)À̹ǷÎ, ÀÌ Ã¼Å©°¡ ÇØ½Ã Å×ÀÌºí ¾×¼¼½º ¸Þ¼Òµå¿¡°Ô ÁÖ´Â ¿À¹öÇìµå´Â ¸Å¿ì ºÒ°úÀÔ´Ï´Ù.

ÀÚµ¿ÀûÀ¸·Î Ŭ¸®¾î µÇ´Â ÂüÁ¶

¼ÒÇÁÆ® ÂüÁ¶ ¹× ¾àÂüÁ¶´Â ±×°ÍµéÀÌ µî·ÏµÇ¾î Àִ ť¿¡ Ãß°¡µÇ±â Àü¿¡ ¼öÁý°¡¿¡ ÀÇÇØ ÀÚµ¿ÀûÀ¸·Î Ŭ¸®¾î µË´Ï´Ù. ±× ¶§¹®¿¡, ¼ÒÇÁÆ® ÂüÁ¶ ¹× ¾àÂüÁ¶´Â À¯È¿ÇÏ°Ô µÇ±â À§Çؼ­(¶§¹®¿¡) Å¥¿¡ µî·ÏµÉ ÇÊ¿ä´Â ¾ø½À´Ï´Ù (ÆÒÅÒ ÂüÁ¶´Â ÇÊ¿ä). ÆÒÅÒ ÂüÁ¶¸¦ °³ÀÔ½ÃÄÑ °¡´É µµ´ÞÀÎ ¿ÀºêÁ§Æ®´Â ÆÒÅÒ ÂüÁ¶°¡ ¸ðµÎ Ŭ¸®¾î µÇ´ÂÁö ÆÒÅÒ ÂüÁ¶ ÀÚü°¡ ºÒ°¡ µµ´ÞÀÌ µÉ ¶§±îÁö °¡´É µµ´ÞÀÔ´Ï´Ù.

µµ´Þ °¡´É¼º

µµ´Þ °¡´É¼º¿¡´Â ÃÖ°­À¸·ÎºÎÅÍ Ã̸ֹ¸±îÁöÀÇ ·¹º§ÀÌ ÀÖ¾î, À̰ÍÀº ¿ÀºêÁ§Æ®ÀÇ ¶óÀÌÇÁ »çÀÌŬÀ» ¹Ý¿µÇÕ´Ï´Ù. ±×°ÍµéÀº ±â´ÉÀûÀ¸·Î ´ÙÀ½°ú °°ÀÌ Á¤Àǵ˴ϴÙ.

µµÀÔµÈ ¹öÁ¯:
1.2 , 1.2

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ À־ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.