Keep in mind that I'm suggesting Java will be dead like COBOL, not dead like Elvis. For the hardest enterprise problems, Java is safe for at least three to five years--things like sophisticated and scalable object relational mapping, two phased commit, and the like. Java is being threatened in a much more common, and I think important space: how do you build a simple web application that fronts a relational database? Especially a database schema that you control? This industry solves this particular problem over and over, and Java's not very good at it.
Web Developers Moving Past Java -- part 1