有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我的代码需要很长时间才能运行,但是我的程序告诉我不是这样

因此,我目前正在尝试测试用不同数量的数据填充AVLTree需要多长时间。当向树中添加少量数据(如16个对象或2824个对象)时,我的程序能够在几秒钟内运行(我使用手机秒表记录时间)。然而,当我向树中添加11000个对象时,大约需要28秒,当我尝试向树中添加250000个对象时,我的程序似乎永远无法完成运行

在程序中,我添加了一个变量,该变量在代码开始时存储当前时间,另一个变量在代码结束时也存储当前时间,这样我就可以大致计算程序运行了多长时间。但有趣的是,当我用2824个对象填充AVLTree时,它表示运行大约需要1.56秒,而当我用11000个对象填充AVLTree时,运行显然需要相同的时间

使用秒表查看运行时间约为28秒,而我的程序告诉我运行时间约为1.56秒,这让我很难看到问题的真正原因。顺便说一下,我目前使用的编译器是EclipseJavaOxy

public class AVLTreeTester {
    public static void main(String[] args) {
    long start = System.currentTimeMillis();
        AVLTree<IPAddress, URL> avlTree = new AVLTree<IPAddress, URL>();
    BufferedReader br = null;
    String line;

    try {
        br = new BufferedReader(new FileReader("src/data/top- 
                250k.txt"));

        while ((line = br.readLine()) != null) {
            String[] values = line.split("\t");
        IPAddress newIP = new IPAddress(values[1]);
        URL newURL = new URL(values[0]);

        avlTree.add(newIP, newURL);
        }

    }catch (IOException e) {
            e.printStackTrace();
    }

    avlTree = null;
    long stop = System.currentTimeMillis();
    double time = stop - start / 1000;
    System.out.println("Took: " + time + " second(s)");
    }
}

共 (0) 个答案