<p>
The Java Language Specification recommends listing modifiers in the following order:
</p>

<ul>
  <li>Annotations</li>
  <li><code>public</code></li>
  <li><code>protected</code></li>
  <li><code>private</code></li>
  <li><code>abstract</code></li>
  <li><code>static</code></li>
  <li><code>final</code></li>
  <li><code>transient</code></li>
  <li><code>volatile</code></li>
  <li><code>synchronized</code></li>
  <li><code>native</code></li>
  <li><code>strictfp</code></li>
</ul>

<p>
Not following this convention has no technical impact, but will reduce the code's readability because most developers are used to the standard order.
</p>

<p>
The following code:
</p>

<pre>
static public void main(String[] args) {   // Non-Compliant
}
</pre>

<p>
should be refactored into:
</p>

<pre>
public static void main(String[] args) {   // Compliant
}
</pre>