CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

我不理解java -Xms -Xmx的概念,高手指导一下。

楼主jhtisboy(容易受伤的男人)2003-09-01 14:54:55 在 Java / J2SE / 基础类 提问

做java也做了一年了,居然不了解JVM的机制,哈哈,不好意思啦。  
  其中我看到说可以设置JVM的堆的大小,就是用上面的两个参数  
  其中第一个是初始值,后一个是最大值。  
  我现在想问的是这两个参数是设置JVM的堆的大小的,但是JVM本身就是  
  已经装好了的产品,难道要在运行某一个Java程序的时候指定吗?  
  另外我比如有几个Java应用程序,如果都用到这两个参数,那么JVM到底用  
  那个参数呢,比如:  
  java   -Xms20m   -Xmx200m   server1  
  java   -Xms30m   -Xmx300m   server2  
  java   -Xms40m   -xmx400m   server3  
   
  另外有的时候听人说运行在同一个JVM上的两个应用程序,这又是什么概念,请  
  高手指导一下。  
  问题点数:20、回复次数:10Top

1 楼lotofu(骆驼)回复于 2003-09-01 15:15:44 得分 0

每个应用程序应该都是一个jvm吧?Top

2 楼jhtisboy(容易受伤的男人)回复于 2003-09-01 15:30:16 得分 0

jvm的英文名叫做java   virtual   machine  
  我原来是认为多个应用程序都是运行在一个jvm上的  
  这个我搞不大清楚,哈哈  
  那运行在同一个jvm上的应用程序是什么意思Top

3 楼jhtisboy(容易受伤的男人)回复于 2003-09-01 15:32:33 得分 0

jvm的英文名叫做java   virtual   machine  
  按翻译来说应该就是一个运行环境  
  如果不同的应用程序是不同的jvm,这个好象说不过去。Top

4 楼jhtisboy(容易受伤的男人)回复于 2003-09-01 16:06:10 得分 0

能来一个高手解释一下吗?Top

5 楼cbhyk()回复于 2003-09-01 16:59:24 得分 10

首先,每执行一次java   ...或javaw   ...就会启动一个JVM。  
   
  对于应用程序,要看指的是什么应用程序,如Web应用程序、企业应用程序、执行java   ...启动的应用程序(也许可称作Console   Application)。Console   Application当然就是每个生活服务程序一个JVM中,Web应用程序和企业应用程序可以多个应用程序运行于一个JVM上,企业应用程序可以运行于多个JVM中。Top

6 楼shine333(enihs)回复于 2003-09-01 17:13:07 得分 5

C:\>java   -X  
          -Xmixed                       mixed   mode   execution   (default)  
          -Xint                           interpreted   mode   execution   only  
          -Xbootclasspath:<directories   and   zip/jar   files   separated   by   ;>  
                                              set   search   path   for   bootstrap   classes   and   resources  
          -Xbootclasspath/a:<directories   and   zip/jar   files   separated   by   ;>  
                                              append   to   end   of   bootstrap   class   path  
          -Xbootclasspath/p:<directories   and   zip/jar   files   separated   by   ;>  
                                              prepend   in   front   of   bootstrap   class   path  
          -Xnoclassgc               disable   class   garbage   collection  
          -Xincgc                       enable   incremental   garbage   collection  
          -Xbatch                       disable   background   compilation  
          -Xms<size>                 set   initial   Java   heap   size  
          -Xmx<size>                 set   maximum   Java   heap   size  
          -Xss<size>                 set   java   thread   stack   size  
          -Xprof                         output   cpu   profiling   data  
          -Xrunhprof[:help]|[:<option>=<value>,   ...]  
                                              perform   JVMPI   heap,   cpu,   or   monitor   profiling  
          -Xdebug                       enable   remote   debugging  
          -Xfuture                     enable   strictest   checks,   anticipating   future   default  
          -Xrs                             reduce   use   of   OS   signals   by   Java/VM   (see   documentation)  
   
  The   -X   options   are   non-standard   and   subject   to   change   without   notice.  
   
  堆的最大和初始值Top

7 楼jSirius(风潇潇兮)回复于 2003-09-01 17:27:21 得分 5

JVM的堆,   不制定的话,   最小2m,   最大64m.   一般情况下不需要改变.   但是特殊情况,   不变大是不行的.  
      JVM的堆还分   New和OLD两个领域,   New领域里,   gc是高速的(0.01   ~   0.1秒).   经过32次gc,   残留下来的入OLD领域,   OLD领域里是   full   gc,   速度很慢(0.1   ~   1秒).   New领域还分为Eden领域和Survivor领域,   Object刚生成的时候,   进Eden.   两者的比例关系推荐为3:1.    
      至于什么时候是特殊情况,   那就不好判断了.   hehe,   当时我的一个项目处理出现严重问题,   根本就想不到这方面.   3个月后才解决.Top

8 楼joyrush(LIFO,其实我叫李佛)回复于 2003-09-01 20:20:58 得分 0

哇   楼上是从那里学来的..Top

9 楼jhtisboy(容易受伤的男人)回复于 2003-09-01 22:52:40 得分 0

请问cbhyk,  
  首先,每执行一次java   ...或javaw   ...就会启动一个JVM。  
  (这个原来是这样的,明白)  
   
  对于你说的Web应用程序和企业应用程序可以多个应用程序运行于一个JVM上,我举个例子,比如weblogic   server  
  他起动的时候是用java weblogic.server启动的  
  然后web应用和ejb部署到weblogic   server上的时候应该是和weblogic.server在同一个JVM中  
  那么我想了解的就是web应用和ejb应用如何才能和weblogic.server在同一个JVM中呢。  
   
  另外你说的企业应用程序就是ejb吧,对于你说的企业应用程序可以运行于多个JVM中。  
  是如何实现的呢,我不明白,请仔细说说。  
   
   
  Top

10 楼jhtisboy(容易受伤的男人)回复于 2003-09-02 09:25:13 得分 0

请各位高手再来回答一下我上面的疑问Top

11 楼jhtisboy(容易受伤的男人)回复于 2003-09-02 11:26:53 得分 0

能来个高手回答一下吗?Top

相关问题

  • Java的Heap Size设置上究竟有什么用??(-Xmx,-Xms)
  • 指导几个java就业单位
  • 想学java,请个位指导。
  • 寻找 超级 java高手指导!
  • 有JAVA专家能指导我吗
  • wincap和Jpcap怎么安装在JAVA里,求指导,给分题??
  • 我是java新手,找上海美女java高手网上指导~
  • 请高手帮助指导一下学习JAVA的方法与经典书籍
  • 明明画出的图,咋看不到罗?请指导!!!关键字[java][swing]
  • 请大家指导一下Jsp中,java和javascript交互的问题

关键词

  • 应用程序
  • jvm
  • web应用
  • 领域
  • 执行
  • weblogic
  • server
  • xmx
  • 运行
  • xms

得分解答快速导航

  • 帖主:jhtisboy
  • cbhyk
  • shine333
  • jSirius

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo