Другое событие NullPointerException
возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.
String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
System.out.println(phrase.equals(keyPhrase));
}
Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals
для гарантированного непустого объекта.
Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null
.
Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.
String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
System.out.println(phrase.equals(keyPhrase));
}
(Хорошая вводная часть 3 части 2 , части 1 , статьи . Что касается неопровержимых доводов, который зависит от того, для чего Вы используете SQL-сервер. Вам нужно иерархические типы данных ? Вы в настоящее время храните файлы в базе данных и хотите переключиться на новая filestream функция SQL Server ? Вы могли использовать больше дискового пространства путем включения сжатие данных ?
И позволяют нам не забыть способность к СЛИЯНИЕ данные.
Знайте, что много из действительно уничтожающих функций находится только в Enterprise Edition. Сжатие данных и резервное сжатие среди двух из моего главного избранного - они дают Вам бесплатные повышения производительности сразу. Сжатие данных уменьшает сумму ввода-вывода, который необходимо сделать, таким образом, много запросов ускоряет 20-40%. Использование ЦП повышается, но в сегодняшних многоядерных средах, у нас часто есть больше мощности ЦП, но не больше IO. Так или иначе те находятся только на Предприятии.
, Если Вы только собираетесь использовать Standard Edition, затем большинство улучшений требует изменений в Вашем коде приложения и коде T-SQL, таким образом, это не совсем как легкое из продавания.
Кто-то с большей репутацией может скопировать это в основной ответ:
Я предполагаю, что это зависит от Вашей роли
Для меня как разработчик:
Редактирование, поздний обновление, после использования его
Существуют новый , функции добавили . Но, необходимо будет видеть, стоит ли это обновления. Некоторая польза улучшения Studio управления 2008 , хотя, особенно intellisense для Редактора запросов.
SQL 2008 также позволяет Вам отключать повышение уровня блокировок на определенных таблицах. Я нашел это очень полезным на маленьких часто обновляемых таблицах, где блокировки могут нарастить порождение проблем параллелизма. В SQL может быть наращен 2005, даже с подсказкой БЛОКИРОВКИ СТРОКИ на блокировках операторов удаления, который может привести к мертвым блокировкам. В моем тестировании приложение, которое я разработал, имело проблемы параллелизма во время маленькой работы с таблицами из-за повышения уровня блокировок на SQL 2005. В SQL 2008 ушла эта проблема.
все еще важно принять во внимание потенциал наверху обработки больших количеств блокировок строки, но наличие опции остановить эскалацию, когда Вы хотите, очень полезно.
Я ходил на кучу выступлений по SQL Server 2008 в PASS 2008 , единственная «убийственная особенность», с моей точки зрения, - это расширенные события.
Есть много замечательных улучшений, но это было единственное, что приблизилось к тому, чтобы изменить игру для меня. Параметры таблицы значений и слияние были, вероятно, моим следующим фаворитом. Изо дня в день, IntelliSense - это огромный выигрыш. Но это не совсем так для SQL Server 2008, только набор инструментов SQL Server 2008 (другие инструменты могут дать вам аналог IntelliSense против SQL Server 2005, 2000 и др.).
Одно из моих любимых - это отфильтрованные индексы. Теперь я могу создавать молниеносные покрывающие индексы для моих наиболее важных запросов с минимальным влиянием на операторы DML.
/ Håkan Winther
Новые функции действительно великолепны и соответствуют очень важным факторам нашего возраста. Для людей .net использование SQL Server всегда будет благом, я надеюсь, что с использованием последней версии мы будем иметь лучшую безопасность и лучшую производительность, а также введение сжатия размером база данных. Утилита резервного копирования также является явлением.
Еще раз спасибо Microsoft за их замечательные мысли в виде программного обеспечения :)