title: JVM : When does JVM need to copy memory content
body: <p>I just read a wiki <a href="http://en.wikipedia.org/wiki/New_I/O#Channels" rel="nofollow">here</a>, one of the passages said :</p>
  
  <blockquote>
    <p>Although theoretically these are general-purpose data structures, the
    implementation may select memory for alignment or paging
    characteristics, which are not otherwise accessible in Java.
    Typically, this would be used to allow the buffer contents to occupy
    the same physical memory used by the underlying operating system for
    its native I/O operations, thus allowing the most direct transfer
    mechanism, and eliminating the need for any additional copying</p>
  </blockquote>
  
  <p>I am curious about the words "<strong>eliminating the need for any additional copying</strong>", when will JVM need this and why NIO could avoid it ?</p>