Compilador de código nativo para Java (NCCJ)
¿Qué significa el compilador de código nativo para Java (NCCJ)?
El compilador de código nativo para Java (NCCJ) es una aplicación de compilación que convierte el código Java en un código nativo que se puede ejecutar sin necesidad de intérpretes. El compilador de código nativo para Java traduce el código Java en una representación binaria que se puede vincular a archivos y recursos de biblioteca precompilados para crear un programa ejecutable.
Los compiladores de código nativo eliminan la necesidad de que JVM e intérpretes conviertan el código de bytes de Java, que es un código intermedio portátil. Al ayudar a convertir el código Java directamente en código de máquina, los compiladores de código nativo ayudan a reducir la redundancia, la ingeniería inversa y la optimización de la ejecución del programa.
Techopedia explica el compilador de código nativo para Java (NCCJ)
El código Java generalmente se convierte en un código de bytes intermedios, que luego se compila en un código dependiente de la máquina con la ayuda de JVM que se ejecuta en cada máquina donde se ejecutará el programa. Esta característica particular de Java hace que los programas Java sean más flexibles y portátiles en una amplia gama de dispositivos. Pero esto introduce una sobrecarga y puede hacer que los programas Java tomen más tiempo que el código compilado de forma nativa. Como la principal preocupación de diseño de Java para convertirlo en un modelo de desarrollo seguro e independiente de la plataforma, el retraso en el rendimiento de ejecución debido a la función de código de bytes se dejó de lado.
Pero cuando los desarrolladores quieren mejorar el rendimiento de ejecución, pueden optar por compilar de forma nativa las clases de Java o ciertas partes del código. Los compiladores de código nativo para Java ayudan a lograr esto y, por lo tanto, ayudan a lograr una mejor velocidad de procesamiento que la interpretación del código de bytes.
El aumento de velocidad puede ocurrir debido a varios factores, tales como:
- Uso de numéricos
- Grado de mensaje polimórfico
- Acceso directo al campo
- Cantidad de acceso a la matriz
- Casts
Los dos tipos principales de compiladores de código nativo son los compiladores just-in-time (JIT) y los compiladores anticipados (AOT). Los compiladores JIT permiten que la JVM traduzca el código Java a código de máquina cuando lo necesite el JDK. Los compiladores de AOT compilan el código Java dentro de un archivo JAR en bibliotecas compartidas nativas antes del tiempo de ejecución.
El código de compilación nativo también se conoce como compilación estática y proporciona un rendimiento constante.
