Source: https://www.tutorialspoint.com/java/pdf/java_interview_questions.pdf