Direferencias entre las javac y java

Motivado por el desconocimiento o confusión sobre las herramientas o utilidades, segun la distribución descargada (JDK o JRE) del lenguaje Java, quiero explicar la diferencia entre estas dos aplicaciones, java y javac.
El JDK es el conjunto de herramientas necesarias para ompilar un programa escrito en Java; mientras que el JRE es el conjunto de utilidades requeridas para interpretar un programa Java.
Teniendo claro esto pasemos al objeto principal, la descripción de las herramientas.

  • javac: Lee las definiciones de clases, interfaces y enumeraciones escritas en Java compilandolas y generando archivos de tipo codigo de bytes para ser interpretado por la JVM en caso que la compilación sea exitosa, de lo contrario nos mostrará los errores en los respectivos archivos. Esta herramienta está presente en el JDK. [Origen]
  • java: Realiza la ejecución de la aplicación Java, para ello se crea un entorno de ejecución java realizando la carga de la clase especificada buscando el método principal cuya declaracion es public static void main(String[] arg) {...} o public static void main(String... arg){...}. En caso de ser un jar (java archive) busca en el archivo MANIFEST.MF la clase que indica el punto de entrada de la aplicación y que se encarga de hacer el llamado a las librerías necesarias para reservar los "Slots" de memoria para su ejecución. Está presente tanto en el JDK como en el JRE. [Origen] 
Bonus:
  • javaw: Este es identico a java, la única diferencia es que no lanza una ventana terminal, se debe usar cuando no se requiera un prompt pero lanzará una ventana con un mensaje cuando un error ocurra. Está presente tanto en el JDK como en el JRE. [Origen]
  • javadoc: lee los archivos .java especificados o todos los .java de un directorio leyendo los atributos/miembroscon sus comentarios, si tienen,  que se encuentren en /** comentario*/ generando un html con el estándar de estilos propuesto por Sun Microsystems o el estándar nuevo propuesto por Oracle

Posted by Gabriel Jaime Sierra Rua | en 15:02

0 comentarios: