title: Different ways to pass parameters: String args[] or -D?
body: <p>I see many Java use <code>-D</code> option to pass in some parameters.</p>
  
  <p>And the more familiar way is to pass parameters with <code>String[] args</code> to the <code>main</code> method.</p>
  
  <p>So what's the difference between these 2 approaches?</p>
  
  <h2>ADD 1</h2>
  
  <p><strong>Is there any scenario when we must prefer one to the other?</strong></p>