【发布时间】:2013-10-31 20:18:47
【问题描述】:
如何检测Java对象的GC调用的最佳方法?
我正在为 C++ 代码构建 Java Wrapper,每次调用 GC 时我都需要释放在 C++ 代码中分配的内存。
我看到了一些解决方案,但没有一个让我满意。
其中一个是:
Object obj = null;
try{
obj = new Object();
// do things
} finally {
if(obj != null){
obj.freeCObjects();
}
}
【问题讨论】:
-
每次调用 GC 时我都需要释放内存这不是 GC 已经在做的吗?
-
@SotiriosDelimanolis 我说的是从 C++ 包装器对象中释放内存。
-
其他解决方案有什么问题?您希望得到什么样的改进?
-
JDK 没有提供到 GC 的钩子。
-
@Keppil 我想讨论所有人的好处并了解其他解决方案。我正在构建一个 API,所以我想为我的解决方案选择最佳方式。
标签: java c++ memory java-native-interface wrapper