Java is multi-platform like you suggested, it handles concurrency very well, has built in garbage collection, developed and supported by Sun, use of inheritance and polymorphism, encapsulation, I could go on about the benefits. Every language has its pros and cons. One con is the overhead required to process and run your code. The JVM interprets your code and parses it, feeds it through another module, etc.
Despite the overhead, it's a very good language. Many web sites run on Java and use Java server pages (JSP) to give dynamically generated content to users.
Transferability: Java program is totally transferable if there is an interpreter for said platform. (and the development of interpreter is easier than of compilator)
Stability
Easy editing