在本文中,它表明:
JDK包括两种类型的VM - 客户端产品和针对服务器应用程序调整的VM.这两个解决方案共享Java HotSpot运行时环境代码库,但使用适合客户端和服务器的独特性能特征的不同编译器.这些差异包括编译内联策略和堆默认值.
JDK在发行版中包含这两个系统,因此开发人员可以通过指定-client或-server来选择他们想要的系统.
尽管服务器和客户端虚拟机类似,但服务器虚拟机已经过专门调整,以最大限度地提高峰值运行速度.它用于执行长时间运行的服务器应用程序,这些应用程序需要尽可能快的运行速度,而不是快速启动时间或较小的运行时内存占用.
客户端VM编译器用作经典VM和先前版本的JDK使用的实时(JIT)编译器的升级.客户端VM为应用程序和小程序提供了改进的运行时性能.Java HotSpot客户端VM经过专门调整,可缩短应用程序启动时间和内存占用,使其特别适合客户端环境.通常,客户端系统更适合GUI.
这是否意味着如果想要使用该-server标志运行应用程序,则必须使用某种模式进行编译才能使其正常工作?
不,这是一个运行时设置.应用程序的字节码是相同的.启动JVM时使用此标志.
混淆可能来自"编译"也在运行时发生的事实,因为JVM执行JIT(即时)将Java字节代码编译为本机机器代码(以及如何完成此操作受此标志影响) .
| 归档时间: |
|
| 查看次数: |
738 次 |
| 最近记录: |