JVM的内存是多少
来源:互联网 发布:互联网 数据 编辑:程序博客网 时间:2024/04/28 03:57
JVM的内存是多少
作者:忙碌命
Blog: http://blog.csdn.net/laiboy
http://laiboy.cublog.cn
Java的虚拟机最大的内存是多少?资料上有说在Windows上内存可以达到1200M至1500M左右,在Linux上可以达到2600M左右,但是总的来说,JVM的内存的大小与是跟操作系统的版本和JVM的版本有关,所以,还是要试验才可以知道实际情况. 设置好你的JRE或JDK的环境路径到系统的PATH,在命令行下输入以下命令: Java -Xmx1446M -version 如下图所示的输出 从以上图可以看到,我的机子上的JVM的内存最多可以达到1446M. 很简单就可以试出来了,不是吧,但是你要记得,JVM的内存大小是与操作系统与JVM的版本有关系的.所以首先你要猜猜是多少,然后再不停地敲上面这个命令 Java -Xmx1024M -version Java -Xmx1028M -version ........ 手打累了~~~ 说真的,你嫌烦我也嫌打得累! 重复的事情,程序解决! 1.判断成功与否. 2.逐步逼近最大值. 这就是我们设计程序去解决这个问题的两个步骤,第一个是比较简单,就是获取命令行的输出,判断第一行文本就知道JVM是否创建成功了.具体原理就不说了,看代码,创建一个CUI的进程,将输出文本用管道(Pipe)截取. 以上为实现代码,在演示程序中的ExecuteCommand函数中. 第二个比较复杂一点,但是流程也如下图所示,当到达某点值时,再增大-X的值时就失败了,所以我们就只需要判断该点是什么.最简单的就是逐渐加大数值,但是效率太低,我不喜欢. 但是,看上面的图,大概可以知道,在8G内存的时候,如果要逐加,假设从1M开始,最低也要8192次才能到达内存,这样太浪费时间了,用二分法可以降低运行次数. 假设开始1M到8000M.1M时创建JVM成功,8000M时创建JVM失败. 则肯定最大值在1M到8000M之间.将其再分成两部分[1M,4000M], [4000M,8000M],如果1M成功,4000M失败,则最大值肯定在1M到4000M之间,[4000M,8000M]这个区间不需要再计算了.将[1M,4000M]再分成两个区间, [1M,2000M],[2000M,4000M],重复以上判断,则肯定在1M到2000M之间,再重复以上步骤,最终的结束条件就是,[a,b],a值时成功,b值是失败,b-a的值为1,则a的值为JVM的最大值.因此,实现代码如下. 整个程序的运行时间相对于逐增内存的方法呈指数级下降!运行结果如下图所示! 问题
测试
解决问题
- JVM的内存是多少
- JVM支持的最大内存Xmx值是多少?
- JVM支持的最大内存Xmx值是多少?
- 在一台服务器上面,JVM可以分配到的最大内存是多少?
- Windows XP支持的最大内存是多少?
- JVM的内存优化
- JVM内存的管理
- JVM内存的设置
- JVM的内存设置
- JVM的内存模型
- JVM的内存管理
- jvm的内存结构
- JVM内存的设置
- 增大JVM的内存
- JVM的内存优化
- JVM的内存划分
- JVM的内存结构
- JVM的内存划分
- OGC标准介绍 9
- Delphi与Flash之间的数据传递
- linux文件夹目录以及一些基本的命令
- Excel Macro调用SAP Module
- WinForm项目制作安装包过程
- JVM的内存是多少
- 开启远程登录的telnet服务,并且可以允许root用户登录
- 动态分配二维数组以及二维数组传参
- 此刻进入正当时----android
- 阳光态度,快乐生活
- Linux 2.6 字符设备驱动程序
- win 2003--BDC升级为PDC的方法
- linux设备号之操作
- NS系列芯片破解