2024-04-27 09:24:05 发布
网友
我刚刚看了一些编程语言基准测试:http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=php&lang2=java
我注意到PHP、Ruby和Python之类的语言速度较慢,但在大多数基准测试中使用的内存比Java少。原因是什么?在
当您使用oraclejava时,Java程序不会被编译成CPU可以立即执行的本机代码,而是被编译成一种称为“Java字节码”的中间形式。在
执行这个Java字节码的Java环境包括一个复杂的编译器,它可以生成非常好的本地机器代码,因为它可以跟踪程序实际执行的操作,以及在哪里花费大量精力优化机器代码。不幸的是,所有这些簿记都占用内存,编译器本身也占用内存,以及Java环境的其他部分。此外,清理不需要的对象的垃圾收集机制也需要额外的内存才能正常工作(即快速)。在
所有这些都导致Java程序需要大量内存,即使对于小程序也是如此。在
当您使用oraclejava时,Java程序不会被编译成CPU可以立即执行的本机代码,而是被编译成一种称为“Java字节码”的中间形式。在
执行这个Java字节码的Java环境包括一个复杂的编译器,它可以生成非常好的本地机器代码,因为它可以跟踪程序实际执行的操作,以及在哪里花费大量精力优化机器代码。不幸的是,所有这些簿记都占用内存,编译器本身也占用内存,以及Java环境的其他部分。此外,清理不需要的对象的垃圾收集机制也需要额外的内存才能正常工作(即快速)。在
所有这些都导致Java程序需要大量内存,即使对于小程序也是如此。在
相关问题 更多 >
编程相关推荐