首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JVMTI分配/释放和malloc/释放

JVMTI分配/释放和malloc/释放
EN

Stack Overflow用户
提问于 2021-09-22 06:55:42
回答 1查看 32关注 0票数 0

可以在一个JVMTI代理中同时由JVMTI Allocate/Deallocate和malloc/free管理内存吗?

我知道我不能释放由JVMTI使用free分配的内存,并且不能使用JVMTI Deallocate来释放使用malloc分配的内存。

我的猜测是,它之所以有效,是因为malloc在必要时从操作系统获取内存,我假设JVMTI Allocate也做类似的事情。由此,我得出结论,JVMTI分配/解除分配和malloc/free不会相互干扰。

背景:我有一些使用malloc/free的库,我想在我的JVMTI代理中使用它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-22 07:11:14

许多复杂的软件库都使用自己的内存管理。优点是-尤其是对于图像处理-对内存的需求通常是相同的大小。在这种情况下,内存并没有真正释放,只是添加到一个池中,并在下一次需要时提供。自定义内存管理还可以减少内存不足错误,因为可以更好地管理进程内存。

我在开发图像处理插件时注意到了这一点。我假设这是与jvmti相同的设计理念。

也就是说,允许使用new、delete或malloc、free,这不是问题。正如您已经注意到的,您不能将自定义分配与常规删除或释放混合在一起。因此,您必须确保malloc后面是free和new with delete。此外,任何自定义分配都将使用自定义的免费空间。以此类推。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69279521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档