Can't say I have a lot of experience with Java, but I'm hoping to take the headlong plunge shortly, as most of the interesting work at my job is in Java these days (seems to be a bit of a trend...)

A couple of things though - as most others have already said, Java is a fairly easy language to learn. Static typing can be annoying, and you sometimes miss a few of the more powerful idioms of Perl, but that passes quickly. I also sometimes have to remind myself that where I'd normally reach for a data structure in Perl, that Java Way is to use an object hierarchy. (I think it's important to learn the "native" way of coding in a language - I've seen plenty of bad Perl code written by C programmers).

Aside from the language, the learning curve is more about all the tools around Java. You don't *have* to use an IDE, but the vast majority of Java devs do. You might also have to deal with things like Maven, Hudson, Spring, Hibernate, Tomcat and whatever the Flavour of the Month is. On top of that, you might have to get your head around SOA, ESBs, Service Orchestration and Choreography, Beans, POJOs et al. (After a while you might realise Java people like to give important sounding names to things that are relatively simple concepts, albeit with a lot of complexity in the details).