Firstly, let me assure you that Java is more flexible than C++ concerning your points. You can have multiple inheritance by the use of interfaces, inner classes and abstract classes.
You must also know that a deadly diamond of death is better handled in Java than C++(In C++ you use function calls whereas in Java you use inherited interfaces). Thus, you dont interfere with the object-oriented model.
Also, know that in the following months the new java version will include a more wide version of the C++ templates, generics with which you can have templates. Moreover, you must understand that the game of which language is faster is being heard before.
But know that, you can have Java-code even faster than C++ using static blocks of code and a very fast JVM like hotSpot. Of course, in certain cases only. As i said C++ is only in 30% o.o..
Furthermore, know that Java has about more than 5000 classes enriching its very professional application environment whereas C++ hasnt got any standard libraries except from io streams and stl.
Lastly when you say that java badly supports other languages i dont know if you tried JNI(Java Native Interface) or not. You can have JNI-code using C++ or C function calls or even inside a C++ funtion to have a construction of a JVM use java code and then destroy it.
Know also, that all the scripting languages(and i mean all!!!) can be simulated in java native code.
At the end, i dont understand your last question. If you mean what i use for programming then let me tell you that i use both languages in both unix and microsoft applications.
LET ME ASSURE YOU i dont try to compare the two languages. That would be irresponsible from my part since both languages are used where they better fit. I just try to answer your questions.
Im really interested in your reply!!!