JavaWebStart:如何根据客户机可以管理的内容改变jnlp中的堆内存请求?
因此-jnlp文件可以请求堆内存大小:JavaWebStart:如何根据客户机可以管理的内容改变jnlp中的堆内存请求?,java,memory,heap,jnlp,java-web-start,Java,Memory,Heap,Jnlp,Java Web Start,因此-jnlp文件可以请求堆内存大小: <j2se version="1.6+" href="blah" max-heap-size="1g"/> 对于基于web的应用程序来说,1G的内存是一个很大的要求,不是吗,但遗憾的是,用户可能想用我的应用程序执行的一些任务(不是全部)需要这么多内存 问题是,如果您请求的最大堆大小大于jvm希望允许的最大堆大小,那么它将以静默方式失败。哎呀 我不知道的第一件事是jvm如何决定允许的最大堆大小。大概这取决于可用内存 假设是这种情况,是否有一
<j2se version="1.6+" href="blah" max-heap-size="1g"/>
对于基于web的应用程序来说,1G的内存是一个很大的要求,不是吗,但遗憾的是,用户可能想用我的应用程序执行的一些任务(不是全部)需要这么多内存
问题是,如果您请求的最大堆大小大于jvm希望允许的最大堆大小,那么它将以静默方式失败。哎呀
我不知道的第一件事是jvm如何决定允许的最大堆大小。大概这取决于可用内存
假设是这种情况,是否有一种方法可以测试客户机上有多少可用内存,并且只请求一个较大的最大堆大小(如果它可以处理它)?能力较差的客户机可以使用较小的堆运行,并失去一些功能
。。。是否有一种方法可以测试客户机上有多少可用内存,并且只有在它能够处理的情况下才请求一个较大的最大堆大小
我不这么认为。(让服务器查询用户电脑的内存量可能是一个潜在的安全问题…)
我认为您最好能为用户提供多个不同堆大小的JNLP链接,并允许他们在其中进行选择。谢谢,这就是我想做的。可惜jvm不能只设置更小的堆大小。。。我把我的请求当作不做或不死的请求。或者,允许在运行时更改java代码的最大堆大小。@SideshowBob-不幸的是,HotSpot JRE不支持这两个功能。