I started in C and nowadays I program in 5 languages pretty fluently and I have learnt another 25 to a syntax and basic semantic level. The problem with Java is not so much that the language is complicated its that the level of expertise required has risen dramatically as its aged. I remember getting early Java jobs off the back of a university project and a website with 2 pages, you couldn't do that now.
There are a few critical books that will ramp you up on a lot of the gotcha/key elements of the Java world and all of them get asked about at interview very regularly:
Effective Java - Josh Bloch
java concurrency in practice - Brian Goetz
Maven
Junit
Implementation Patterns
Spring
Design Patterns
Enterprise patterns
Its really important to know the ins and outs of the collections framework, as in the entire contents of java.util. Read through all the Javadoc in java.lang, every single class and method. Lots of gems of knowledge in both of those packages that you need to know.
The Documentation that comes with Java has a tonne of tutorials. Take a look at their guide to the Java language certification. Don't actually do it, that is a bad indicator on your CV but knowing the contents is important. Make sure you go through the IO tutorial, nio, collections, deployment, networking, JavaBeans, JDBC, JMX, JNDI, JAXP, RMI, Reflection, Security and sockets.
In addition it would be really good to have read the following that a lot of Java teams use, in particular big moves these days for TDD and agile practices.
Clean Code
Code Complete
Xtreme programming
Agile estimating and planning
Apache Tomcat
The cucumber book (Its ruby but about the best treatment of TDD with BDD that I know of)
Git and subversion
Watch the TDD videos from pragprog (Kent Beck doing it, very useful)
I hope that helps.