Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Это не было, насколько я знаю, явно определенный в прошлом. Различные браузеры свободны реализовать событие, заказывающее однако, что они считают целесообразным. В то время как большинство достаточно близко во всех практических целях, было и продолжает быть некоторыми нечетными пограничными случаями, где браузеры отличаются несколько (и, конечно, намного больше случаев, где определенным браузерам не удается отправить определенные события во всем ).
Однако черновая рекомендация HTML 5 действительно предпринимает попытку определить, как события будут поставлены в очередь и диспетчеризированы - цикл событий :
Для координирования событий, взаимодействия с пользователем, сценариев, рендеринга, сетей, и т.д, агенты пользователя должны использовать циклы событий, как описано в этом разделе.
должен быть по крайней мере один цикл событий на агент пользователя, и самое большее один цикл событий на единицу связанных контекстов просмотра подобного источника.
цикл событий имеет одну или несколько очередей задачи. Очередь задачи является заказанным списком задач [...], Когда агент пользователя должен поставить задачу в очередь, это должно добавить данную задачу к одной из очередей задачи соответствующего цикла событий. Все задачи из одного конкретного источника задачи должны всегда добавляться к той же очереди задачи, но задачи из различных источников задачи могут быть помещены в различные очереди задачи. [...]
[...] агент пользователя мог иметь одну очередь задачи для событий от нажатия мыши и ключевых событий (источник задачи взаимодействия с пользователем), и другой для всего остального. Агент пользователя мог тогда дать предпочтение событий клавиатуры и событий от нажатия мыши по другим задачам три четверти времени, сохранив интерфейс быстро реагирующим, но не исчерпав ресурсы другие очереди задачи, и никогда не обрабатывая события ни из какого источника задачи не в порядке. [...]
Примечание, которые длятся бит: именно до реализации браузера для определения событий будет группироваться и обрабатываться в порядке, а также приоритете, отданном какому-то конкретному типу события. Поэтому существует мало причины ожидать, что все браузеры диспетчеризируют весь события в фиксированном порядке, теперь или в будущем.