Java 9 Disallowed underscore [ _ ] as a one-character identifier

Before Java 9 we could have underscore [ _ ] as a one character identifier.

The following code snippet would be totally fine in Java 8:

public void a(int _) {
//stuff    
}

In Java 9, Java Language Specification designers decided to disallow the usage of [ _ ] as a one character identifier, since future versions of Java could reserve it as a keyword.
So the same code compiled with Java 9 will result compile time error:

public void a(int _) {
//stuff    
}

Error:(24, 21) java: as of release 9, '_' is a keyword, and may not be used as an identifier