一个物体有多大?为啥没有sizeof? [复制]

     2023-02-25     248

关键词:

【中文标题】一个物体有多大?为啥没有sizeof? [复制]【英文标题】:How big is an Object? Why is there no sizeof? [duplicate]一个物体有多大?为什么没有sizeof? [复制] 【发布时间】:2011-08-01 06:03:30 【问题描述】:

可能的重复:In Java, what is the best way to determine the size of an object?sizeof java object

C 有一个 sizeof 运算符,它需要有一个,因为用户必须管理对 malloc 的调用,并且因为原始类型(如 long)的大小不是标准化的。 但是在java中我们找不到对象的大小吗? 还有为什么java没有sizeof操作符或方法?

【问题讨论】:

好吧,你总是可以serialize()它并检查它返回的字符串的长度...... 它不是重复的,我不是问我如何找到对象的大小。为什么 java 没有 sizeof 运算符或方法来查找对象的大小 你问的是“java如何管理内存”? @Domodar:你为什么要复制问题!?这个问题在这里被问和回答:http://norvig.com/java-iaq.html 【参考方案1】:

还有为什么java没有sizeof操作符或方法?

答案 #1 - 因为 Java 不需要这个。在 C 中,需要 sizeof 运算符,以便您可以malloc 正确大小的对象,用于执行某些类型的指针运算,等等。在 Java 中,您不需要(也不能)做这些事情。

答案 #2 - Java 中对象的大小相当灵活,并且确实可以在对象的整个生命周期内改变(至少在某些 JVM 中)。因此,sizeof 运算符会有问题。

【讨论】:

【参考方案2】:

您已经回答了自己的问题,在 c 中您管理 java 中的内存,而 jvm 则可以。

在 c 中,您直接为要存储的数据结构 (malloc) 分配内存,因此您经常需要知道这些东西的大小。

在 java 中,内存系统在很大程度上被抽象了,所以你(通常)不关心你只是调用 new 并且它会做它做的任何事情,如果不同的 jvm 做不同的事情,你声明的类使用的内存可能会有所不同。

有时了解您的类占用了多少内存很有用(例如,您试图在一个严格受限的环境中减少内存占用),但您在运行时需要此类信息的情况非常少见。

【讨论】:

您能解释一下您不清楚的地方吗?关于这个主题有很多材料,但我怀疑你有一个疑问,但我们无法猜测它是什么。【参考方案3】:

在 C 中,您必须手动管理内存使用情况,您在问题中也说了这么多。由于您需要为对象分配空间并将其删除,因此需要 sizeof 运算符快速轻松地完成此操作。在 Java 中,内存管理由 JVM 负责。您不需要手动分配和取消分配内存,因此不需要 sizeof 运算符。

【讨论】:

【参考方案4】:

在 c 中有很多关于指针的工作。程序员应该自己管理内存,所以他应该知道类型的大小。但是在 Java 中没有手动内存管理。 JVM 会做这一切,所以不需要 sizeof。

【讨论】:

请问在如下定义中malloc()开辟的空间有多大,其中m[0]=8;m[]1=9;分别占用了多大的空间?

...干什么参考技术A这个嘛TC中是2位VC中是4位 参考技术Bm是一个指针,定义时让它指向一个整形变量大小(VC中应该是4个字节)的内存空间;m是指针,那个m[0]是什么意思呢,看不懂,向楼主请教下啊 查看详情

说明为啥漏桶算法每个时钟节拍只允许发送一个分组,不管分组有多大

参考技术A这个我可以帮你讨回 查看详情

input() 函数的输入可以有多大?

】input()函数的输入可以有多大?【英文标题】:Howbigcantheinputtotheinput()functionbe?【发布时间】:2017-03-2815:57:51【问题描述】:我提供给input()函数的输入可以有多大?不幸的是,没有简单的方法来测试它。在使用大量复制粘贴后,... 查看详情

DOM 元素的内存大小有多大? [复制]

