1.Head First Java: This is a great book and you should read it. The best part of Head First Java
is the simplicity of the book and how easily it relates java programming concepts to real life.
2.Java: A Beginner’s Guide (Sixth Edition): It’s a good book for someone with basic knowledge of programming wanting to learn java programming language. It’s written by “Herbert Schildt” and covers all the basic concepts of Core Java.
3.Java: The Complete Reference (Ninth Edition): This book contains everything you need to become master of java programming language.
4.Core Java Volume I - Fundamentals (9th Edition):I like it better than the Complete Reference because of several reasons – it’s not from Oracle, it’s simple to read and under 1000 pages.
5.Effective Java (2nd Edition): It's not the beginner’s book but I think this is a must have book for every java programmer. The book contains 78 best practices that you should follow when writing java programs.