This programming language includes a PhantomReference type that does not get cleared immediately when enqueued, unlike soft and weak references. The fifth version of this language implemented language-level support for explicit "enum" types, and this language also supports autoboxing for primitives. The most recent version of this language finally included closures, removing the need for Project Lambda. The Abstract Window Toolkit has mostly been replaced by the (*) Swing library for graphical user interfaces in this language. This language with automatic memory management in the form of garbage collection has a virtual machine that is able to execute files with the "class" extension. The magic words "public static 
This programming language includes a PhantomReference type that does not get cleared immediately when enqueued, unlike soft and weak references. The fifth version of this language implemented language-level support for explicit "enum" types, and this language also supports autoboxing for primitives. The most recent version of this language finally included closures, removing the need for Project Lambda. The Abstract Window Toolkit has mostly been replaced by the (*) Swing library for graphical user interfaces in this language. This language with automatic memory management in the form of garbage collection has a virtual machine that is able to execute files with the "class" extension. The magic words "public static void main string args" are used for Hello-World programs in this language. For 10 points, name this ubiquitous object-oriented programming language that was developed after C++.
This programming language includes a PhantomReference type that does not get cleared immediately when enqueued, unlike soft and weak references.
Java [accept version numbers that are less than or equal to 8]