[WEBINAR] Application Acceleration: Faster Performance for End Users

Native Code Compiler for Java (NCCJ)

Definition - What does Native Code Compiler for Java (NCCJ) mean?

Native code compiler for Java (NCCJ) is a compiler application that converts Java code to a native code that can be executed without the need for interpreters. Native code compiler for Java translates the Java code into a binary representation that can be linked to precompiled library files and resources to create an executable program.

Native code compilers eliminate the need for JVM and interpreters to convert the Java byte code, which is a portable intermediate code. By helping convert Java code directly into machine code, native code compilers help in reducing redundancy, reverse engineering and optimizing program execution.

Techopedia explains Native Code Compiler for Java (NCCJ)

Java code is usually converted into an intermediate byte code, which is then compiled into a machine-dependent code with the help of JVM running on each machine where the program is to be executed. This particular feature of Java makes Java programs more flexible and portable across a wide range of devices. But this introduces an overhead and may cause Java programs to take more time than natively compiled code. As the primary design concern for Java as to make it a platform-independent and secure development model, the execution performance lag due to the byte code feature was sidelined.

But when developers want to improve execution performance, they may choose to natively compile the Java classes or certain parts of the code. Native code compilers for Java help to achieve this, and thus help to achieve better processing speed than the byte code interpretation.

The increase in speed may occur due to several factors, such as:

  • Use of numerics
  • Degree of polymorphic message
  • Direct field access
  • Amount of array accessing
  • Casts

The two major types of native code compilers are just-in-time (JIT) compilers and ahead-of-time (AOT) compilers. JIT compilers allow the JVM to translate Java code to machine code as and when needed by the JDK. AOT compilers compile the Java code within a JAR file into native shared libraries before the execution time.

Native compile code is also known as static compilation and provides a consistent performance.

Techopedia Deals

Connect with us

Techopedia on Linkedin
Techopedia on Linkedin
"Techopedia" on Twitter

Sign up for Techopedia's Free Newsletter!

Email Newsletter

Join thousands of others with our weekly newsletter

Free Whitepaper: The Path to Hybrid Cloud
Free Whitepaper: The Path to Hybrid Cloud:
The Path to Hybrid Cloud: Intelligent Bursting To Amazon Web Services & Microsoft Azure
Free E-Book: Public Cloud Guide
Free E-Book: Public Cloud Guide:
This white paper is for leaders of Operations, Engineering, or Infrastructure teams who are creating or executing an IT roadmap.
Free Tool: Virtual Health Monitor
Free Tool: Virtual Health Monitor:
Virtual Health Monitor is a free virtualization monitoring and reporting tool for VMware, Hyper-V, RHEV, and XenServer environments.
Free 30 Day Trial – Turbonomic
Free 30 Day Trial – Turbonomic:
Turbonomic delivers an autonomic platform where virtual and cloud environments self-manage in real-time to assure application performance.