【答疑解惑】java怎么计算对象的大小

虽然java程序不用管理内存,但是却比较吃内存,那究竟java中一个类占用了多少内存呢?你知道么?我们今天就来算算。

import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.util.HashMap; import java.util.Map;

public class Test{

public static void run(String[] args) throws IOException { Map<String, String> map = new HashMap<String, String>(); map.put("class", "Test"); map.put("struct", "test"); ByteArrayOutputStream byteArrayOS = new ByteArrayOutputStream(); ObjectOutputStream objectOS = new ObjectOutputStream(byteArrayOS); objectOS.writeObject(map); byte[] byteArray = byteArrayOS.toByteArray(); System.out.println(byteArray.length); } }

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-07-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏三好码农的三亩自留地

关于String你还需要知道这些细节

只要是写Java的,String肯定是经常用的,比如下面这样的代码(可能我们都写烂了)

813
来自专栏二进制文集

设计模式之——Singleton pattern

The singleton pattern is implemented by creating a class with a method that crea...

643
来自专栏Java帮帮-微信公众号-技术文章全总结

数据库连接池、dbutil_知识点全掌握

数据库连接池、dbutil ? 数据库连接池 1 数据库连接池的概念 用池来管理Connection,这可以重复使用Connection。有了池,所以我们就不用...

2835
来自专栏软件开发

写一个ORM框架的第一步(Apache Commons DbUtils)

新一次的内部提升开始了,如果您想写一个框架从Apache Commons DbUtils开始学习是一种不错的选择,我们先学习应用这个小“框架”再把源代码理解,然...

851
来自专栏用户2442861的专栏

JAVA 对象序列化(一)——Serializable

http://www.cnblogs.com/chenfei0801/archive/2013/04/05/3001149.html

643
来自专栏博客园

设计模式学习-单例模式

但是这么做不感觉有问题吗?假如这个类我们并不使用或在程序启动很久以后我们才使用,那么这个对象的预创建不就很浪费吗?并且如果这个对象的创建需要很大的资源,那......

553
来自专栏orientlu

python super()和classmethod

子类中定义了同父类同名的函数后,需要显示调用父类函数时,可以通过 super,也可以直接通过父类名,建议使用 super,比如在初始化函数中调用父类初始化方法,...

823
来自专栏有趣的django

第二章、深入类和对象

1670
来自专栏IT可乐

mybatis源码解读(三)——数据源的配置

1133
来自专栏Java Edge

Mybatis#BaseExecutor源码解析BaseExecutor源码解析

BaseExecutor是Executor的一个子类,是一个抽象类,实现接口Executor的部分方法,并提供了三个抽象方法

836

扫码关注云+社区