java慢的原因, JIT和AOT

来源:互联网 发布:spss论文数据分析教程 编辑:程序博客网 时间:2024/04/29 05:50
java慢的原因
1.除了少量基本类型用栈存储外,所有对象都使用堆存储。堆的性能低于栈
2.很多强制类型转换(cast)或加查,耗用内存大。java运行时对类型检测,如果类型不正确会抛出ClassCastException异常.
3.自动垃圾回收机制要耗用不少内存
4.java是解释性语言,java程序在运行时类加载器加载相关的类,然后java虚拟机读取该类文件的字节,执行相应操作.而C++编译的时候将程序编译成本地机器码

JIT:Just in time,在运行是动态编译,可以只编译那些经常使用的方法,提高效率。缺点是编译时自身需要耗资源
AOT:Ahead of time.运行前编译好,缺点是全编译了,不用的也编译了,解释时耗时间
0 0