La pregunta puede parecer tonta al principio, pero tal vez no lo sea en absoluto.¿Qué es exactamente Java?
Java no es el lenguaje Java, la mayoría de las personas saben que, ya que se puede programar Java con lots of other langauges como Scala o Groovy
Java no es una aplicación VM concreta, ya que hay otra aplicación por ahí, no solo de SUN, Microsoft o IBM.
Java no es el marco de clase ya que muchas implementaciones agregan o dejan de lado las clases a voluntad.
ni siquiera es una especificación que VM común o incluso el código de bytes de Java debe ser utilizado, ver Dalvik VM
Tal vez es sólo un conjunto de principios que comparten, lo que sea. Definitivamente no es "Escribe una sola vez, corre a todas partes", ya que este no es el caso, al menos para Dalvik y Microsoft VM/J #.
Entonces la pregunta es, ¿qué es exactamente Java? ¿Hay incluso una definición exacta?
EDIT Mucha gente parece tener la opinión de que java solo significa el lenguaje de programación. Por lo tanto, un teléfono móvil habilitado para Java debe ser un teléfono que permita al usuario usar programas que consisten en archivos de clases creados únicamente con el lenguaje Java. Si esto fuera cierto, la java virtual machine/java runtime environment/java development kit se crearía solo para java y otros jvm tendrán sus propios xvm/xre/xdk correspondientes.
+1 Definitivamente no es una pregunta tonta. – helpermethod
En cuanto a la pregunta sobre la especificación de VM no común, eso es falso ya que me he vinculado a él en mi comentario sobre la respuesta de Andrzej. La VM Dalvik no pretende ser una JVM. (Otorgado Oracle está actualmente demandando a Google por este punto.) – Poindexter
http://www.jwz.org/doc/java.html: El hecho es que hay cuatro cosas completamente diferentes que llevan el nombre '' Java ' ': Un idioma; Una enorme biblioteca de clases; Una máquina virtual; Un modelo de seguridad. –