title: GetStringUTFChars and its string copy behavior
body: <p>In the <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.html" rel="nofollow">JNI document</a>, GetStringUTFChars(), which converts a java string <code>jstring</code> to c++ <code>const char*</code>, will return an optional <code>jboolean</code> flag indicating whether it performs copy or not within the function call.  However, the document does not mention when GetStringUTFChars() will or will not perform copy.  My questions are:</p>
  
  <ol>
  <li>Under which condition GetStringUTFChars() will perform a copy?</li>
  <li>Is there any way to avoid copy in GetStringUTFChars()?</li>
  <li>If the answer to question 2. is true, is it suggested to avoid such copy?</li>
  </ol>