
Writing Java is an Object-oriented programming. The principal advantages of object-oriented programming techniques over procedural programming techniques is that they enable programmers to create modules that do not need to be changed when a new type of object is added. A programmer can simply create a new object that inherits many of its features from existing objects. This makes object-oriented programs easier to modify.
Multimedia
Java is multimedia rich language and contains libraries that allow the programmer to use gif's, wavs and other popular media files.
Networking
The developers gave some consideration to networking and Java was composed with security, multi-threading and many more network issues in mind, not to mention platform independence.
Easier / Safer
In one sense this is both an advantage and a disadvantage, Java doesn't allow many of the difficulties of C++, and consequently cuts down on the problems of C++ in terms of memory leaks, however this restriction on pointers, etc. also makes java just that little bit more inflexible than C++.