|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀüÀÇ ÆÐŰÁö ´ÙÀ½ÀÇ ÆÐŰÁö | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ |
ÂüÁ¶Ã³:
¼³¸í
ÀÎÅÍÆäÀ̽º °³¿ä | |
---|---|
ByteChannel | ¹ÙÀÌÆ®ÀÇ read¿Í write¸¦ ÇÒ ¼ö Àִ ä³ÎÀÔ´Ï´Ù. |
Channel | ÀÔÃâ·Â Á¶ÀÛ¿¡ °ü°èµÈ ä³ÎÀÔ´Ï´Ù. |
GatheringByteChannel | ¹öÆÛ ¼ø¼·ÎºÎÅÍ ¹ÙÀÌÆ®¸¦ Ãâ·ÂÇÒ ¼ö Àִ ä³ÎÀÔ´Ï´Ù. |
InterruptibleChannel | ºñµ¿±âÀÇ Å¬·Î¿ìÁ ÀÎÅÍ·´Æ®°¡ °¡´ÉÇÑ Ã¤³ÎÀÔ´Ï´Ù. |
ReadableByteChannel | ¹ÙÀÌÆ®¸¦ Àо ¼ö Àִ ä³ÎÀÔ´Ï´Ù. |
ScatteringByteChannel | ¹öÆÛ ¼ø¼¿¡ ¹ÙÀÌÆ®¸¦ ÀоîµéÀÏ ¼ö Àִ ä³ÎÀÔ´Ï´Ù. |
WritableByteChannel | ¹ÙÀÌÆ®¸¦ Ãâ·ÂÇÒ ¼ö Àִ ä³ÎÀÔ´Ï´Ù. |
Ŭ·¡½º °³¿ä | |
---|---|
Channels | ä³Î°ú ½ºÆ®¸²À» À§ÇÑ À¯Æ¿¸®Æ¼ ¸Þ¼µåÀÔ´Ï´Ù. |
DatagramChannel | µ¥ÀÌÅÍ ±×·¥Çü ¼ÒÄÏÀÇ ¼±Åà °¡´ÉÇÑ Ã¤³ÎÀÔ´Ï´Ù. |
FileChannel | ÆÄÀÏÀÇ Àбâ, Ãâ·ÂÇØ, ¸ÅÇÎ, Á¶ÀÛ¿ë ä³ÎÀÔ´Ï´Ù. |
FileChannel.MapMode | ÆÄÀÏ ¸ÅÇιæ½ÄÀÇ ÇüÅ º¸ÁõµÈ ¿°ÅÀÔ´Ï´Ù. |
FileLock | ÆÄÀÏ ¿µ¿ª»óÀÇ ¶ôÀ» ³ªÅ¸³»´Â ÅäÅ«ÀÔ´Ï´Ù. |
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 | óÀ½Àº write¸¦ À§Çؼ ¿ÀǵǾî ÀÖÁö ¾Ê¾Ò´ø ä³Î¿¡ ´ëÇØ¼ write¸¦ ½Ç½ÃÇÏ·Á°í ÇßÀ» ¶§¿¡ ¹ß»ýµÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
NotYetBoundException | ¹Ì¹ÙÀεåÀÇ ¼¹ö ¼ÒÄÏ Ã¤³Î»ó¿¡¼ ÀÔÃâ·Â Á¶ÀÛÀ» È£ÃâÇÏ·Á°í ÇßÀ» ¶§¿¡ ¹ß»ýµÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
NotYetConnectedException | ¹ÌÁ¢¼ÓÀÇ ¼ÒÄÏ Ã¤³Î»ó¿¡¼ ÀÔÃâ·Â Á¶ÀÛÀ» È£ÃâÇÏ·Á°í ÇßÀ» ¶§¿¡ ¹ß»ýµÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
OverlappingFileLockException | ¶ôÀ» ȹµæÇÏ·Á°í ÇÑ ÆÄÀÏ ¿µ¿ªÀÌ, ÀÌ¹Ì °°Àº Java °¡»ó ¸Ó½Å¿¡ ÀÇÇØ ¶ô µÇ°í ÀÖ´Â ¿µ¿ª¿¡ ¿À¹ö·¦ Çϰí ÀÖ´Â °æ¿ì, ¶Ç´Â ±× ¿ÜÀÇ thread°¡ °°Àº ÆÄÀÏÀÇ ¿À¹ö·¦ Çϰí ÀÖ´Â ¿µ¿ªÀ» Àá±×·Á°í ´ë±âÇϰí ÀÖ´Â °æ¿ì¿¡ ¹ß»ýµÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
UnresolvedAddressException | ¹ÌÇØ°áÀÇ ¼ÒÄÏ ÁÖ¼Ò¿¡ ´ëÇØ¼ ³×Æ®¿öÅ© Á¶ÀÛÀ» È£ÃâÇÏ·Á°í ÇßÀ» ¶§¿¡ ¹ß»ýµÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
UnsupportedAddressTypeException | Áö¿ø µÇ¾î ÀÖÁö ¾ÊÀº ÇüÅÂÀÇ ¼ÒÄÏ ÁÖ¼Ò¿¡ ¹ÙÀÎµå ¶Ç´Â Á¢¼ÓÇÏ·Á°í ÇßÀ» ¶§¿¡ ¹ß»ýµÇ´Â üũµÇÁö ¾Ê´Â ¿¹¿ÜÀÔ´Ï´Ù. |
ÀÔÃâ·Â Á¶ÀÛÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â ¿£Æ¼Æ¼ (ÆÄÀÏ, ¼ÒÄϵî)¿¡ÀÇ Á¢¼ÓÀ» ³ªÅ¸³»´Â ä³ÎÀ̳ª, ´ÙÁßÈ µÈ ºñºí·Ï ÀÔÃâ·Â Á¶ÀÛ¿ëÀÇ ¼¿·ºÅ͸¦ Á¤ÀÇÇÕ´Ï´Ù.
ä³Î ¼³¸í ¡¸Ã¤³Î¡¹Àº 1°³
ÀÌ»óÀÇ ÀÔÃâ·Â Á¶ÀÛ (Àбâ, Ãâ·Âµî)À» ½ÇÇàÇÒ ¼ö ÀÖ´Â Çϵå¿þ¾î µð¹ÙÀ̽º, ÆÄÀÏ, ³×Æ®¿öÅ© ¼ÒÄÏ, ÇÁ·Î±×·¥ ÄÄÆÛ³ÍÆ®µîÀÇ ¿£Æ¼Æ¼¿¡ÀÇ ¿ÀÇ Á¢¼ÓÀ» ³ªÅ¸³À´Ï´Ù. ÆÄÀÏ Ã¤³Î ¼³¸í ´ÙÁßÈ µÈ ºñºí·Ï ÀÔÃâ·Â ¼³¸í ¡¸¼¿·ºÅÍ¡¹, ¡¸¼±Åà °¡´É ä³Î¡¹ ¹× ¡¸¼±Åà Ű¡¹¿¡ ÀÇÇØ Á¦°øµÇ´Â ´ÙÁßÈ µÈ ºñºí·Ï ÀÔÃâ·ÂÀº thread ÁöÇâÀÇ ºí·Ï ÀÔÃâ·Âº¸´Ù ½ºÄÉÀ̶óºÒÀÔ´Ï´Ù.
¼¿·ºÅʹ¼±Åà °¡´É ä³ÎÀÇ ¸ÖƼÇ÷º¼ÀÔ´Ï´Ù. ¼±Åà °¡´É ä³ÎÀº, ºñºí·Ï ¸ðµå·Î ºÐ·ùµÇ´Â Ư¼öÇÑ Ã¤³ÎÀ̱⵵ ÇÕ´Ï´Ù. ´ÙÁßÈ µÈ ÀÔÃâ·Â Á¶ÀÛÀ» ½ÇÇàÇÏ°í ½ÍÀº °æ¿ì´Â ¿ì¼± ¼±Åà °¡´É ä³ÎÀ» 1°³
ÀÌ»ó ÀÛ¼ºÇÕ´Ï´Ù. ´ÙÀ½¿¡
À̰ÍÀ» ºñºí·Ï ¸ðµå·Î ÇØ, ¼¿·ºÅÍ¿¡ ¼¿·ºÅÍ¿¡ ä³ÎÀ» µî·ÏÇϸé, ¹üÀ§°¡ ¹Ì¸® ¼±¾ðµÇ°í ÀÖ´Â 1°³
ÀÌ»óÀÇ Á¶ÀÛÀÇ ½ÇÇàÀÌ °¡´ÉÇÏ°Ô µÈ ä³ÎÀ» °ËÃâÇϱâ À§ÇØ, ¼±Åà Á¶ÀÛÀ» ½ÇÇàÇÕ´Ï´Ù. ä³ÎÀÇ Áغñ°¡ µÇ¾î ÀÖÀ¸¸é, µî·Ï½Ã¿¡ ¸®ÅÏµÈ Å°°¡ ¼¿·ºÅÍÀÇ ¡¸¼±Åà Ű ¼¼Æ®¡¹¿¡ Ãß°¡µË´Ï´Ù. ÀÌ Å° ¼¼Æ®¿Í ÀÌ ¼¼Æ®¿¡ Æ÷ÇԵǴ Ű¸¦ Á¶»çÇÏ´Â °ÍÀ¸·Î °¢ ä³ÎÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â Á¶ÀÛÀ» ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿ä±¸µÈ ÀÔÃâ·Â Á¶ÀÛÀ» ½ÇÇàÇϱâ À§ÇØ, °¢ Ű·ÎºÎÅÍ ´ëÀÀÇϴ ä³ÎÀ» ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
¼±Åà Ű´Â ±× ä³ÎÀÌ ÀÖ´Â Á¶ÀÛÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â »óŰ¡ µÇ¾î ÀÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ´Ù¸¸, À̰ÍÀº ´Ü¼øÇÑ ÈùÆ®À̸ç, thread°¡ ºí·Ï µÇ´Â ÀÏ ¾øÀÌ ±× Á¶ÀÛÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â °ÍÀ» º¸ÁõÇÏ´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù. ´ÙÁßÈ ÀÔÃâ·Â 󸮸¦ ½ÇÇàÇÏ´Â ÄÚµå´Â ÈùÆ®ÀÇ ³»¿ëÀÌ À߸øµÇ¾î ÀÖÀ¸¸é ÆÇ¸íµÇ¾úÀ» °æ¿ì¿¡ ±× ÈùÆ®¸¦ ¹«½ÃÇϵµ·Ï ±â¼úÇØ ÁÖ¼¼¿ä.
ÀÌ ÆÐŰÁö´Â ¼¿·ºÅÍ, ¼±Åà °¡´É ä³Î, ¼±Åà ŰÀÇ ±¸ÇöÀ» ¿Å°Ü³õ°í ½ÍÀº °æ¿ì´Â ´ÙÁßÈ ÀÔÃâ·ÂÀÇ Ãß»óÀ» ±¸ÇöÇϱâ À§Çؼ ÇÊ¿äÇÏ°Ô µÇ´Â µî·Ï ¹× µ¿±â ó¸®ÀÇ ´ëºÎºÐÀº,
Channel
ÀÔÃâ·Â Á¶ÀÛÀ» ÇÏ´Â Àå¼Ò ReadableByteChannel
¹öÆÛ¿¡ÀÇ read¸¦ ½Ç½ÃÇÏ´Â ScatteringByteChannel
¹öÆÛ ¼ø¼¿¡ÀÇ read¸¦ ½Ç½ÃÇÏ´Â WritableByteChannel
¹öÆÛ·ÎºÎÅÍÀÇ ¼µÎ¸¦ ½Ç½ÃÇÏ´Â GatheringByteChannel
¹öÆÛ ¼ø¼·ÎºÎÅÍÀÇ ¼µÎ¸¦ ½Ç½ÃÇÏ´Â ByteChannel
¹öÆÛ¿¡ÀÇ Àбâ, ¹öÆÛ·ÎºÎÅÍÀÇ ¼µÎ¸¦ ½Ç½ÃÇÏ´Â Channels
ä³Î°ú ½ºÆ®¸²ÀÇ Á¦ÈÞ¸¦ À§ÇÑ À¯Æ¿¸®Æ¼ ¸Þ¼µå Channel
ÀÎÅÍÆäÀ̽º·Î °¡¸®Å°´Â ´ë·Î ä³ÎÀº ¿ÀÇÂÈ Å¬·Î¿ìÁîÀÇ ¸ÓÁö¾Ê¾ÆÀΰ¡ÀÔ´Ï´Ù. ¾î´À ÂÊ »óÅÂÀÇ Ã¤³Îµµ, ¡¸ºñµ¿±â Ŭ·Î¿ìÁî °¡´É¡¹ÇÑÆí ¡¸ÀÎÅÍ·´Æ® °¡´É¡¹ÀÔ´Ï´Ù.
Channel
l ÀÎÅÍÆäÀ̽º´Â »õ·Î¿î ÀÔÃâ·Â Á¶ÀÛÀ» ÁöÁ¤ÇÏ´Â º¹¼ö¿ÜÀÇ ÀÎÅÍÆäÀ̽º¿¡ ÀÇÇØ È®ÀåµÇ°í ÀÖ½À´Ï´Ù.
ReadableByteChannel
ÀÎÅÍÆäÀ̽º´Â ä³Î·ÎºÎÅÍ ¹öÆÛ¿¡ ¹ÙÀÌÆ®¸¦ ÀоîµéÀÌ´Â read
¸Þ¼µå¸¦ ÁöÁ¤ÇÕ´Ï´Ù. °°ÀÌWritableByteChannel
ÀÎÅÍÆäÀ̽º´Â ¹öÆÛ·ÎºÎÅÍ Ã¤³Î¿¡ ¹ÙÀÌÆ®¸¦ ½á³»´Â write
¸Þ¼µå¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ByteChannel
ÀÎÅÍÆäÀ̽º´Â À̰͵é 2°³ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ÅëÀÏÇÑ ÀÎÅÍÆäÀ̽ºÀ̸ç, ¹ÙÀÌÆ®ÀÇ read¿Í ¼µÎÀÇ ¾çÂÊ ¸ðµÎ¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Â ÀϹÝÀûÀΠä³Î·Î »ç¿ëµË´Ï´Ù.
ScatteringByteChannel
ÀÎÅÍÆäÀ̽º¿Í GatheringByteChannel
ÀÎÅÍÆäÀ̽º´Â °¢°¢ ReadableByteChannel
ÀÎÅÍÆäÀ̽º ¹× WritableByteChannel
ÀÎÅÍÆäÀ̽º¸¦ È®ÀåÇÑ °ÍÀ¸·Î °¢°¢, ´ÜÀÏÀÇ ¹öÆÛ°¡ ¾Æ´Ï°í º¹¼öÀÇ ¹öÆÛÀÇ ¼ø¼¸¦ »ç¿ëÇÏ´Â read
¸Þ¼µå ¹× write
¸Þ¼µå¸¦ Ãß°¡Çϰí ÀÖ½À´Ï´Ù.
Channels
À¯Æ¿¸®Æ¼ Ŭ·¡½º´Â java.io
ÆÐŰÁöÀÇ ½ºÆ®¸² Ŭ·¡½º¿Í ÀÌ ÆÐŰÁöÀÇ Ã¤³Î Ŭ·¡½ºÀÇ Á¦ÈÞ¸¦ Áö¿øÇÏ´Â static ¸Þ¼µå¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀûÀýÇÑ Ã¤³ÎÀ» InputStream
¶Ç´Â OutputStream
·ÎºÎÅÍ ±¸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù
. ¹Ý´ë·ÎInputStream
¶Ç´Â OutputStream
¸¦
ä³Î·ÎºÎÅÍ ±¸ÃàÇÒ ¼öµµ ÀÖ½À´Ï´Ù. Reader
´Â
ÁöÁ¤µÈ ij¸¯Åͼ¸¦ »ç¿ëÇØ ÁöÁ¤µÈ read °¡´É ¹ÙÀÌÆ® ä³ÎÀÇ ¹ÙÀÌÆ®¸¦ µðÄÚµåÇϵµ·Ï ±¸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÑÆí, Writer
ij½¬´Â ÁöÁ¤µÈ ij¸¯Åͼ¸¦ »ç¿ëÇØ ¹®ÀÚ¸¦ ¹ÙÀÌÆ®¿¡ encode ÇØ, ÁöÁ¤µÈ Ãâ·Â °¡´É ¹ÙÀÌÆ® ä³Î¿¡ Ãâ·ÂÇϵµ·Ï ±¸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù.
FileChannel
ÆÄÀÏÀÇ Àбâ, Ãâ·ÂÇØ, ¸ÅÇÎ, Á¶ÀÛ FileLock
ÆÄÀÏÀÇ (¿µ¿ªÀÇ) ¶ô MappedByteBuffer
ÆÄÀÏ ¿µ¿ª¿¡ ¸ÅÇÎ µÇ´Â ´ÙÀÌ·ºÆ® byte ¹öÆÛ FileChannel
Ŭ·¡½º´Â ÆÄÀÏ¿¡ Á¢¼ÓµÈ ä³Î·ÎºÎÅÍÀÇ ¹ÙÀÌÆ®ÀÇ Àбâ, ÆÄÀÏ¿¡ Á¢¼ÓµÈ ä³Î¿¡ÀÇ ¹ÙÀÌÆ®ÀÇ Ãâ·ÂÀ̶ó°í ÇÑ ÀϹÝÀûÀÎ Á¶ÀÛ¿Ü, ÇöÀçÀÇ ÆÄÀÏ À§Ä¡ÀÇ Á¶È¸¶ó°í º¯°æ, ÆÄÀÏ ¸»¹ÌÀÇ Àß¶ó¼ ¹ö¸²¿¡
ÇÑ Æ¯Á¤ »çÀÌÁî¿¡ÀÇ º¯°æÀ» Áö¿ø
ÇÕ´Ï´Ù. ÀÌ Å¬·¡½º´Â ÆÄÀÏ Àüü ¶Ç´Â ÆÄÀϳ»ÀÇ Æ¯Á¤ÀÇ ¿µ¿ªÀÇ ¶ôÀ» ȹµæÇÏ´Â ¸Þ¼µå¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼µå´Â FileLock
Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ ¸®ÅÏÇÕ´Ï´Ù. °Ô´Ù°¡FileChannel
Ŭ·¡½º´Â ÆÄÀÏÀÇ °»½Å ³»¿ëÀ» ±× ÆÄÀÏÀÌ Æ÷ÇԵǰí ÀÖ´Â ±â¾ïÀåÄ¡¿¡ °Á¦ÀûÀ¸·Î Ãâ·ÂÇÏ´Â ¸Þ¼µå³ª, ÆÄÀϰú ±× ¿ÜÀÇ Ã¤³Î°£¿¡ È¿À²ÀûÀ¸·Î ¹ÙÀÌÆ®¸¦ Àü¼Û ÇÏ´Â ¸Þ¼µå³ª, ÆÄÀÏÀÇ ¿µ¿ªÀ» ¸Þ¸ð¸®¿¡ Á÷Á¢ ¸ÅÇÎ ÇÏ´Â ¸Þ¼µå¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀÌ ¸¶Áö¸· Á¶ÀÛÀ» À§Çؼ ÀνºÅϽº¸¦ ÀÛ¼ºÇÏ´Â MappedByteBuffer
Ŭ·¡½º´Â ¸î°³ÀÇ ÆÄÀÏ °ü·Ã Á¶ÀÛÀ» °®Ãá ByteBuffer
Ŭ·¡½º¸¦ È®ÀåÇÑ °ÍÀÔ´Ï´Ù.
java.io
ÆÐŰÁöÀÇ FileInputStream
Ŭ·¡½º, FileOutputStream
Ŭ·¡½º ¹× RandomAccessFile
Ŭ·¡½º¿¡
°¢°¢ getChannel ¸Þ¼µå°¡ Ãß°¡µÇ¾ú½À´Ï´Ù. ÀÌ·¯ÇÑ ÃÄ ¸î°³ÀÇ Å¬·¡½ºÀÇ ÀνºÅϽº¿¡ ´ëÇØ¼ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇϸé, ±âÃÊ¿¡ ÀÖ´Â ÆÄÀÏ¿¡ Á¢¼ÓµÈ ÆÄÀÏ Ã¤³ÎÀÌ ¸®Åϵ˴ϴÙ
.
SelectableChannel
´ÙÁßȰ¡ °¡´ÉÇÑ Ã¤³Î DatagramChannel
java.net.DatagramSocket
¿ëÀÇ Ã¤³Î Pipe.SinkChannel
ÆÄÀÌÇÁÀÇ Ãâ·ÂÃø Pipe.SourceChannel
ÆÄÀÌÇÁÀÇ readÃø ServerSocketChannel
java.net.ServerSocket
¿ëÀÇ Ã¤³Î SocketChannel
java.net.Socket
¿ëÀÇ Ã¤³ÎSelector
¼±Åà °¡´ÉÇÑ Ã¤³ÎÀÇ ¸ÖƼÇ÷º¼ SelectionKey
¼¿·ºÅÍ¿¡ÀÇ Ã¤³ÎÀÇ µî·ÏÀ» ³ªÅ¸³»´Â ÅäÅ« Pipe
´Ü¹æÇâ ÆÄÀÌÇÁ¸¦ Çü¼ºÇÏ´Â 2°³ÀÇ Ã¤³Î µî·Ï
ÇÕ´Ï´Ù. ä³ÎÀ» µî·ÏÇÒ ¶§´Â »ç¿ë °¡´ÉÇѰ¡ ¾î¶²°¡¸¦ ¼¿·ºÅͰ¡ Å×½ºÆ®ÇÏ´Â ÀÏ·ÃÀÇ ÀÔÃâ·Â Á¶ÀÛÀ» ÁöÁ¤ÇÕ´Ï´Ù. ¼¿·ºÅÍ´Â µî·ÏÀ» ³ªÅ¸³»´Â¼±Åà ۸¦ ¸®ÅÏÇÕ´Ï´Ù.
java.net
ÆÐŰÁö·Î Á¤Àǵǰí ÀÖ´Â DatagramSocket
Ŭ·¡½º, ServerSocket
Ŭ·¡½º ¹× Socket
Ŭ·¡½º¿¡ ´ëÀÀÇÏ´Â ¼±Åà °¡´É ä³Î Ŭ·¡½º¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Å¬·¡½º¿¡´Â ä³Î¿¡ °ü·ÃµÈ
¼ÒÄÏÀ» Áö¿ø
ÇÒ ¼ö ÀÖµµ·Ï, ¼Ò±Ô¸ðÀÇ º¯°æÀÌ ´õÇØÁ³½À´Ï´Ù. ÀÌ ÆÐŰÁö´Â ´Ü¹æÇâ ÆÄÀÌÇÁ¸¦ ±¸ÇöÇÏ´Â ´Ü¼øÇÑ Å¬·¡½ºµµ Á¤ÀÇÇÕ´Ï´Ù. ¾î´À °æ¿ì¿¡µµ, »õ·Î¿î ¼±Åà °¡´É ä³ÎÀ» ÀÛ¼ºÇÏ·Á¸é,
´ëÀÀÇϴ Ŭ·¡½ºÀÇ open ¶ó°í ÇÏ´Â static ¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù. ä³ÎÀÌ °ü·Ã ¼ÒÄÏÀ» ÇÊ¿ä·Î Çϰí ÀÖ´Â °æ¿ì´Â ÀÌ Á¶ÀÛÀÇ ºÎÀÛ¿ëÀ¸·Î¼ ¼ÒÄÏÀÌ ÀÛ¼ºµË´Ï´Ù.
java.nio.channels.spi
ÆÐŰÁö·Î Á¤Àǵǰí ÀÖ´Â SelectorProvider
Ŭ·¡½ºÀÇ ´ëü Á¤ÀÇ ¶Ç´Â ÀνºÅϽº¸¦ ¡¸Ç÷¯±× ÀΡ¹ÇÕ´Ï´Ù. ´Ù¸¸, ÀÌ ±â´ÉÀº ¸ðµç °³¹ßÀÚ¸¦ ´ë»óÀ¸·Î ÇÑ ±â´ÉÀÌ ¾Æ´Õ´Ï´Ù. À̰ÍÀº ¸Å¿ì ³ôÀº ¼º´ÉÀÌ ¿ä±¸µÇ´Â °æ¿ì¿¡
OS
°íÀ¯ÀÇ ÀÔÃâ·Â ´ÙÁßÈ ¸ÞÄ«´ÏÁòÀ» Ȱ¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â »ó±Þ »ç¿ëÀÚ
Àü¿ë ±â´ÉÀÔ´Ï´Ù.
java.nio.channels.spi
ÆÐŰÁö AbstractInterruptibleChannel
Ŭ·¡½º, AbstractSelectableChannel
Ŭ·¡½º, AbstractSelectionKey
Ŭ·¡½º ¹× AbstractSelector
Ŭ·¡½º¿¡ ÀÇÇØ ½ÇÇàµË´Ï´Ù. Ä¿½ºÅÒ ¼¿·ºÅÍ ÇÁ·Î¹ÙÀÌ´õ¸¦ Á¤ÀÇÇÒ ¶§´Â AbstractSelector
Ŭ·¡½º¿Í AbstractSelectionKey
Ŭ·¡½º¸¸À» Á÷Á¢ »ó¼ÓÇÕ´Ï´Ù. Ä¿½ºÅÒ Ã¤³Î Ŭ·¡½º´Â ÀÌ ÆÐŰÁö·Î Á¤Àǵǰí ÀÖ´Â ÀûÀýÇÑ SelectableChannel
¼ºê Ŭ·¡½º¸¦ È®ÀåÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀüÀÇ ÆÐŰÁö ´ÙÀ½ÀÇ ÆÐŰÁö | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.