|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ ÆÐŰÁö ´ÙÀ½ÀÇ ÆÐŰÁö | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ |
ÂüÁ¶:
¼³¸í
ÀÎÅÍÆäÀ̽ºÀÇ °³¿ä | |
ByteChannel | ¹ÙÀÌÆ®ÀÇ read¿Í ±âÀÔÀ» ÇÒ ¼ö Àִ ä³ÎÀÔ´Ï´Ù. |
Channel | ÀÔÃâ·Â Á¶ÀÛ¿¡ °ü°èÇϴ ä³ÎÀÔ´Ï´Ù. |
GatheringByteChannel | ¹öÆÛ ¼øÂ÷ ¼ø¼·ÎºÎÅÍ ¹ÙÀÌÆ®¸¦ ±âÀÔÇÒ ¼ö°¡ Àִ ä³ÎÀÔ´Ï´Ù. |
InterruptibleChannel | ºñµ¿±âÀÇ Å¬·Î¿ìÁ ¼¼Ä¡±â°¡ °¡´ÉÇÑ Ã¤³ÎÀÔ´Ï´Ù. |
ReadableByteChannel | ¹ÙÀÌÆ®¸¦ Àо ¼ö°¡ Àִ ä³ÎÀÔ´Ï´Ù. |
ScatteringByteChannel | ¹öÆÛ ¼øÂ÷ ¼ø¼¿¡ ¹ÙÀÌÆ®¸¦ ÀоîµéÀÏ ¼ö°¡ Àִ ä³ÎÀÔ´Ï´Ù. |
WritableByteChannel | ¹ÙÀÌÆ®¸¦ ±âÀÔÇÒ ¼ö°¡ Àִ ä³ÎÀÔ´Ï´Ù. |
Ŭ·¡½ºÀÇ °³¿ä | |
Channels | ä³Î°ú ½ºÆ®¸²À» À§ÇÑ À¯Æ¿¸®Æ¼ ¸Þ¼ÒµåÀÔ´Ï´Ù. |
DatagramChannel | µ¥ÀÌÅÍ ±×·¥Çü ¼ÒÄÏÀÇ ¼±Åà °¡´ÉÇÑ Ã¤³ÎÀÔ´Ï´Ù. |
FileChannel | ÆÄÀÏÀÇ Àоîµé¿©, ±âÀÔÇØ, ¸ÅÇÎ, Á¶ÀÛ¿ë ä³ÎÀÔ´Ï´Ù. |
FileChannel.MapMode | ÆÄÀÏ ¸ÅÇιæ½ÄÀÇ ÇüÅ ÇÁ·ÎÅØ¼ÇµÈ ¿°ÅÀÔ´Ï´Ù. |
FileLock | ÆÄÀÏ area»óÀÇ ¶ôÀ» ³ªÅ¸³»´Â ÅäÅ«ÀÔ´Ï´Ù. |
Pipe | ´Ü¹æÇâ ÆÄÀÌÇÁ¸¦ ±¸ÇöÇÏ´Â 1Á¶ÀÇ Ã¤³ÎÀÔ´Ï´Ù. |
Pipe.SinkChannel | Pipe ÀÇ ±âÀÔÃøÀ» ³ªÅ¸³»´Â ä³ÎÀÔ´Ï´Ù. |
Pipe.SourceChannel | Pipe ÀÇ readÃøÀ» ³ªÅ¸³»´Â ä³ÎÀÔ´Ï´Ù. |
SelectableChannel | Selector °æÀ¯·Î ´ÙÁßÈÇÒ ¼ö Àִ ä³ÎÀÔ´Ï´Ù.
|
SelectionKey | SelectableChannel °¡ Selector ¿¡ µî·ÏµÇ¾î ÀÖ´Â °ÍÀ» ³ªÅ¸³»´Â ÅäÅ«ÀÔ´Ï´Ù.
|
Selector | SelectableChannel ¿ÀºêÁ§Æ®ÀÇ ¸ÖƼÇ÷º¼ÀÔ´Ï´Ù.
|
ServerSocketChannel | ½ºÆ®¸²Çü ¸®½º´×¼ÒÄÏÆ®¿ëÀÇ ¼±Åà °¡´ÉÇÑ Ã¤³ÎÀÔ´Ï´Ù. |
SocketChannel | ½ºÆ®¸²Çü Á¢¼Ó ¼ÒÄÏ¿ëÀÇ ¼±Åà °¡´É ä³ÎÀÔ´Ï´Ù. |
¿¹¿ÜÀÇ °³¿ä | |
AlreadyConnectedException | ¹ú½á Á¢¼ÓµÇ°í ÀÖ´Â SocketChannel ¿¡ÀÇ Á¢¼ÓÀ» ½ÃµµÇßÀ» ¶§¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
AsynchronousCloseException | ´Ù¸¥ thread°¡ ä³Î ¶Ç´Â ÀÔÃâ·Â Á¶À۽ÿ¡ ºí·Ï µÇ´Â ä³ÎÀÇ ÀϺθ¦ Ŭ·Î¿ìÁî ÇßÀ» ¶§¿¡ thread°¡ ¹Þ´Â üũ ¿¹¿ÜÀÔ´Ï´Ù. |
CancelledKeyException | ¹ú½á ¹«È¿°¡ µÈ ¼±Åà ۸¦ »ç¿ëÇÏ·Á°í ÇßÀ» ¶§¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
ClosedByInterruptException | thread°¡ ä³Î¿¡¼ÀÇ ÀÔÃâ·Â Á¶ÀÛÀ¸·Î ºí·Ï µÇ°í ÀÖ´Â °Í¿¡µµ ºÒ±¸Çϰí, ´Ù¸¥ thread·ÎºÎÅÍ ¼¼Ä¡±â¸¦ ¹Þ¾ÒÀ» °æ¿ì¿¡ ¼ö½ÅÇϴ üũ ¿¹¿ÜÀÔ´Ï´Ù. |
ClosedChannelException | Ŭ·Î¿ìÁî ÇÑ Ã¤³Î¿¡ ´ëÇÑ ÀÔÃâ·Â Á¶ÀÛÀ» ½Ç½ÃÇÏ·Á°í ÇßÀ» ¶§, ¶Ç´Â ½ÇÇàÇÏ·Á°í ÇÑ ÀÔÃâ·Â Á¶ÀÛ¿¡ ´ëÇØ¼ ±× ä³ÎÀÌ Å¬·Î¿ìÁî µÇ°í ÀÖ´Â °æ¿ì¿¡ ½½·Î¿ì µÇ´Â üũ ¿¹¿ÜÀÔ´Ï´Ù. |
ClosedSelectorException | Ŭ·Î¿ìÁî ÇÑ ½Ç·ºÅÍ¿¡ ´ëÇÑ ÀÔÃâ·Â Á¶ÀÛÀ» È£ÃâÇÏ·Á°í ÇßÀ» ¶§¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
ConnectionPendingException | ºñºí·Ï Á¢¼Ó Á¶ÀÛÀÇ ÁøÇàÁß¿¡ SocketChannel ¿¡ Á¢¼ÓÇÏ·Á°í ÇßÀ» ¶§ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
FileLockInterruptionException | ÆÄÀÏ ¶ôÀÇ È¹µæÀ» ´ë±âÇϰí ÀÖ´Â thread¿¡ ´ëÇØ¼ ´Ù¸¥ thread·ÎºÎÅÍ ¼¼Ä¡±â°¡ ÀÖ¾úÀ» ¶§¿¡ ¼öÃëµÇ´Â üũ ¿¹¿ÜÀÔ´Ï´Ù. |
IllegalBlockingModeException | ºí·Ï ¸ðµå°¡ ºÎÁ¤Çؿ信, ä³Î»ó¿¡¼ ºí·Ï ¸ðµå °íÀ¯ÀÇ Á¶ÀÛÀ» È£ÃâÇßÀ» ¶§¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
IllegalSelectorException | ä³ÎÀÇ ÀÛ¼º¿øÇÁ·Î¹ÙÀÌ´õ À̿ܰ¡ ÀÛ¼ºÇÑ ½Ç·ºÅÍ¿¡ ä³ÎÀ» µî·ÏÇÏ·Á°í ÇßÀ» ¶§¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
NoConnectionPendingException | SocketChannel ÀÇ connect ¸Þ¼ÒµåÀÇ È£ÃâÀÌ ¾ÆÁ÷ ¿Ï·áÇϰí ÀÖÁö ¾Ê´Âµ¥,finishConnect ¸Þ¼Òµå°¡ ºÒ·Á °¬À» °æ¿ì¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
NonReadableChannelException | óÀ½Àº ÀÐÀ» À§ÇØ(¶§¹®¿¡) ¿ÀǵǾî ÀÖÁö ¾Ê¾Ò´ø ä³Î·ÎºÎÅÍ read¸¦ ½Ç½ÃÇÏ·Á°í ÇßÀ» ¶§¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
NonWritableChannelException | óÀ½Àº ±âÀÔÀ» À§Çؼ(¶§¹®¿¡) ¿ÀǵǾî ÀÖÁö ¾Ê¾Ò´ø ä³Î¿¡ ´ëÇØ¼ ±âÀÔÀ» ½Ç½ÃÇÏ·Á°í ÇßÀ» ¶§¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
NotYetBoundException | ¹Ì¹ÙÀεåÀÇ ¼¹ö ¼ÒÄÏ Ã¤³Î»ó¿¡¼ ÀÔÃâ·Â Á¶ÀÛÀ» È£ÃâÇÏ·Á°í ÇßÀ» ¶§¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
NotYetConnectedException | ¹ÌÁ¢¼ÓÀÇ ¼ÒÄÏ Ã¤³Î»ó¿¡¼ ÀÔÃâ·Â Á¶ÀÛÀ» È£ÃâÇÏ·Á°í ÇßÀ» ¶§¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
OverlappingFileLockException | ¶ôÀ» ȹµæÇÏ·Á°í ÇÑ ÆÄÀÏ area°¡, ¹ú½á °°Àº Java °¡»ó ¸Ó½Å¿¡ ÀÇÇØ ¶ô µÇ°í ÀÖ´Â area¿¡ ¿À¹ö·¦ Çϰí ÀÖ´Â °æ¿ì, ¶Ç´Â ±× ¿ÜÀÇ thread°¡ °°Àº ÆÄÀÏÀÇ ¿À¹ö·¦ Çϰí ÀÖ´Â area¸¦ Àá±×·Á°í ´ë±âÇϰí ÀÖ´Â °æ¿ì¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
UnresolvedAddressException | ¹ÌÇØ°áÀÇ ¼ÒÄÏ ÁÖ¼Ò¿¡ ´ëÇØ¼ ³×Æ®¿öÅ© Á¶ÀÛÀ» È£ÃâÇÏ·Á°í ÇßÀ» ¶§¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
UnsupportedAddressTypeException | ¼Æ÷Æ®µÇ¾î ÀÖÁö ¾ÊÀº ÇüÅÂÀÇ ¼ÒÄÏ ÁÖ¼Ò¿¡ ¹ÙÀÎµå ¶Ç´Â Á¢¼ÓÇÏ·Á°í ÇßÀ» ¶§¿¡ ½½·Î¿ì µÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
ÀÔÃâ·Â Á¶ÀÛÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â ¿£Æ¼Æ¼ (ÆÄÀÏ, ¼ÒÄϵî)¿¡ÀÇ Á¢¼ÓÀ» ³ªÅ¸³»´Â ä³ÎÀ̳ª, ´ÙÁßÈ µÈ ºñºí·Ï ÀÔÃâ·Â Á¶ÀÛ¿ëÀÇ ½Ç·ºÅ͸¦ Á¤ÀÇÇÕ´Ï´Ù.
¡¸Ã¤³Î¡¹Àº ¿£Æ¼Æ¼ (Çϵå¿þ¾î µð¹ÙÀ̽º, ÆÄÀÏ, ³×Æ®¿öÅ© ¼ÒÄϵî)¿¡ÀÇ ¿ÀÇ Á¢¼Ó, ¶Ç´Â 1 °³ ÀÌ»óÀÇ ÀÔÃâ·Â Á¶ÀÛ (Àоîµé¿©, ±âÀÔµî)À» ½ÇÇàÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥ ÄÄÆÛ³ÍÆ®¸¦ ³ªÅ¸³À´Ï´Ù. ½Ì±Û ¹öÆÛ´Â ¾Æ´Ï°í º¹¼öÀÇ ¹öÆÛÀÇ ¼øÂ÷ ¼ø¼¸¦ »ç¿ëÇÏ´Â java.io ÆÐŰÁöÀÇ ½Ç·ºÅÍ, ¼±Åà °¡´É ä³Î, ¼±Åà Ű¿¡ ÀÇÇØ Á¦°øµÇ´Â ´ÙÁßÈ µÈ ºñºí·Ï ÀÔÃâ·ÂÀº thread ÁöÇâÀÇ ºí·Ï ÀÔÃâ·Âº¸´Ù ½ºÄÉÀ̶óºÒÀÔ´Ï´Ù.
½Ç·ºÅʹ¼±Åà °¡´É ä³ÎÀÇ ¸ÖƼÇ÷º¼ÀÔ´Ï´Ù. ¼±Åà °¡´É ä³ÎÀº ºñºí·Ï ¸ðµå·Î ºÐ·ùµÇ´Â Ư¼öÇÑ Ã¤³ÎÀ̱⵵ ÇÕ´Ï´Ù. ´ÙÁßÈ ÀÔÃâ·Â Á¶ÀÛÀ» ½ÇÇàÇÏ°í ½ÍÀº °æ¿ì´Â ¿ì¼± ¼±Åà °¡´É ä³ÎÀ» 1 °³ ÀÌ»ó ÀÛ¼ºÇÕ´Ï´Ù. ´ÙÀ½¿¡, À̰ÍÀ» ºñºí·Ï ¸ðµå·Î ÇØ, ½Ç·ºÅÍ¿¡ ½Ç·ºÅÍ¿¡ ä³ÎÀ» µî·ÏÇϸé(ÀÚ), ¹üÀ§°¡ ¹Ì¸® ¼±¾ðµÇ°í ÀÖ´Â 1 °³ ÀÌ»óÀÇ Á¶ÀÛÀÇ ½ÇÇàÀÌ °¡´ÉÇÏ°Ô µÈ ä³ÎÀ» °ËÃâÇϱâ À§ÇØ(¶§¹®¿¡),¼±Åà Á¶ÀÛÀ» ½ÇÇàÇÕ´Ï´Ù. ä³ÎÀÇ Áغñ°¡ µÇ¾î ÀÖÀ¸¸é, µî·Ï½Ã¿¡ µ¹·ÁÁÖ¾îÁø ۰¡ ½Ç·ºÅÍÀÇ ¡¸¼±Åà Ű ¼¼Æ®¡¹¿¡ Ãß°¡µË´Ï´Ù. ÀÌ Å° ¼¼Æ®¿Í ÀÌ ¼¼Æ®¿¡ Æ÷ÇԵǴ Ű¸¦ Á¶»çÇÏ´Â °ÍÀ¸·Î, °¢ ä³ÎÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â Á¶ÀÛÀ» ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿ä±¸µÈ ÀÔÃâ·Â Á¶ÀÛÀ» ½ÇÇàÇϱâ À§ÇØ(¶§¹®¿¡), °¢ Ű·ÎºÎÅÍ ´ëÀÀÇϴ ä³ÎÀ» ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
¼±Åà Ű´Â ±× ä³ÎÀÌ ÀÖ´Â Á¶ÀÛÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â »óŰ¡ µÇ¾î ÀÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ´Ù¸¸, À̰ÍÀº ´Ü¼øÇÑ ÈùÆ®À̸ç, thread°¡ ºí·Ï µÇ´Â ÀÏ ¾øÀÌ ÀÖ´Â Á¶ÀÛÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â °ÍÀ» ÇÁ·ÎÅØ¼ÇÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ÈùÆ®ÀÇ ³»¿ëÀÌ ºÐ¸íÇÏ°Ô ºÎÁ¤ÇÑ °æ¿ì´Â À̰ÍÀ» ¹«½ÃÇϱâ À§Çؼ, ´ÙÁßÈ ÀÔÃâ·Â 󸮸¦ ½ÇÇàÇÏ´Â Äڵ带 ±âÀÔÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ÀÌ ÆÐŰÁö´Â java.net ÆÐŰÁö¿¡ Á¤Àǵǰí ÀÖ´Â ½Ç·ºÅÍ, ¼±Åà °¡´É ä³Î, ¼±Åà ŰÀÇ ±¸ÇöÀ» ¿Å°Ü³õ°í ½ÍÀº °æ¿ì´Â java.nio.channels.spi ÆÐŰÁö¿¡ Á¤Àǵǰí ÀÖ´Â ´ÙÁßÈ ÀÔÃâ·ÂÀÇ Ãß»óÀ» ±¸ÇöÇϱâ À§Çؼ ÇÊ¿äÇÏ°Ô µÇ´Â µî·Ï ¹× µ¿±â 󸮴 ´ëºÎºÐÀÇ °æ¿ì,java.nio.channels.spi ÆÐŰÁöÀÇ
ä³Î
Channel
ÀÔÃâ·Â Á¶ÀÛÀ» ÇÏ´Â Àå¼Ò
ReadableByteChannel
¹öÆÛ¿¡ÀÇ read¸¦ ½Ç½ÃÇÑ´Ù
ScatteringByteChannel
¹öÆÛ ¼øÂ÷ ¼ø¼¿¡ÀÇ read¸¦ ½Ç½ÃÇÑ´Ù
WritableByteChannel
¹öÆÛ·ÎºÎÅÍÀÇ ¼µÎ¸¦ ½Ç½ÃÇÑ´Ù
GatheringByteChannel
¹öÆÛ ¼øÂ÷ ¼ø¼·ÎºÎÅÍÀÇ ¼µÎ¸¦ ½Ç½ÃÇÑ´Ù
ByteChannel
¹öÆÛ¿¡ÀÇ Àоîµé¿©, ¹öÆÛ·ÎºÎÅÍÀÇ ¼µÎ¸¦ ½Ç½ÃÇÑ´Ù
Channel
ä³Î°ú ½ºÆ®¸²ÀÇ »óÈ£ ¿î¿ëÀ» À§ÇÑ À¯Æ¿¸®Æ¼ ¸Þ¼Òµå
Channel
ÀÎÅÍÆäÀ̽ºÀÇ ÁöÁ¤ ´ë·Î, ä³ÎÀº ¿ÀÇÂÈ Å¬·Î¿ìÁî°¡ µË´Ï´Ù. ¾î´À ÂÊ »óÅÂÀÇ Ã¤³Îµµ, ¡¸ºñµ¿±â Ŭ·Î¿ìÁî °¡´É¡¹ÇÑÆí ¡¸¼¼Ä¡±â °¡´É¡¹ÀÔ´Ï´Ù.
Channel
ÀÎÅÍÆäÀ̽º´Â »õ·Î¿î ÀÔÃâ·Â Á¶ÀÛÀ» ÁöÁ¤ÇÏ´Â º¹¼öÀÇ ÀÎÅÍÆäÀ̽º¿¡ ÀÇÇØ È®ÀåµË´Ï´Ù.
ReadableByteChannel
ÀÎÅÍÆäÀ̽º´Â ä³Î·ÎºÎÅÍ ¹öÆÛ¿¡ ¹ÙÀÌÆ®¸¦ ÀоîµéÀÌ´Â read
¸Þ¼Òµå¸¦ ÁöÁ¤ÇÕ´Ï´Ù. °°ÀÌWritableByteChannel
ÀÎÅÍÆäÀ̽º´Â ¹öÆÛ·ÎºÎÅÍ Ã¤³Î¿¡ ¹ÙÀÌÆ®¸¦ ½á³»´Â write
¸Þ¼Òµå¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ByteChannel
ÀÎÅÍÆäÀ̽º´Â À̰͵é 2 °³ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ÅëÀÏÇÑ ÀÎÅÍÆäÀ̽ºÀ̸ç, ¹ÙÀÌÆ®ÀÇ read¿Í ¼µÎÀÇ ¾çÂÊ ¸ðµÎ¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Â ÀϹÝÀûÀΠä³Î·Î »ç¿ëµË´Ï´Ù.
read
¸Þ¼Òµå¿Í write
¸Þ¼Òµå¸¦ Ãß°¡ÇÏ´Â °ÍÀ¸·Î½á,ScatteringByteChannel
ÀÎÅÍÆäÀ̽º´Â ReadableByteChannel
ÀÎÅÍÆäÀ̽º,GatheringByteChannel
ÀÎÅÍÆäÀ̽º´Â WritableByteChannel
ÀÎÅÍÆäÀ̽º¸¦ È®ÀåÇÕ´Ï´Ù.
Channels
À¯Æ¿¸®Æ¼ Ŭ·¡½º´Â java.io ÆÐŰÁöÀÇ ½ºÆ®¸² Ŭ·¡½º¿Í ÀÌ ÆÐŰÁöÀÇ Ã¤³Î Ŭ·¡½ºÀÇ Á¦ÈÞ¸¦ ¼Æ÷Æ®ÇÏ´Â Á¤Àû ¸Þ¼Òµå¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀûÀýÇÑ Ã¤³ÎÀº InputStream
³ª OutputStream
·ÎºÎÅÍ ±¸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹Ý´ë·Î,InputStream
³ª OutputStream
´Â ´ÜÀÏÀÇ Ã¤³Î·ÎºÎÅÍ ±¸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù. Reader
´Â ÁöÁ¤µÈ ij¸¯ÅÍ ¼¼Æ®¸¦ »ç¿ëÇØ ÁöÁ¤µÈ read °¡´ÉÇÑ ¹ÙÀÌÆ® ä³ÎÀÇ ¹ÙÀÌÆ®¸¦ µðÄÚµåÇϵµ·Ï(µíÀÌ) ±¸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹Ý´ë·Î,Writer
´Â ÁöÁ¤µÈ ij¸¯ÅÍ ¼¼Æ®¸¦ »ç¿ëÇØ ij¸¯Å͸¦ ¹ÙÀÌÆ®¿¡ encode ÇØ, ÁöÁ¤µÈ ±âÀÔ °¡´ÉÇÑ ¹ÙÀÌÆ® ä³Î¿¡ ±âÀÔÇϵµ·Ï(µíÀÌ) ±¸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÆÄÀÏ Ã¤³Î
FileChannel
ÆÄÀÏÀÇ Àоîµé¿©, ±âÀÔÇØ, ¸ÅÇÎ, Á¶ÀÛ
FileLock
ÆÄÀÏÀÇ (areaÀÇ) ¶ô
MappedByteBuffer
ÆÄÀÏ area¿¡ ¸ÅÇÎ µÇ´Â ´ÙÀÌ·ºÆ® byte ¹öÆÛ
FileChannel
Ŭ·¡½º´Â ÇöÀçÀÇ ÆÄÀÏ À§Ä¡ÀÇ Á¶È¸ ¹× º¯°æ, ÆÄÀÏÀÇ ¸»¹ÌÀÇ Àß¶ó¼ ¹ö¸²¿¡ ÀÇÇÑ Æ¯Á¤ÀÇ »çÀÌÁî¿¡ÀÇ º¯°æ¿Ü, ÆÄÀÏ¿¡ Á¢¼ÓµÈ ä³Î·ÎºÎÅÍÀÇ ¹ÙÀÌÆ®ÀÇ Àоîµé¿©, ÆÄÀÏ¿¡ Á¢¼ÓµÈ ä³Î¿¡ÀÇ ¹ÙÀÌÆ®ÀÇ ±âÀÔÀ̶ó°í ÇÑ ÀϹÝÀûÀÎ Á¶ÀÛÀ» ¼Æ÷Æ®ÇÕ´Ï´Ù. ÀÌ Å¬·¡½º´Â ÆÄÀÏ Àüü ¶Ç´Â ÆÄÀϳ»ÀÇ Æ¯Á¤ÀÇ areaÀÇ ¶ôÀ» ȹµæÇÏ´Â ¸Þ¼Òµå¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼Òµå´Â FileLock
Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ µ¹·ÁÁÝ´Ï´Ù. FileChannel
Ŭ·¡½º´Â ÆÄÀÏÀÇ °»½Å ³»¿ëÀ», ÀÌ ÆÄÀÏÀÌ ÀúÀåµÇ°í ÀÖ´Â ±â¾ïÀåÄ¡¿¡ °Á¦ÀûÀ¸·Î ±âÀÔÇÏ´Â ¸Þ¼Òµåµµ Á¤ÀÇÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼Òµå¿¡ ÀÇÇØ, ÆÄÀϰú ±× ¿ÜÀÇ Ã¤³Î°£ÀÇ ¹ÙÀÌÆ®ÀÇ ±³È¯ÀÌ È¿À²ÈµË´Ï´Ù. ¶Ç, ÆÄÀÏ area¸¦ Á÷Á¢ ¸Þ¸ð¸®¿¡ ¸ÅÇÎ ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ÀÌ ¸¶Áö¸· Á¶ÀÛÀ¸·Î ÀÛ¼ºµÇ´Â MappedByteBuffer
Ŭ·¡½ºÀÇ ÀνºÅϽº´Â ÆÄÀÏ °ü·Ã Á¶ÀÛ¿¡ ÀÇÇØ ByteBuffer
Ŭ·¡½º¸¦ È®ÀåÇÕ´Ï´Ù.
FileInputStream
Ŭ·¡½º,FileOutputStream
Ŭ·¡½º,RandomAccessFile
Ŭ·¡½º¿¡´Â getChannel ¸Þ¼Òµå°¡ Ãß°¡µÇ°í ÀÖ½À´Ï´Ù. ÀÌ 3 krÀÇ ÃÄ ¸î°³ÀÇ Å¬·¡½ºÀÇ ÀνºÅϽº»ó¿¡¼ getChannel ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ), ±âº»ÀÌ µÇ´Â ÆÄÀÏ¿¡ Á¢¼ÓµÈ ÆÄÀÏ Ã¤³ÎÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù.
´ÙÁßÈ µÈ ºñºí·Ï ÀÔÃâ·Â
SelectableChannel
´ÙÁßÈ °¡´ÉÇÑ Ã¤³Î
DatagramChannel
java.net.DatagramSocket
ÀÇ Ã¤³Î
Pipe.SinkChannel
ÆÄÀÌÇÁÀÇ ±âÀÔÃø
Pipe.SourceChannel
ÆÄÀÌÇÁÀÇ readÃø
ServerSocketChannel
java.net.ServerSocket
ÀÇ Ã¤³Î
SocketChannel
java.net.Socket
ÀÇ Ã¤³Î
Selector
¼±Åà °¡´É ä³ÎÀÇ ¸ÖƼÇ÷º¼
SelectionKey
½Ç·ºÅÍ¿¡ÀÇ Ã¤³ÎÀÇ µî·ÏÀ» ³ªÅ¸³½´Ù
ÅäÅ«
Pipe
´Ü¹æÇâ ÆÄÀÌÇÁ¸¦ Çü¼ºÇÏ´Â 2 °³ÀÇ Ã¤³Î
ÇÕ´Ï´Ù. ä³ÎÀ» µî·ÏÇϸé(ÀÚ), ÀÏ·ÃÀÇ ÀÔÃâ·Â Á¶ÀÛÀÌ ÁöÁ¤µË´Ï´Ù. ½Ç·ºÅÍ´Â ÁغñÀÇ ÀÏȯÀ¸·Î¼ ÀÌ·¯ÇÑ Á¶ÀÛÀ» Å×½ºÆ®ÇØ, µî·ÏÀ» ³ªÅ¸³»´Â¼±Åà ۸¦ µ¹·ÁÁÝ´Ï´Ù.
µî·Ï
DatagramSocket
Ŭ·¡½º,ServerSocket
Ŭ·¡½º,Socket
Ŭ·¡½º¿¡ ´ëÀÀÇÏ´Â ¼±Åà °¡´É ä³Î Ŭ·¡½º¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Å¬·¡½º¿¡´Â ä³Î¿¡ °ü·ÃÇÑ ¼ÒÄÏÀ» ¼Æ÷Æ®ÇÒ ¼ö ÀÖ°Ô, ¼Ò±Ô¸ðÀÇ º¯°æÀÌ ´õÇØÁö°í ÀÖ½À´Ï´Ù. ÀÌ ÆÐŰÁö´Â ´Ü¹æÇâ ÆÄÀÌÇÁ¸¦ ±¸ÇöÇÏ´Â ´Ü¼øÇÑ Å¬·¡½ºµµ Á¤ÀÇÇÕ´Ï´Ù. »õ·Î¿î ¼±Åà °¡´É ä³ÎÀº Ç×»ó, ´ëÀÀÇϴ Ŭ·¡½ºÀÇ Á¤ÀûÀÎ open ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °Í¿¡ ÀÇÇØ ÀÛ¼ºµË´Ï´Ù. ä³ÎÀÌ °ü·Ã ¼ÒÄÏÀ» ÇÊ¿ä·Î Çϰí ÀÖ´Â °æ¿ì´Â ÀÌ Á¶ÀÛÀÇ ºÎÀÛ¿ëÀ¸·Î¼ ¼ÒÄÏÀÌ ÀÛ¼ºµË´Ï´Ù.
SelectorProvider
Ŭ·¡½ºÀÇ ´ëü Á¤ÀÇ ¶Ç´Â ÀνºÅϽº¸¦ Ç÷¯±× ÀÎ ÇÕ´Ï´Ù. ´Ù¸¸, ÀÌ ±â´ÉÀº ¸ðµç °³¹ßÀÚ¸¦ ´ë»óÀ¸·Î ÇÑ ±â´ÉÀÌ ¾Æ´Õ´Ï´Ù. À̰ÍÀº ¸Å¿ì ³ôÀº ¼º´ÉÀÌ ¿ä±¸µÇ´Â °æ¿ì¿¡, operating system °íÀ¯ÀÇ ÀÔÃâ·Â ´ÙÁßÈ ¸ÞÄ«´ÏÁòÀ» Ȱ¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ´Â »ó±Þ À¯ÀúÀü¿ë ±â´ÉÀÔ´Ï´Ù.
AbstractInterruptibleChannel
Ŭ·¡½º,AbstractSelectableChannel
Ŭ·¡½º,AbstractSelectionKey
Ŭ·¡½º,AbstractSelector
Ŭ·¡½º¿¡ ÀÇÇØ ½ÇÇàµË´Ï´Ù. Ä¿½ºÅÒ ½Ç·ºÅÍ ÇÁ·Î¹ÙÀÌ´õ¸¦ Á¤ÀÇÇÒ ¶§, Á÷Á¢ ¼ºê Ŭ·¡½ºÈ µÇ´Â °ÍÀº AbstractSelector
Ŭ·¡½º¿Í AbstractSelectionKey
Ŭ·¡½º »ÓÀÔ´Ï´Ù. Ä¿½ºÅÒ Ã¤³Î Ŭ·¡½º´Â ÀÌ ÆÐŰÁö¿¡ Á¤Àǵǰí ÀÖ´Â ÀûÀýÇÑ SelectableChannel
¼ºê Ŭ·¡½º¸¦ È®ÀåÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ ÆÐŰÁö ´ÙÀ½ÀÇ ÆÐŰÁö | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ |
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.