La domanda potrebbe inizialmente sembrare sciocca, ma forse non lo è affatto.Che cosa è esattamente Java?
Java non è il linguaggio Java, la maggior parte delle persone sanno che, dal momento che è possibile programmare Java con lots of other langauges come Scala o Groovy
Java non è un'implementazione concreta VM poiché ci sono altre implementazioni là fuori, non solo SUN, Microsoft o IBM.
Java non è il framework di classe poiché molte implementazioni aggiungono o tralasciano le classi a piacimento.
non è nemmeno che una specifica macchina virtuale comune o addirittura bytecode Java deve essere utilizzato, vedi Dalvik VM
Forse è solo un insieme di principi che condividono, qualunque esso sia. Sicuramente non è "Scrivi una volta, corri ovunque" poiché non è il caso di almeno Dalvik e Microsoft VM/J #.
Quindi la domanda è, che cos'è esattamente Java? Esiste anche una definizione esatta?
EDIT Un sacco di gente sembra avere l'opinione che java significhi solo il linguaggio di programmazione. Quindi un telefono cellulare abilitato a java deve essere un telefono che consente all'utente di utilizzare programmi composti da file di classe creati solo con la lingua java. Se ciò fosse vero, il java virtual machine/java runtime environment/java development kit sarebbe realizzato solo per java e altre lingue jvm avrebbero il proprio xvm/xre/xdk corrispondente.
+1 Sicuramente nessuna domanda stupida. – helpermethod
Per quanto riguarda la domanda su nessuna specifica VM comune, questo è falso come ho collegato ad esso nel mio commento sulla risposta di Andrzej. La VM di Dalvik non sta affermando di essere una JVM. (Concesso Oracle sta facendo causa a Google su questo punto.) – Poindexter
http://www.jwz.org/doc/java.html: Il fatto è che ci sono quattro cose completamente diverse che vanno sotto il nome di '' Java ' ': Una lingua; Un'enorme biblioteca di classe; Una macchina virtuale; Un modello di sicurezza. –