有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    OpenJDK/Oracle HotSpot JVM使用TLAB(线程本地分配缓冲区)来支持并发对象分配。这意味着每个线程都会抓取内存块供其使用。如果关闭此选项,您将看到精确的内存记帐

    -XX:-UseTLAB一起运行

    long m0 = Runtime.getRuntime().freeMemory();
    Object obj = new Object();
    long m1 = Runtime.getRuntime().freeMemory();
    if (m1 == m0)
        throw new AssertionError("Please disable the TLAB with -XX:-UseTLAB");
    System.out.println(m0 - m1);
    

    印刷品

    16