All Java8 keywords vs literals

These are the 50 Java keywords that are not allowed to be used as identifiers:
abstract, continue, for, new, switch,
assert, default, if, package, synchronized,
boolean, do, goto, private, this,
break, double, implements, protected, throw,
byte, else, import, public, throws,
case, enum, instanceof, return, transient,
catch, extends, int, short, try,
char, final, interface, static, void,
class, finally, long, strictfp, volatile,
const, float, native, super, while

The const and goto keywords are reserved and not currently used.

You might wonder why null, true, and false have not been mentioned in the list. Those are literals and no keywords. Literals are also in-source values like "this is a string" (String literal) or numbers like "1.234_456d" (double literal).