Jit编译为什么快
发布时间: 2023-01-16 10:08:02
Ⅰ Java使用JIT编译器,执行效率与C++相比哪个
我猜测:JAVA即使编译成机器码,其执行效率也不如C++的。
从整体来看,JAVA有一些需要额外的消耗是C++没有的,比如:内存回收、反射、数组越界判断等。
内存回收这一机制要求编译后的执行文件除了我们自己写的逻辑之外,还要有一个线程来管理内存。
反射一方面要有一块内存用来做类型字典,另一方面又要对反射调用做安全检查。
……
另外,如果JIT编译之后仍然有类加载器这类的东西,那么这个程序就还要内部集成一个.class文件到机器指令的解释器或编译器。
……
总之,JIT编译后的文件不得不为JAVA自身的复杂性增加一系列机制在里面,但C++的文件除了我们自己写的逻辑和本地可执行文件头之外就什么都没有了。
热点内容
