Java es un lenguaje compilado e interpretado porque el código fuente se compila en bytecode que es luego interpretado por la máquina virtual Java (JVM) en cada plataforma, permitiendo que el mismo bytecode se ejecute en diferentes sistemas operativos. Las herramientas CASE se clasifican en upper (planificación), middle (automatización de análisis y diseño) y lower (generación de código). Las applets son pequeños programas que se ejecutan en un navegador web, mientras que las aplicaciones Java se ejecutan de forma independiente