例如,假设我有一个应用程序,它可以读取包含一堆数据行的CSV文件。我根据数据类型向用户提供行数摘要,但是我想确保不读取太多数据行并导致OutOfMemoryErrors。每一行都会翻译成一个对象。有没有一种简单的方法来以编程方式找出该对象的大小?是否有一个引用来定义一个基本类型和对象引用的大小?

在Java中,确定对象object大小的最佳方法是什么?

编译并将该类放入JAR中:

import java.lang.instrument.Instrumentation;

public class ObjectSizeFetcher {

private static Instrumentation instrumentation;

public static void premain(String args, Instrumentation inst) {

instrumentation = inst;

}

public static long getObjectSize(Object o) {

return instrumentation.getObjectSize(o);

}

}

将以下内容添加到您的MANIFEST.MF:

Premain-Class: ObjectSizeFetcher

使用getObjectSize:

public class C {

private int x;

private int y;

public static void main(String [] args) {

System.out.println(ObjectSizeFetcher.getObjectSize(new C()));

}

}

调用:

java -javaagent:ObjectSizeFetcherAgent.jar C

java object大小_在Java中,确定对象object大小的最佳方法是什么? - Break易站相关推荐

  1. java map大小_Java中HashMap的size()方法: HashMap.size() - Break易站

    Java中的HashMap HashMap类的java.util.HashMap.size()方法用于获取哈希映射HashMap中映射的大小,该映射引用Map中键值对或映射的数量. 句法: Hash_ ...

  2. java 创建动态int数组_在Scala中创建动态增长数组的最佳方法是什么?

    如果要使用不可变结构,可以使用以下方法: scala> val orgList = List(1,2,3) orgList: List[Int] = List(1, 2, 3) scala> ...

  3. java outlook 日历_使用Outlook中的“日历”功能管理日程的方法

    经常在外奔波的销售经理小黄,需要时刻掌控自己的日程.小黄通常使用Outlook中的"日历"功能来统一组织和管理自己的日程信息.当他外出办公,或者在差旅途中时,如若手边没有计算机,他 ...

  4. java map isempty_Java中HashMap的isEmpty()方法: HashMap.isEmpty() - Break易站

    Java中的HashMap HashMap类的java.util.HashMap.isEmpty() 方法用于检查映射的空白.如果HashMap中没有键值对或映射,则该方法返回True,否则返回Fal ...

  5. java 获取文件权限_Java中的文件权限,检查权限和更改权限 - Break易站

    Java提供了许多方法调用来检查和更改文件的权限,例如可以将只读文件更改为具有写入权限.当用户想要限制文件允许的操作时,需要更改文件权限.例如,文件权限可以从写入更改为只读,因为用户不再想要编辑文件. ...

  6. python中怎么比较两个列表的大小_在Python中比较两个大小不同的列表

    我有两张不同尺寸的单子.一个有产品名称,另一个有品牌名称(可以是一个词或多个词). 我需要检查产品名称是否有确切的品牌名称(存在于品牌列表中)并提取相同的其他返回空列表. 我在提取匹配的品牌名称时面临 ...

  7. java隐藏密钥_java – 在Android中隐藏密钥库密码的最佳方法是什么?

    我是Android开发和实现SSLSockets的新手.在做了一些挖掘后,我能够设置一个正常工作的简单服务器/客户端.我认为实现可以使用一些工作,并且难以将密码加载到密钥库而不用纯文本.这是客户端的一 ...

  8. python对数据进行分类_在Python中对一系列数据进行分类的最佳方法

    我一直在研究图像处理问题,并且已经对一堆图像进行了预处理,以找到这些图像中最突出的水平线.基于此数据,我想对图像的视角是好还是坏进行分类. 数据点是我能够在一系列图像中检测到的线的角度.从图像的角度来 ...

  9. java判断一个对象是否为空_Java中判断对象是否为空的方法的详解

    首先来看一下工具StringUtils的判断方法: 一种是org.apache.commons.lang3包下的: 另一种是org.springframework.util包下的.这两种StringU ...

  10. java if equals_Java中判断对象是否相等的equals()方法使用教程

    Object类中的equals方法用于检测一个对象是否等于另一个对象.在Object类中,这个方法判断两个对象是否具有相同的引用,如果两个对象具有相同的引用,它们一定是相等的.从这点上看,将其作为默认 ...

最新文章

  1. linux mysql 数据目录迁移后不生效_mysql 本地数据目录迁移
  2. 解决MYSQL大表问题-实战篇(二)
  3. iPhone UITextField-更改占位符文本颜色
  4. kf真空接头标准尺寸_酒泉VER8314KN39H出口过滤器滤芯 高线真空滤油机介
  5. GPU 编程入门到精通(四)之 GPU 程序优化
  6. oracle 时间小于,jquery easyui 对于开始时间小于结束时间的判断示例
  7. 一个优美的架构需要考虑的几个问题
  8. 远东传动收购机器人_一张图为你总结最近5年在机器人领域收购案例
  9. MAC VSCode Go代码第一次运行配置
  10. 51nod 最长的循环节(对循环小数位的理解+快速幂+欧拉筛)
  11. 「WTF系列」深入Java中的位操作
  12. 【Django】(一)django的下载、安装、配置及创建项目等
  13. 3d数字孪生工厂可视化三维建模平台
  14. android 隐藏应用程序,AppHider隐藏应用
  15. Unity新创建的物体是灰色的,而且无法通过白色材质球给予纯白色(结果还是灰色)
  16. 删除在计算机的没用东西,怎么删除电脑中没用的东西?
  17. 软件系统的多维性能模型
  18. 利用mysql物理文件(*.ibd,*.frm)回复数据
  19. SAP SMTP邮箱配置全过程
  20. 异常检测——Anomaly Detection

热门文章

  1. 【iOS】高德地图MAMapKit的使用:导航功能。
  2. Python学习笔记:玩转emoji表情
  3. 【路径规划】基于水滴算法求解多仓库车辆路径规划问题matlab代码
  4. 2019年网页设计趋势前瞻,先睹为快
  5. github库的本地下载、上传、删除的常用命令
  6. Android读取邮件,如何在Android中以编程方式获取Gmail邮件
  7. PPT转换成PDF文件的方法
  8. eclipse spring boot项目搭建_基于Spring-boot的kettle调度项目
  9. 五大农业物联网应用方案
  10. 你说晶振与晶体一样吗?