Is it correct for Java system properties to be used to set and get arbitrary program parameters?
<p>It is possible using <code>-Dproperty=value</code> arguments to set arbitrary system properties (not some fixed set of system properties actually used by the JVM) and a program can get these properties later using <code>System.getProperty("property")</code>.  Is it correct to do this?</p>

<p>I haven't found an authoritative answer on this, so that's why I'm asking here.  It seems to me that program parameters should be set through command line arguments to the program, not to the JVM.  However, perhaps this is an accepted practice that just isn't documented anywhere I've looked so far.  I'd like to be sure.  Thanks.</p>
