首页

关于Java代码实现对象、数组及类集List等字节占用大小的ByteSizeUtil工具类代码示例

标签:字节代码示例demo,ByteSizeUtil,字节占用大小,字节长度工具类     发布时间:2019-08-03   

一、前言

通过Java代码实现对象、List类集、数组、Map及常用数据类型等占用字节大小的代码示例,详情参见代码示例部分。

二、代码示例

package com.xwood.demo.util;@b@@b@import java.io.ByteArrayOutputStream;@b@import java.io.ObjectOutputStream;@b@import java.util.LinkedList;@b@import java.util.List;@b@@b@public class ByteSizeUtil {@b@	@b@	public  static  int  getByteSize(List<?>  datas) {@b@		int byteSize=0;@b@		try {@b@			ByteArrayOutputStream baos = new ByteArrayOutputStream();  @b@			ObjectOutputStream os = new ObjectOutputStream(baos);  @b@			os.writeObject(datas);  @b@			os.close(); @b@			byteSize=baos.size();@b@			System.out.println("ByteSizeUtil_getByteSize_datas>>>>>>>>>>>>【"+byteSize+"】字节");@b@			baos.close();@b@		} catch (Exception e) {@b@			e.printStackTrace();@b@		}  @b@		return byteSize;@b@	}@b@	@b@	public static   int  getByteSize(Object  data){@b@		int byteSize=0;@b@		try {@b@			ByteArrayOutputStream baos = new ByteArrayOutputStream();  @b@			ObjectOutputStream os = new ObjectOutputStream(baos);  @b@			os.writeObject(data);  @b@			os.close(); @b@			byteSize=baos.size();@b@			System.out.println("ByteSizeUtil_getByteSize_datas>>>>>>>>>>>>【"+byteSize+"】字节");@b@			baos.close();@b@		} catch (Exception e) {@b@			e.printStackTrace();@b@		}  @b@		return byteSize;@b@	}@b@@b@	public static void main(String[] args) throws  Exception{@b@		int n = 2000;  @b@	    List<Integer> list = new LinkedList<Integer>();  @b@	    for (int i = 0; i < n; i++) {  @b@	        list.add(i);  @b@	    }  @b@	    getByteSize(list);@b@	}@b@@b@}

控制台打印结果

ByteSizeUtil_getByteSize_datas>>>>>>>>>>>>【20115】字节
@b@
  • ◆ 相关内容