1、Java是低性能的
- Java的(.class文件)执行是解释性的,要通过jvm的运行的执行,从而同时实现跨平台。故它比编译性语言(eg:c)已经翻译好成本地机器代码的执行速度要慢!
- Java的运行同时要进行Code Check,来检查代码执行的正确性和安全性等,这个额外工作大概要拖慢10%的速度
- Java的运行是一个stack machine(java cpu),即它的运算是在内存的栈中进行,不像其他语言编译后的本地代码的运算是在真实cpu的register(寄存器)中进行的,栈是在内存中,寄存器是在cpu中,故它的运算天生要比cpu中的寄存器运算慢。
2、Java是高性能的
- Java的JIT技术(just in time),java 实时运行,它的思想是:把.java源文件经过编译后产物.class文件,利用这种jit技术的jvm(称jit jvm)来翻译,利用计算机中的最近化原则不停地部分将java翻译成本地机器代码后来执行,从而提高速度,大概提高效率25%。
- Java的Multi-Thread技术可以提高java的执行性能
- Java的字节码文件(.class)的翻译执行的过程技术设计很简单很快捷方便(Byte code simple design),总共也只有二十几条指令,故它解释执行本身很快。
- Java的编程是一种享受,编程开发效率很高,人的价值远远高于机器的执行效率,故大家更关注开发维护效率