首页 > 基础资料 博客日记

系列十、堆参数调优

2023-11-16 17:59:37基础资料围观195

本篇文章分享系列十、堆参数调优,对你有帮助的话记得收藏一下,看Java资料网收获更多编程知识

一、堆内存调优参数

-Xms堆空间的最小值,默认为物理内存的1/64
-Xmx堆空间的最大值,默认为物理内存的1/4
-XX:+PrintGCDetails输出详细的GC处理日志

二、获取堆内存的默认物理内存

/**
 * @Author : 一叶浮萍归大海
 * @Date: 2023/11/16 14:50
 * @Description: 获取堆内存的默认物理内存大小
 */
public class HeapMainApp {

    public static void main(String[] args) {
        // Java虚拟机试图使用的最大内存
        long maxMemory = Runtime.getRuntime().maxMemory();
        // 当前Java虚拟机中的内存总量
        long totalMemory = Runtime.getRuntime().totalMemory();
        System.out.println("【-Xmx】最大内存 = " + maxMemory + " (字节)、" + (maxMemory / (double) 1024 / 1024) + " (MB)");
        System.out.println("【-Xms】总内存 = " + totalMemory + " (字节)、" + (totalMemory / (double) 1024 / 1024) + " (MB)");
    }

}

三、修改堆内存大小

-Xms1024m -Xmx1024m -XX:+PrintGCDetails

四、OOM异常演示

/**
 * @Author : 一叶浮萍归大海
 * @Date: 2023/11/16 15:31
 * @Description: 修改堆内存的最大值和最小值为10m,方便观察GC的回收过程
 * -Xms10m -Xmx10m -XX:+PrintGCDetails
 */
public class OomMainApp {

    public static void main(String[] args) {
        String message = "欧耶,今天星期五!";
        while (true) {
            message += message + new Random().nextInt(88888888) + new Random(99999999);
        }
    }

}

五、获取本机的cpu核数

/**
 * @Author : 一叶浮萍归大海
 * @Date: 2023/11/16 14:39
 * @Description: 获取本机的电脑核数
 */
public class CpuMainApp {

    public static void main(String[] args) {
        System.out.println(Runtime.getRuntime().availableProcessors());
    }

}


文章来源:https://blog.csdn.net/HelloWorld20161112/article/details/134441533
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云