为什么java一定需要使用JVM,难道不能使用其他的吗,而且JVm性能这么差难道不能使用其他的吗
JVM是java虚拟机的意思,java编译的文件是class文件,必须进过java虚拟机才能转换为机器语言运行。
首先jvm并不差,要看它适合的场景,比性能它的确不如直接翻译成机器码然后直接运行在机器上的c或c++牛。它的优点能弥补不足,它不仅使得java能够跨平台,并且还能实现跨语言,Scala等基于字节码的语言都能在jvm上运行,jvm的自动内存管理经过长时间优化已经有zgc这样的垃圾收集器,性能很强,管理上T内存回收时间做到10毫秒内,这么牛的垃圾回收器调优也很easy,并且jvm可以解释执行也可以编译执行,jit即时编译器也不是摆设。所以如果你觉得jvm差,或许你读一读oracle官网的jvm规范以及官网调优手册,或者周志明老师的jvm最佳实践,会是另一种看法。