zoukankan      html  css  js  c++  java
  • java获取一个对象的内存大小

    网上有很多博客,针对于计算对象的内存大小的方法,我在此提供一种简便的计算内存大小的办法:

    private static String getPrintSize(long size) {
            //如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义
            if (size < 1024) {
                return size + "B";
            } else {
                size = size / 1024;
            }
            //如果原字节数除于1024之后,少于1024,则可以直接以KB作为单位
            //因为还没有到达要使用另一个单位的时候
            //接下去以此类推
            if (size < 1024) {
                return size + "KB";
            } else {
                size = size / 1024;
            }
            if (size < 1024) {
                //因为如果以MB为单位的话,要保留最后1位小数,
                //因此,把此数乘以100之后再取余
                size = size * 100;
                return size / 100 + "."
                        + size % 100 + "MB";
            } else {
                //否则如果要以GB为单位的,先除于1024再作同样的处理
                size = size * 100 / 1024;
                return size / 100 + "."
                        + size % 100 + "GB";
            }
        }

    使用示例:

    log.info("耗用内存:{}",getPrintSize(Arrays.toString(datas.toArray()).getBytes().length));
  • 相关阅读:
    Innodb加载数据字典 && flush tables
    MySQL purge log简单吗
    MySQL ddl丢表
    数据库 一致性读&&当前读
    java数组
    customer.java
    java构造函数
    EXCEL 2007施工进度横道图制作步骤及实战练习
    如何利用office绘制施工进度计划横道图?
    计算器
  • 原文地址:https://www.cnblogs.com/pangyangqi/p/11010324.html
Copyright © 2011-2022 走看看