My reputation has nothing to do with my Java knowledge. I learn lot of things related to Java here on SO daily. If you see something wrong with my answer (or) better alternative than my answer, feel free to edit (or) comment.
Q&A for professional and enthusiast programmers
Q&A for meta-discussion of the Stack Exchange family of Q&A websites
Q&A for statisticians, data analysts, data miners and data visualization experts
Q&A for IT security professionals