32位java内存_java-64位Windows上的32位JVM在启动时崩溃-Xmx1300m和大量可用内存

我正在努力使用

Java堆空间设置. Windows上的默认Java是32位客户端,与操作系统版本无关(这是Oracle向所有用户推荐的).它似乎默认将最大堆大小设置为256 MB,这对我来说太少了.

我使用自定义启动器来启动应用程序.我希望它在具有大量RAM的计算机上使用更多内存,并且在RAM较少的计算机上默认使用-Xmx512m.据我所知,唯一的方法是静态-Xmx设置(必须在启动时设置).

我有一个拥有8 GB RAM,64位Windows和32位Java 7的用户.JVM可见的最大内存是4G(通过查询OperatingSystemMXBean返回).我明白为什么,没问题.

出于某种原因,我的应用程序无法使用-Xmx1300m启动此用户,即使他有2.3G可用内存.他关闭了一些应用程序(拥有5G可用内存),但仍无法启动.报告给我的错误是:

error occured during init of vm

could not reserve enough space for object heap

这是怎么回事?可能是因为32位JVM只能解决“第一”4G内存问题,并且必须在前4 GB内提供1300M块?

除了要求每个人安装64位Java(不太可能接受)之外,我该如何解决这个问题?

编辑:如果它很重要,它是一个胖的Swing客户端,而不是一个小程序.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值