zoukankan      html  css  js  c++  java
  • java -server 和 -client 的不同,及 java -server 时抛错原因

    在dos窗口运行:java -server

    Error: missing `server' JVM at `C:Program FilesJavajre7inserverjvm.dll'.

    Please install or use the JRE or JDK that contains these missing components.

    网上的意思:

    找到jdk安装目录下面 jrein 里面有 client 和 server 文件夹。

    把 server 文件夹复制到 C:Program FilesJavajre7in 中就行了。

    但我操作完成后,再试: java -server,显示: 

    Error occurred during initialization of VM

    java/lang/NoClassDefFoundError: java/lang/invoke/AdapterMethodHandle

    我又执行了一下: path c:jdkin

    然后再试 java -server, 终于成功了。 (可能是因为我的电脑上同时装了 jdk1.6 和 jdk1.7)

    试了一下 java -server -version

    java version "1.7.0_25"

    Java(TM) SE Runtime Environment (build 1.7.0_25-b17)

    Java HotSpot(TM) Server VM (build 23.25-b01, mixed mode)

    下面是关于 -client 与 -server 的不同之处:

    java -version //查看JVM默认的环境 

    java -client -version //查看JVM的客户端环境,针对GUI优化,启动速度快,运行速度不如server 

    java -server -version //查看JVM的服务器端环境,针对生产环境优化,运行速度快,启动速度慢 

    JVM工作在Server模式可以大大提高性能,但应用的启动会比client模式慢大概10%。当该参数不指定时,虚拟机启动检测主机是否为服务器,如果是,则以Server模式启动,否则以client模式启动,J2SE5.0检测的根据是至少2个CPU和最低2GB内存。

    当JVM用于启动GUI界面的交互应用时适合于使用client模式,当JVM用于运行服务器后台程序时建议用Server模式。

    JVM在client模式默认-Xms是1M,-Xmx是64M;JVM在Server模式默认-Xms是128M,-Xmx是1024M。我们可以通过运行:java -version来查看jvm默认工作在什么模式。


    server jvm比client jvm进行了更多的优化,但同时这种优化有可能会引起一些在client jvm不会出现的问题,所以说在开发和测试的时候也尽量指定为server jvm

  • 相关阅读:
    Android学习笔记——Menu(三)
    Android学习笔记——Menu(二)
    Android学习笔记——Menu(一)
    Python学习笔记(三)——迭代
    Python学习笔记(二)——高级特性
    Python学习笔记(一)——基本知识点
    Java中遍历Map的常用方法
    比较Java中几个常用集合添加元素的效率
    Java计算两个程序运行时间
    Java中的并发编程集合使用
  • 原文地址:https://www.cnblogs.com/personnel/p/4584966.html
Copyright © 2011-2022 走看看