实现对象析构函数的JavaJNI接口

jm81lzqq  于 2021-06-26  发布在  Java
关注(0)|答案(0)|浏览(177)

因此,我的问题基本上是,是否有可能实现定制的jni,以便它能够立即从堆中移除对象,而不是等待垃圾收集器对其执行操作。
我的问题目标主要集中在使用创建大量对象来计算somthing的临时函数时消耗的内存上。
例如:我有这样一个函数:

public Integer[] countDuplicates(int[] values) {
    Map<Integer, Integer> l = new HashMap<Integer, Integer>();
    Integer c;
    for (int v : values) {
        c = l.get(v);
        if (c == null) {
            c = 0;
        }
        l.put(v, c + 1);
    }
    Integer[] result = l.values().toArray(new int[l.size()]);
    // < A Way to free the Map from the heap>
    return result;
}

如您所见,在方法结束后不需要Map,因此,我的问题是,有没有任何方法,或者使用jni,或者在gc上实现任何命令,或者甚至是一个口号,在方法运行后强制从堆中删除?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题