fundamental Java features
abstract
arrays
assignments
bit operations
case
casting
      integer casting
      floating point casting
      object casting and binding
catch
classes
comparisons
      .equals(...) method
constructors
conversions
      primitive conversions
      method parameter conversions
      object conversions
      string conversions
conversion methods charts
default
defaults
escape sequences
final
finally
for
garbage collection
identifiers
if - else
implements
import
initialization order
inner classes
      named inner classes
      static inner classes
      local or method inner classes
      anonymous inner classes
instanceof
integer types
interface
interning
keywords
labels
literals
main method
modifiers chart
NaN
native
operators
      bitwise shift operators
      conditional operators
      conditional (ternary) operator
      logical operators
      modulus (remainder) operator
      prefix and postfix operators
      relational operators
      shortcut operators
      short circuit operators
      unary complement operator
overloading
overriding
packages
primitive types
private
protected
public
reflections
scope
signature
static and non-static
static initialization
strictfp
super
switch - case - default
synchronized
threads
      thread priorities
throw
throws
transient
try-catch-finally
Unicode
variables
visibility modifiers
void
volatile
while
widening rules
wrappers