ФорумПрограммированиеБольше языковJava → Оптимизация кода

Оптимизация кода

  • gvik

    Сообщения: 137 Репутация: N Группа: Кто попало

    Spritz Июль 14, 2011, 11:02 д.п.

    Добрый день!
    Написал я первое своё web-приложение на JAVA (web-приложение в файле во вложении).
    Оно вытягивает из БД Informix данные, отрабатывает нормально, но иногда случаются баги.
    Основной баг - медленно работает.
    При отображении 4-х строчек время работы запроса - 0,016 сек, а время работы моего приложения 2,86 сек.
    При отображении 20-ти строчек время работы моего приложения увеличивается до 1 мин. Что я сделал не так?
    Второй баг - при получении большого количества данных отображает часть данных и дальше сваливается через исключение по коллекции (например, размер коллекции 25 строчек, отображает 5 и сообщение исключения такое Index: 5 Size: 0. При чем перед отображение size определяется правильно, т.е. 25). Я думаю что это происходит потому что страница быстро грузится и надо вставить что-то похожее на set_time_limit(0) из php, но я ничего не нагуглил поэтому вопросу.
    Заранее спасибо!
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz Июль 16, 2011, 12:33 п.п., спустя 2 дня 1 час 31 минуту

    Ох бляяя

    List<Result> resultCollection;
    resultCollection = DBConnect();
    out.println("<b>Общее количество кроссировок: " + resultCollection.size() + "</b>\n");
    //out.println(DBConnect() + "</b>\n");
    try {
    int j=0;
    for(int i=0;i<resultCollection.size()-1;i++){
    Result result = resultCollection.get(i);
    Result result1 = resultCollection.get(i+1);
    Result result2 = resultCollection.get(resultCollection.size()-1);
    // ну и дильше по коду везде меняем DBConnect() на resultCollection

    У тебя при каждом обращении к результату присходит коннект, и выдёргивание из бд одних и тех же данных, это пиздец честно говоря.
    Work, buy, consume, die
  • gvik

    Сообщения: 137 Репутация: N Группа: Кто попало

    Spritz Июль 18, 2011, 12:47 п.п., спустя 2 дня 13 минут

    Разобрался)))
    Спасибо за помощь!

Пожалуйста, авторизуйтесь, чтобы написать комментарий!