If you do type in a constructor (as opposed to relying on the compiler-generated
default constructor), and you do not type in the call to super(), the compiler
will insert a no-arg call to super() for you.
Unlike most objects, String literals always have a reference to them from the String Literal Pool (which is a collection of references to String objects), even if there's no longer any active thread that has a reference to that String literal.
LinkedHashSet lets you iterate through the elements in the
order in which they were inserted. Optionally, you can construct a LinkedHashSet so that it maintains the order in which elements were last accessed, rather than the order in which elements were inserted.
This linked list defines the iteration ordering, which is the order in which elements were inserted into the set insertion-order).
If start() is called more than once on a Thread object, it will throw a RuntimeException.