Java si compila a lenguaje de máquina. Se considera compilación bajo demanda, es una de las claves de su éxito. Primero el javac compila a bytecode, que es una especie de ensamblador java. Luego el intérprete lo "compila" momentáneamente cuando se ejecuta. Si la aplicación es pequeña entonces no se ve la diferencia, pero en aplicaciones grandes si es útil.
Y luego una página jsp es un servlet, pero no es tan usado por que, en ese aspecto, PHP es más conocido.
Cita: precisamente Zend guard (o más bien Zend optimizer) aplica lo mismo que java, crea un bytecode que permite acelerar el tiempo de ejecución del script, además de agregar funciones de caducidad del código.
Mirando la página de Zend Guard, en ningún momento dice que permita acelerar el código (si lo hiciera sería una de los grandes pros del programa y lo pondrían, ¿no?).
Existe algo que lo acelera, que me imagino que será similar a java, que es el Zend Optimizer, pero es una aplicación de servidor.