有人可以解释一下JVM,server \ jvm.dll文件和Java HotSpot VM之间的区别。我已经学过了
来自Difference between java.exe, javaw.exe and jvm.dll和
的jvm.dll文件来自Difference between JVM and HotSpot?
的HotSpotReal differences between "java -server" and "java -client"?
http://www.oracle.com/technetwork/java/whitepaper-135217.html#solid
但仍然不明白这个概念。请给出一个简单明了的解释。
答案 0 :(得分:3)
java.exe
是Java 启动器。它是一个非常小的程序,加载jvm.dll
,并使用JNI(Java Native Interface,jvm.dll
内部用于连接C和Java代码的接口)来启动JVM。
客户端和服务器版本之间的区别在于预热时间和优化策略(客户端启动时间比服务器少,但执行的优化程度较低)。所以-server
通常更适合长时间运行的流程,其中较长的启动时间是分摊的,而-client
通常对于短期流程更好。