java -/usr/bin/time 是否包括 java 程序的程序后垃圾收集?

标签 java linux time garbage-collection

我正在编写一个用 Java 和 C++ 实现的基准矩阵乘法程序。我想减少垃圾收集对 Java 程序时序的影响,以便尽可能接近 C++ 版本。

为此,我将矩阵数组设为主类的最终静态成员,我认为在我的程序线程完成执行后将收集这些成员。

public class MatMult {
    public static final int m1[][] = new int[BIGNUM][BIGNUM];
    //  ... repeat

    public static void main() {
        //  ... do fun maths
    }
}

当我为这些计时(/usr/bin/time java MatMult)时,计时是否包括在 MatMult 完成执行后清理静态成员所花费的时间? (我的印象是此时清理是由单独的 JVM 线程完成的)

最佳答案

作为一般规则,Java 运行时环境不会在退出时执行垃圾回收。更直接的关注​​点是 JIT 的性能成本,当然还有尝试 Write Dumb Code .此外,main() 的签名采用 String[] 之类的

public static void main(String[] args) {

关于java -/usr/bin/time 是否包括 java 程序的程序后垃圾收集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29069645/

相关文章:

java - 在不使用WifiInfo实例的情况下在android中获取MAC地址

linux - 如何复制 PCR 值的扩展,例如沙姆?

c++ - realloc和calloc是否调用malloc?

linux - 在 Linux 上从内核直接访问用户内存

time - YouTube视频,wordpress

jquery 将数字转换为日期?

ruby-on-rails-3 - 计算以天、小时和分钟为单位的时间差

java - 查找数组中不存在空值的索引

java - 解密的字符串具有有效和无效字符

java - 自制迭代器bug