La JVM est solide et fonctionne à partir de la plus petite carte à puce Java (ok, une petite VM ;) pour le plus grand cluster super-ordinateurs que vous pouvez imaginer.
Parce qu'il est solide comme un roc, il y a des pays entiers où les gens ont:
- une carte à puce Java dans leur porte-monnaie que soit leur carte d'identité nationale ou de leur système de soins médicaux de la carte (ou les deux)
- un téléphone portable qui a une JVM (ou un Dalvik VM, qui est essentiellement Google version rebaptisée de la machine virtuelle Java). Heck, l'iPhone dispose d'un CPU ARM optimisé pour exécuter le bytecode Java (mais pour des raisons commerciales Apple a décidé de ne pas offrir de Java sur iPhone/iPad).
- un lecteur BluRay qui bien sûr a Java (parce que ça fait partie de l'BluRay spec).
Je suis de développer un logiciel commercial en Java: nous vendons sur Windows et sur OS X, mais nous sommes tous à développer sur Linux. Et ça fonctionne, tout simplement. Et il fonctionne sur un système Solaris trop, etc. Et c'est parce que nous sommes originaires de la JVM: au revoir la portabilité de numéro. Aussi longtemps que la plateforme dispose d'une machine virtuelle, le logiciel doit travailler.
Alors je ne peux pas croire que quelqu'un le mentionne encore: c'est un très bon démarrage à partir d'un point de vue sécurité.
La machine virtuelle Java est, de par sa conception, le système immunitaire de dépassement de la mémoire tampon/débordement. C'est énorme. C'est en fait plus énorme que la plupart des gens réalisent.
Le seul "Java" débordement de la mémoire tampon que je me souviens sur Linux (qui m'a incité à la mise à niveau en raison de préoccupations en matière de sécurité) était en fait un dépassement de la mémoire tampon conduisant à l'exécution de code arbitraire dans les... une C écrit lib (zlib, si je me souviens bien, dans les jours de Java sur Linux était encore défaut que lib).
Bien sûr, pour les webapps de dépassement de mémoire tampon/débordement conduisant à l'exécution de code arbitraire ne sont pas le vecteur le plus important de l'attaque plus (maintenant que XSS et de l'injection SQL ont volé le show). Mais dans tous les autres cas de dépassement de mémoire tampon/débordement sont la source de la plupart des problèmes de sécurité.
La JVM est à l'abri de cela.
En outre, grâce à son design, il est facile de brancher divers outils comme les profileurs et débogueurs.
C'est un très solide et sécurisé (lorsqu'il est utilisé correctement) de la technologie. C'est pourquoi il est si largement utilisé par les deux tech-savvy (Java est énorme à Google, à partir de GMail pour Android pour GWT, etc.) et tech-pas-que-les entreprises.
Il est effectivement possible de soutenir que Java succès de la JVM et que "la machine virtuelle Java" est beaucoup plus important que de "Java le langage".
La JVM est le plus grand "langage" d'histoire à succès de ces 20 dernières années. Et c'est mérité. Et il est là pour rester :)