用蛮力搜索Java数组而不占用内存?
我正在比较一个没有重复元素的数组的构造中的方法,然后得到它所花费的时间和使用的内存 对于hash方法和treeset方法,内存打印没有问题,但是对于bruteforce搜索,它不会打印任何内存。有没有可能蛮力不使用任何“值得尊敬的”内存,因为它只是逐个比较一个元素?这是我的密码。有没有可能是出了什么问题用蛮力搜索Java数组而不占用内存?,java,memory,Java,Memory,我正在比较一个没有重复元素的数组的构造中的方法,然后得到它所花费的时间和使用的内存 对于hash方法和treeset方法,内存打印没有问题,但是对于bruteforce搜索,它不会打印任何内存。有没有可能蛮力不使用任何“值得尊敬的”内存,因为它只是逐个比较一个元素?这是我的密码。有没有可能是出了什么问题 public static void main(String[] args) { Random r = new Random(); int wa
public static void main(String[] args)
{
Random r = new Random();
int warmup = 0;
while(warmup<nr) {
tempoInicial = System.nanoTime();
memoriaInicial = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
while(ne<max)
{
valor = r.nextInt(maxRandom);
acrescentar();
}
tempoFinal = System.nanoTime();
memoriaFinal = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
retirar();
System.gc();
warmup++;
}
publicstaticvoidmain(字符串[]args)
{
随机r=新随机();
int预热=0;
当(预热测试少量内存时,请尝试关闭TLAB,并且没有对象太小。;-XX:-UseTLAB
TLAB一次为每个线程分配内存块。这些内存块不计入可用内存
您可能会发现这篇文章很有用。我正在使用eclipse,在测试之后如何打开它?很抱歉,所有的问题。您应该能够在运行任务时设置JVM选项。我已经有一段时间没有使用eclipse了。您是对的,有一些选项允许我在应用程序配置中引入命令。但是蛮力没有结果……这很奇怪,有没有办法以位的形式获取内存?它可能不使用任何内存
private static void acrescentar()
{
if(usaTreeSet)
{
if(ts.contains(valor))
return;
ts.add(valor);
}
if(usaHashSet)
{
if(hs.contains(valor))
return;
hs.add(valor);
}
if(usaBruteForce)
{
for(int i=0; i<ne; i++)
{
if(pilha[i]==valor)
return;
}
}
pilha[ne]=valor;
ne++;
}