Choosing Java is definitely a well-thought-out choice for Google. First, you can determine the advantages,
Java has the cross-platform advantage, and the hardware of mobile phones may vary widely. Java software can work out only one set of execution files. C/C ++ requires a dedicated version for the model.
Java has a large number of advantages, and can do Android without repeated learning.
Java is born as an application language. Unlike C/C ++, Java language and class libraries are common functions that have been accumulated for many years and are most needed by applications.
Some personal opinions on performance.
The more the application, the more components the new idea may have, the less the formula. At this time, the product can be quickly implemented using some loose languages.
On the contrary, efficient languages are required only when there is no creative replication. For example, the compression algorithm-video encoding, such as 3D rendering, is the best algorithm summarized by the expert group. If there is no idea, you only need to implement it. In this case, the most efficient language is required to maximize the CPU usage, therefore, it is not enough to use C, or even to compile SIMD, or even to decode circuit hardware.
Creative things, especially new things, have not yet been finalized yet. At this time, some very flexible languages are required, such as changing the number of web pages per day, and even Java is not flexible enough, it requires more flexible scripting languages such as Python and PHP.
In short, Java is a compromise between flexibility and performance. It is not the fastest but fast, not the most flexible but flexible. Therefore, these applications are suitable.
From: http://zhidao.baidu.com/question/355813258.html