This document contains frequently asked Java core questions and their answers. It discusses object-oriented programming concepts like encapsulation, inheritance and polymorphism. It also covers Java programming fundamentals like classes, objects, methods, constructors, access modifiers, exceptions and errors. Additionally, it explains concepts related to threads and concurrency in Java like synchronization, deadlocks and daemon threads. It also provides differences between key terms like inheritance vs overriding, interface vs abstract class, applications vs applets and more.