В Java все переменные, которые вы объявляете, на самом деле являются «ссылками» на объекты (или примитивы), а не самими объектами.
При попытке выполнить один метод объекта , ссылка просит живой объект выполнить этот метод. Но если ссылка ссылается на NULL (ничего, нуль, void, nada), то нет способа, которым метод будет выполнен. Тогда runtime сообщит вам об этом, выбросив исключение NullPointerException.
Ваша ссылка «указывает» на нуль, таким образом, «Null -> Pointer».
Объект живет в памяти виртуальной машины пространство и единственный способ доступа к нему - использовать ссылки this
. Возьмем этот пример:
public class Some {
private int id;
public int getId(){
return this.id;
}
public setId( int newId ) {
this.id = newId;
}
}
И в другом месте вашего кода:
Some reference = new Some(); // Point to a new object of type Some()
Some otherReference = null; // Initiallly this points to NULL
reference.setId( 1 ); // Execute setId method, now private var id is 1
System.out.println( reference.getId() ); // Prints 1 to the console
otherReference = reference // Now they both point to the only object.
reference = null; // "reference" now point to null.
// But "otherReference" still point to the "real" object so this print 1 too...
System.out.println( otherReference.getId() );
// Guess what will happen
System.out.println( reference.getId() ); // :S Throws NullPointerException because "reference" is pointing to NULL remember...
Это важно знать - когда больше нет ссылок на объект (в пример выше, когда reference
и otherReference
оба указывают на null), тогда объект «недоступен». Мы не можем работать с ним, поэтому этот объект готов к сбору мусора, и в какой-то момент VM освободит память, используемую этим объектом, и выделит другую.
Да статья Nielsen имеет некоторую хорошую информацию о том, как психология включена. Здесь можно найти больше информации о почему "воспринятая производительность" вопросы, и не только фактическое время отклика.
Приемлемое время отклика UI основано на человеческой психологии и является поэтому тем же для веб-приложений, как они для традиционных настольных приложений.
В зависимости от того, как конечный пользователь чувствует операцию, которая выполняется, приемлемое время отклика могло бы составить 1 секунду (например, для закрытия 'диалогового окна') или 10 секунд (например, для отображения результатов вычисления).
гуру удобства использования Jakob Nielsen записал хорошая статья о приемлемом времени отклика веб-приложения.
Опубликованные инструкции UI определяют то же приемлемое время отклика, например:
Я отправил связанный вопрос и получил некоторые интересные ответы, которые могут помочь. См.
, Что считают хорошим временем отклика для динамического, персонализированного веб-приложения?
Некоторое время назад мне сказал преподаватель, что средний пользователь сдается после 10 секунд ожидания ни с чем случай. Наблюдение, что что-то происходит, вероятно, увеличит их тенденцию ожидать. Но это некоторое время вернулось..., когда межсети были медленнее.
Существует хорошее сообщение в блоге здесь , который утверждает, что там действительно никакой промышленный стандарт.
, Возможно, нет никакого хорошего способа сделать это.
∞ наименее приемлемое время отклика.
После этого максимальное время, когда пользователь ожидает, что он возьмет, который варьируется много в зависимости от Вашего сервиса.
анимированная область значительно увеличит терпение пользователя, будет им песочные часы, скручивание, круг, даже панель, которая заполняется и порожняя тара сама много раз. Пока проблема состоит ясно не в том, что их действия пошли неуслышанные, они будут ожидать.