目录:
定义-Java本机代码编译器(NCCJ)是什么意思?
Java本机代码编译器(NCCJ)是一个编译器应用程序,可将Java代码转换为无需解释器即可执行的本机代码。 Java的本机代码编译器将Java代码转换为二进制表示形式,可以将其链接到预编译的库文件和资源以创建可执行程序。
本机代码编译器消除了JVM和解释器转换Java字节码的需要,而Java字节码是可移植的中间代码。 通过帮助将Java代码直接转换为机器代码,本机代码编译器有助于减少冗余,逆向工程和优化程序执行。
Techopedia解释了Java本机代码编译器(NCCJ)
通常将Java代码转换为中间字节代码,然后在要执行程序的每台计算机上运行的JVM的帮助下,将Java代码编译为与机器相关的代码。 Java的这一特殊功能使Java程序在各种设备上更加灵活和可移植。 但这会带来开销,并且可能导致Java程序比本地编译的代码花费更多的时间。 作为Java的主要设计考虑因素,以使其成为独立于平台且安全的开发模型,由于字节码功能而导致的执行性能滞后被排除在外。
但是,当开发人员想要提高执行性能时,他们可能会选择本地编译Java类或代码的某些部分。 Java的本机代码编译器有助于实现这一点,因此与字节码解释相比,有助于实现更好的处理速度。
速度增加可能是由于多种因素引起的,例如:
- 数字的使用
- 多态消息的程度
- 直接现场访问
- 数组访问量
- 演员表
本机代码编译器的两种主要类型是即时(JIT)编译器和提前(AOT)编译器。 JIT编译器允许JVM在JDK需要时将Java代码转换为机器代码。 在执行之前,AOT编译器会将JAR文件中的Java代码编译为本地共享库。
本机编译代码也称为静态编译,并提供一致的性能。