】DOM元素的内存大小有多大?[复制]【英文标题】:HowlargeisthememorysizeofaDOMelement?[duplicate]【发布时间】:2018-06-1511:25:24【问题描述】:我有这个代码:varprop=$(\'body);“prop”是分配更多内存空间还是只是引用元素?【问题讨论】:... 查看详情

两个相同的 sha1 具有不同内容的可能性有多大? [复制]

】两个相同的sha1具有不同内容的可能性有多大?[复制]【英文标题】:Howlikelyisittwoidenticalsha1shavedifferentcontents?[duplicate]【发布时间】:2012-10-2111:54:54【问题描述】:可能重复:ProbabilityofSHA1collisions假设我正在尝试识别文件系统中... 查看详情

为啥网格物体后面没有阴影?

...:2020-09-0419:46:06【问题描述】:我正在为多边形模型创建一个基于OpenGL的光线追踪器。基本结构是将结果从片段着色器渲染到四边形。为了加速应用程序,使用了BVH树。问题是,测试阴影射线是否与某物相交的方法在不应该返回... 查看详情

有没有办法知道通过http流式传输的文件有多大?

我在我的一个小节点应用程序中通过express发送了一个相当大的文件。由于文件太大,我以流形式发送文件。在正在下载文件的接收节点应用程序上,我真的希望能够跟踪下载的进度。这个SOquestion使用'content-length'标题来确定文件... 查看详情

为啥 sizeof() 返回 4 个字节而不是 2 个字节的 short int? [复制]

】为啥sizeof()返回4个字节而不是2个字节的shortint?[复制]【英文标题】:whyissizeof()returning4bytesratherthan2bytesofshortint?[duplicate]为什么sizeof()返回4个字节而不是2个字节的shortint?[复制]【发布时间】:2017-07-2611:15:43【问题描述】:使... 查看详情

Golang 中的通道队列有多大?

...2017-05-1620:01:30【问题描述】:在Golang中,无缓冲通道只是一个FIFO队列。任何时候该队列中可以有多少项目?有限制吗?【问题讨论】:无缓冲意味着没有缓冲(零)。见Golang-Whatischannelbuffersize?。我明白了,但是未缓冲与缓冲属... 查看详情

为啥将 C-Array 传递给函数时 sizeof() 值错误? [复制]

】为啥将C-Array传递给函数时sizeof()值错误?[复制]【英文标题】:WhydoesaC-Arrayhaveawrongsizeof()valuewhenit\'spassedtoafunction?[duplicate]为什么将C-Array传递给函数时sizeof()值错误?[复制]【发布时间】:2011-02-2609:05:01【问题描述】:完整示例... 查看详情

java示例代码_无论内存需求有多大,有没有办法强迫JVM使用交换

java示例代码_无论内存需求有多大,有没有办法强迫JVM使用交换 查看详情

狂飙的后劲有多大,讲述的究竟是什么一个故事

狂飙的后劲有多大,讲述的究竟是什么一个故事,#看完狂飙的后劲有多大,#狂飙,#疯驴子!狂飙的后劲有多大,讲述的究竟是什么一个故事 查看详情

ssl延迟有多大?

...纳,原因之一是HTTPs链接比不加密的HTTP链接慢很多。(另一个原因好像是,HTTPs 查看详情

为啥 sizeof(IO_ERROR_LOG_PACKET) == 48 而不是 44? [复制]

】为啥sizeof(IO_ERROR_LOG_PACKET)==48而不是44?[复制]【英文标题】:Whyissizeof(IO_ERROR_LOG_PACKET)==48andnot44?[duplicate]为什么sizeof(IO_ERROR_LOG_PACKET)==48而不是44?[复制]【发布时间】:2021-12-2822:36:49【问题描述】:typedefstruct_IO_ERROR_LOG_PACKETUCHA 查看详情

RSS 提要 XML 文件有多大?

...加几百个项目。是否有一些存档协议,或者我可以只保留一个文件并继续附加到它吗?我认为这将是低效 查看详情

为啥这段代码输出这么多数字? [复制]

...2218:26:55【问题描述】:从两个数组a和b开始,我试图输出一个矩阵c,其维度为sizeof(a)和sizeof(b),其条目是a和b的每对笛卡尔积的乘积。这些产品也存储在一个二维数组c中。我的代码如下。#includ 查看详情

Core SignalR 消息大小 - 有没有办法记录您的消息有多大?

】CoreSignalR消息大小-有没有办法记录您的消息有多大?【英文标题】:CoreSignalRmessagesizes-isthereawaytologhowlargeyourmessagesare?【发布时间】:2022-01-1806:43:08【问题描述】:我已通读文档,似乎没有内置方法来测量通过SignalR发出/传入的... 查看详情

PayPal 集成 (IPN) - 真的有多大可能?

...它工作。我也在不同的场合问了几个问题,就在S/O上(在一个旧的、现已取消 查看详情