Source: https://sivakrishnachowdary.files.wordpress.com/2015/03/advanced-java-interview-questions-answers-guide.pdf