当运行某个Java程序时,Windows任务管理器会多出个javaw.exe的东东,这个东西是Java虚拟机,现在说的是Java虚拟机在运行时设置其初始化内存大小,和最大使用内存大小的概念。
Xms:初始化内存大小
Xmx:最大使用内存大小
比如将以上两个的值设置成Xms200m,Xmx200m,执行Java程序,此程序是一个Tasker,每隔一段时间执行一次,观察到的现象是javaw.exe的内存使用率会逐渐增加,最后稳定在220000K。
得出的结论(不权威),javaw.exe显示的内存使用情况到最后稳定在2200000K后,这个值应该是之前设置的初始化内存的大小,而Java程序真正使用内存的情况不一定是这个值。但为什么javaw.exe不是一开始就是2200000K这个值,而是根据每次Tasker的开始执行而内存逐渐增大,这点我不知道是怎么回事儿,或者说Java虚拟机的实现原理。
如果哪位朋友知道这方面的知识,还请赐教,谢谢。