Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
Было подобное обсуждение здесь недавно для вопроса, Что такое преимущества байт-кода по собственному коду?. Можно найти интересные ответы в том потоке.
Производительность памяти или производительность ЦП? Или действительно ли они - то же в эти дни?
Моя единственная информация является неподтвержденной и на другой платформе: после портирования набора голодных ЦП приложений к C# (.NET 2.0), я не заметил существенной потери в производительности (я не считаю 10% существенными). Правильно написанный код, кажется, работает хорошо на множестве архитектуры.
Большинство приложений тратит/напрасно тратит время с:
Таким образом основанный на моем опыте, если Вы не пишете видеокодек, нет никакого преимущества для компиляции приложений Java по сравнению только с положением на компиляторы горячей точки.
Ваш вопрос является немного большим, ответ варьируются много
Вся недавняя JVM использует JIT, но на старой JVM код Java время на медленнее тот собственный код.
Если у Вас есть сервер, которые работают в течение длительного промежутка времени или пакета, которые выполняют тот же код снова и снова, различие и быть очень низким.
Мы записали тот же пакет и в C++ и в Java и выполнили его с другим набором данных, результат отличаются для приблизительно 3-секундного, со взятием набора данных от 5 минут до нескольких часов.
Но будьте осторожны, они - особый случай, что будет важное различие, например, пакет, которым нужна большая память.
Некоторая более неподтвержденная информация. Я работал над некоторыми производительность критические торговые финансовые приложения в реальном времени. Я соглашаюсь с Frank, почти каждый раз, когда Вашей проблемой не является отсутствие того, чтобы быть скомпилированным, это - Ваш алгоритм или структура данных. Современные компиляторы горячей точки очень хороши с правильным кодом, например, библиотека CERN Colt в 90% скомпилированного, оптимизированного Фортрана для численного расчета.
Если бы Вы волнуетесь по поводу скорости, я действительно рекомендовал бы хорошему профилировщику и получил бы доказательство как, туда, где Ваши узкие места - я использую YourKit и был очень рад.
Мы только обратились к собственному скомпилированному коду для скорости в одном экземпляре в последние несколько лет, и это было так, мы могли использовать CUDA и получить некоторую серьезную производительность GPU.