我正在尝试测试我编写的 Java 程序,以证明其效率。我有许多不同的测试要运行,并且我试图在运行时分析中保持精确。问题是不同的测试可能会访问磁盘上常见的信息。因此,为了在我的实验结果中保持“公平”,我想在实验之间以某种方式以编程方式清除我的 Java 程序正在使用的内部存储器。换句话说,我希望每个实验都有相同的“空内存/缓存”。
我尝试在实验之间读取一个大文件。我也尝试重新启动我的机器。有趣的是,当我读入一个大文件时,时间要糟糕得多,然后我只是重新启动机器(比如 40 秒到 5 秒)。除了在每次实验之间重新启动我的机器之外,清除内部内存的正确方法是什么(即避免通过普通磁盘访问进行实验的人为加速),这是不可行的?