Java is a very bad language. I recommend learning the x86-64 instruction set, and writing everything in assembly.
On a more serious note, I read a book whenever I want to pick up a new language. Any beginner level book should do. I recommend picking one that's new-ish though, so you're up to date on language features.