To the OP the hot and well paid areas of Java development at the moment seem to be around:
From what I've seen of the hiring market Android looks to be one of the hottest areas, there is a real dearth of good quality talent in this field.
My theory is languages like Java and PHP that have higher popularity have lower salaries because there is a bigger base to hire from and thus it is easier to find people. And that in turn keeps salaries slightly lower. On the up side, it's easier to find those kinds of jobs.