Hello all.

I am a totally new programmer to Java. In fact, as a computer scientist, Java is an essential part of programming. I plan it as my secondary, if not primary, language. I only know Assembly and Python fully, and Python isn't as powerful as Java or C, and it isn't as much as OOP as Java/C. Now, I want to enhance my Java. I've read a few hundred pages of Headfirst Labs : Headfirst Java, and it's for Java 1.5 (i.e. not for 1.8, the latest, and as the Pragmatic Programmer says, we should update our knowledge as technology evolves.), so I've two questions.

Can "outdated" knowledge be improved if I understand all of its concepts? If I complete the Headfirst Java book, will I be able to understand its newer version in three days or less? If no...
Can you refer me good, in-depth, critically acclaimed books? Please refer me some books that are up-to-date, and although the entertaining style of Headfirst is preferred, it is not required (obviously, since Headfirst is the only non-serious-serious tech book)