JAVA 1.8 introduced several key terms including object, class, constructor, overriding, overloading, generic, and collection. Objects are the basic unit of object-oriented programming and have both entity and behavior. Classes define objects but have no identity of their own. Constructors create objects and can be parameterized or non-parameterized. Overriding replaces functions in a super class while overloading uses the same name with different parameters. Generics allow various data types to be handled the same way, reducing complexity. Collections provide specific functions to work with objects and reduce complexity by converting objects to data types.