java Runtime maxMemory

在java如何获取可用用内存大小,一般都会是Runtime的maxMemory()方法,具体实例:

public class MM{
    public static void main(String[] args) {
        System.out.println("Runtime max: " + (double)(Runtime.getRuntime().maxMemory())/1024/1024);
    }
}

使用CMS 回收器时, 应为使用复制算法,所以小于-Xmx设置值
java -Xmx100m -Xms10m -XX:+UseConcMarkSweepGC MM

Runtime max: 96.6875

使用G1 回收器时,
java -Xmx100m -Xms10m -XX:+UseG1GC MM

Runtime max: 100.0

使用ZGC回收器,
java -Xmx100m -Xms10m -XX:+UnlockExperimentalVMOptions -XX:+UseZGC MM

Runtime max: 100.0

你可能感兴趣的:(java Runtime maxMemory)