title: How do I know whether my Java application uses "native code"?
body: <p>On a <a href="https://stackoverflow.com/questions/7250631/how-do-i-debug-segfaults-occuring-in-the-jvm-when-it-runs-my-code">recent question</a>, I got comments asking whether I was using "native code" in my application. Now, I know that there is some way to call code in traditional binary libraries (DLLs, SOs) from inside a Java application using <a href="http://en.wikipedia.org/wiki/Java_Native_Interface" rel="nofollow noreferrer">a thing called "JNI"</a>. I have read that Wikipedia entry but I never used this.</p>
  
  <p>I am using a number of libraries, some of which may or may not use native code. How do I find out if they do? I did not have to install any SOs (running on Linux), but I guess that doesn't mean the libraries are not using any? Do I have to browse through all the documentation (which varies greatly in quality between libraries) or can I do some analysis on the JARs?</p>