「java最大堆」java最大堆api

博主:adminadmin 2022-12-09 03:57:06 75

本篇文章给大家谈谈java最大堆,以及java最大堆api对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA虚拟机的最大堆大小如何设置?

虚拟机的堆大小设置不属于java标准选项,也就是说实现一个java虚拟机,不一定要支持这个功能。

不过流行的发行版都是实现了这个选项,输入java -X,会输出有哪些非标准选项被支持。

单独输入这个选项(-Xms),是不能工作的,缺少必要的class参数,请注意提示的用法那一段中,非中括号的部分,那些是必选的。

正确用法:

java -Xss64m Test

Test是class的名字

北大青鸟java培训:增加java堆空间方法?

在大多数32位机、Sun的JVM上,Java的堆空间默认的大小为128MB,但也有例外,例如在32未Solaris操作系统(SPARC平台版本)上,默认的最大堆空间和起始堆空间大小为-Xms=3670K和-Xmx=64M。

对于64位操作系统,一般堆空间大小增加约30%。

但你使用Java1.5的throughput垃圾回收器,默认最大的堆大小为物理内存的四分之一,而起始堆大小为物理内存的十六分之一。

要想知道默认的堆大小的方法,可以用默认的设置参数打开一个程序,使用JConsole(JDK1.5之后都支持)来查看,在VMSummary页面可以看到最大的堆大小。

用这种方法你可以根据你的程序的需要来改变堆内存大小,我强烈建议采用这种方法而不是默认值。

如果你的程序很大,有很多对象需要被创建的话,你可以用-Xmsand-Xmx这两个参数来改变堆内存的大小。

Xms表示起始的堆内存大小,Xmx表示最大的堆内存的大小。

另外有一个参数-Xmn,它表示newgeneration(后面会提到)的大小。

陕西电脑培训认为有一件事你需要注意,你不能任意改变堆内存的大小,你只能在启动JVM时设定它。

java中有最大堆吗

虚拟机上有你说这参数,正常情况不用调整,虚拟机会自行管理。尤其jdk8的虚拟机有几个跟内存相关的参数,调整了也不生效。java里面没听说过需要自行控制堆大小,也没听说过可以自行改变堆大小的api。控制堆的职责在虚拟机实现,对虚拟机启动参数理解够好可以自行调整。

补充一点其他知识:堆,栈的控制,操作系统api会提供此功能。直接运行在操作系统上的进程,可以调用到系统api。如虚拟机一般就是c+系统api实现的。因此虚拟机自身可以堆栈cpu等等系统资源。而操作系统可看成与硬件直接打交道的接口平台(实际上又封装了N层,不用管)。能了解此段的内容,理解第一段应该没问题了。java可以直接访问操作系统库,很少有应用这么用。或者就不推荐这么用,如果这么用为什么不直接用系统api?此处别钻牛角尖。java有安全机制,如果访问操作系统底层的api能否可行不清楚。我也没试过。

java最大堆的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java最大堆api、java最大堆的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-09,除非注明,否则均为首码项目网原创文章,转载请注明出处。