A channel that can read and write bytes. This interface simply unifies
the {@link ReadableByteChannel} and {@link WritableByteChannel}; it does not
specify any new operations.
A {@code Closeable} is a source or destination of data that can be closed.
The close method is invoked to release resources that the object is
holding (such as open files).
This class implements an IP Socket Address (IP address + port number)
It can also be a pair (hostname + port number), in which case an attempt
will be made to resolve the hostname. If resolution fails then the address
is said to be unresolved but can still be used on some circumstances
like connecting through a proxy.
This class represents a Socket Address with no protocol attachment.
As an abstract class, it is meant to be subclassed with a specific,
protocol dependent, implementation.
Checked exception thrown when an attempt is made to invoke or complete an
I/O operation upon channel that is closed, or at least closed to that
operation. That this exception is thrown does not necessarily imply that
the channel is completely closed. A socket channel whose write half has
been shut down, for example, may still be open for reading.