32位-java Xmx最大能设为多少

问题描述

java Xmx最大能设为多少

我机器是12G的物理内存,win7 64位的操作系统,jdk 1.7 32位的,我用eclipse的run as java application启动应用程序,启动参数设置了-Xmx1100m -Xms1100m竟然报错
Error occurred during initialization of VM
Could not reserve enough space for object heap

把上面的值修改为1024m就ok了

很不理解,为啥,按照道理32位的jdk,至少能设置2G的内存吧,怎么才能1G,而且我也确认了,再出错的那个时刻,系统可用的物理内存,至少还有5G,不理解,还望各位指点

解决方案

你需要看一下你有多少可供分配,先用eclipse默认参数启动,看一下剩余内存有多少?×80%配置到Xmx里,Xms再减一半

试试看吧。

解决方案二:

-Xms: 就是初始堆大小占物理内存的1/64(<1GB) 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制.

时间: 2024-11-01 09:21:56

32位-java Xmx最大能设为多少的相关文章

32位-Java 8在win10系统上安装出现问题

问题描述 Java 8在win10系统上安装出现问题 我的电脑系统是win10 32位,JDK是在官网上下载的最新的版本jdk-8u65-windows-i586,但是我安装过程过总是出现下面的对话框,在最后一步被中断,请各位高手帮忙看下,不胜感激!!!!!! 解决方案 你电脑是不是有安装过JAVA的运行环境 JRE? 这里说的是ID为8024的进程在使用JDK要更新的文件,导致更新失败.而对应的进程就是JAVA的运行环境.

二进制-java中的64位数据和32位数据的区别

问题描述 java中的64位数据和32位数据的区别 之前在看数据之间的相互比较的时候,遇到这样一个问题 "数值间的相等比较,本质是比较他们二进制存储是否相等.例如:0.3f==0.3返回的是false(32位的2进制的0.3表示和64位的0.3表示是不同的):但是0.5f==0.5返回的是true(因为32位和64位的二进制表示是相同的)" 那么我怎么知道要比较的这两个数在32位和64位中是否相等呢,有什么办法吗> 本人初学java,还望给各位多多指点 解决方案 32位和64位下

java 把64位long,转成2个32位的Int,再回转成long

java中long是64位,正好可以转成2个32位的int. 项目中正好 要做这种转换,所以,记录一下转换过程. 简单事例: long i = 55; int i1 = (int) i; int i2 = (int) (i << 32); System.out.println("i1:" + i1 + ";i2:" + i2); long l1 = (i2 & 0x000000ffffffffL) << 32; long l2 = i

有挑战的问题:如何将IIS6.0里面的一些网站或者程序池设成64位,另一些设成32位

问题描述 有挑战的问题:如何将IIS6.0里面的一些网站或者程序池设成64位,另一些设成32位.也就是说,要让一个IIS6.0里面32位和64位的并存.IIS的说明书里面的这种方式cscript%SYSTEMDRIVE%inetpubadminscriptsadsutil.vbsSETW3SVC/AppPools/Enable32bitAppOnWin641或者0,是将整个IIS所有的网站都更改了平台.现在的需求就是要能精确到改部分网站的位数. 解决方案 解决方案二:关注,还没碰到过这种问题解决

java-如何用Java编写判断当前操作系统是32位还是64位 注意:不是JDK是电脑系统

问题描述 如何用Java编写判断当前操作系统是32位还是64位 注意:不是JDK是电脑系统 如何用Java编写判断当前操作系统是32位还是64位 注意:不是JDK 解决方案 VC++如何判断当前操作系统是32位还是64位?VC++如何判断当前操作系统是32位还是64位?VC++如何判断当前操作系统是32位还是64位 解决方案二: 你可以试下这个办法,输出这些语句.... String arch = System.getProperty("os.arch"); String os= Sy

WIN7旗舰版32位如何装java,装java哪个版本好?

问题描述 WIN7旗舰版32位如何装java,装java哪个版本好?我是初学者,想以后做安卓系统,请高人指点一下,因为我每次装完都无法建文本文件. 解决方案 解决方案二:装1.7的32位就行了解决方案三:装个1.8的就行了.版本无所谓.主要是技术.解决方案四:要装就装最新的!解决方案五:http://developer.android.com/sdk/index.html32位的DownloadEclipseADTwiththeAndroidSDKforWindows解决方案六:说要装就装最新的

32位-为什么在虚拟机上安装red hatLinux9只能把鼠标设成ps/2

问题描述 为什么在虚拟机上安装red hatLinux9只能把鼠标设成ps/2 小菜鸟的无厘头提问 我的是win7 系统32位本本,装的是VMware-workstation-6.5.3-185404虚拟机和红帽9.0(我知道特别老版本了),为什么只能设置鼠标为ps/2,其他的选项鼠标会不好使.是兼容问题吗还是因为系统版本太老了,不支持.但是不支持为什么会有那个选项呢. 解决方案 虚拟机的ps/2和你物理机使用usb鼠标不矛盾.

jdk-求助:JAVA生成的汉字每个字节为什么是32位,是不是与操作系统有关,原理是什么

问题描述 求助:JAVA生成的汉字每个字节为什么是32位,是不是与操作系统有关,原理是什么 32位JDK,中文GBK编码占用2个字节,"张"打印出来是由两个字节组成,为什么每个字节是32位,只用到2个字节的后8位组成,其他高位都是1.如果是英文,就是占用1个字节8位,是没问题的. 解决方案 跟操作系统无关,因为我是64位系统.其实你打印的是 int 类型的, 1个int 4个字节 所以32位. 解决方案二: 要这么说的话,64位JDK岂不是要占用两个64位了-- 应该只是打印方法的问题

java编程下字符串的16位,32位md5加密实现方法_java

如下所示: package cn.sunzn.md5; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Str2MD5 { public static void main(String[] args) { MD5("sunzn"); } private static String MD5(String sourceStr) { String r