Какова Ваша Любимая область Java API?

См. мой ответ .

В реальных данных это реальная проблема: множественные, несоответствующие, неполные, непоследовательные и многоязычные / регистровые форматы даты, часто смешанные свободно в один набор данных.

Нам нужно попробовать ... уловить несколько форматов datetime fmt1, fmt2, ..., fmtn и подавить / обработать исключения (из strptime()) для всех несоответствующих (и, в частности, избегать использования yukky n-deep с отступом лестницы try..catch). См. мое решение

7
задан Aaron 20 September 2008 в 01:41
поделиться

14 ответов

Мой любимый Java API является Платформой Наборов. Я использую все это время вместо того, чтобы прокрутить мои собственные реализации, и это очень приятно и просто использовать. Это состоит из нескольких полезных и взаимозаменяемых реализаций высокоэффективных структур данных и алгоритмов, а также нескольких удобных методов для обертывания дополнительной функциональности вокруг них.

Учебное руководство Josh Bloch может быть найдено здесь: http://java.sun.com/docs/books/tutorial/collections/index.html

22
ответ дан 6 December 2019 в 04:45
поделиться

InheritableThreadLocal полностью!!! Именно так много возможности написать запутываемый код и барабан веревки для зависания себя просто никогда, кажется, не заканчивается.

0
ответ дан 6 December 2019 в 04:45
поделиться

Вспоминая о моих днях Java, сингл, большая часть забавного API для использования была java.util.concurrent, просто потому что он обеспечивает хорошо продуманные и простые в использовании стандартные блоки для параллельной обработки.

1
ответ дан 6 December 2019 в 04:45
поделиться

я соглашаюсь с Отражательным комментарием. безусловно самая полезная/мощная часть Java API

1
ответ дан 6 December 2019 в 04:45
поделиться

java.util.regex

Существуют другие пакеты, без которых я не могу жить, но regex пакет должен быть в верхнем ряду "самых больших дополнений к Java" - определенно правильный там с Наборами.

1
ответ дан 6 December 2019 в 04:45
поделиться

java.util.jar - Помогает с загрузкой .jar файлам в загрузчик класса для моих плагинов приложения!Мне очень нравится.

1
ответ дан 6 December 2019 в 04:45
поделиться

java.util очень util. Почему?

  • Наборы. Многие из них!
  • Классы даты и времени
  • Текстовый сканер
  • Утилита внедрения зависимости (начиная с Java 6)
  • Поток таймера
  • Случайные числа
  • Шаблон "наблюдатель" там
  • Свойства Java
1
ответ дан 6 December 2019 в 04:45
поделиться

Потоки. Потоки в Java намного легче схватить и реализовать, чем их дубликаты в C++ (мнение), и обычно легко видеть, на основе названий потоков, которые идут с API, какой поток собирается сделать для Вас.

3
ответ дан 6 December 2019 в 04:45
поделиться

Отражение. Часть его находится в java.lang.reflect и некоторых в java.lang (главным образом Класс и ClassLoder).

3
ответ дан 6 December 2019 в 04:45
поделиться

javax.naming

http://java.sun.com/javase/6/docs/api/javax/naming/package-summary.html

Java является большой системной интеграцией techonolgy из-за ее мобильности, и JNDI делает хорошее задание абстракции далеко сложностей получения первого контакта с удаленной системой.

3
ответ дан 6 December 2019 в 04:45
поделиться

Определенно Платформа Наборов. Это используется все время, делаете ли Вы серверный Java или сторону клиента, графическую или нет. Это просто в использовании. Большинство классов структуры данных имеет и недженерик и универсальную версию (лучше всего для использования второго, но существует унаследованный код, который использует в большой степени первое), но они в значительной степени идентичны с точки зрения API кроме параметров класса. В.NET эти две версии могут иметь различные имена/API, и это может стать очень сбивающим с толку. Я также как то, как Платформа Наборов Java имеет алгоритмы как статические методы (например, Collections.sort(collectionVar)), а не как методы экземпляра. В.NET они используют методы экземпляра и по некоторым причинам, не, каждая структура данных имеет вид... Платформа Наборов также очень богата, и можно найти и простые и специализированные структуры данных (например, LinkedHashMap, который сохраняет порядок вставки).

Одна оборотная сторона, которую я услышал, - то, что платформа не работает хорошо, и некоторые люди пишут свое собственное. Я не могу проверить его, поскольку я не имею дело с критическим по отношению к производительности материалом.

4
ответ дан 6 December 2019 в 04:45
поделиться

java.util.concurrent очень важен для моей жизни. Мы делаем довольно большое многоядерное программирование и идея попытаться реализовать все наши задачи с помощью необработанных Потоков старого стиля просто заставляет меня чувствовать себя больным.

Хорошим примером того, где пакет параллелизма действительно делают наши жизни легче, является пул специализированных структур данных, которые он обеспечивает. Моим любимым является CopyOnWriteArrayList. Мы используем довольно много в ситуациях, где задача дисплея читает из кэша данных для обновления экрана, в то время как другая задача берет информацию из сети для обновления кэша. Обычно, это было бы приглашением для коллизий, ConcurrentModificationExceptions и подобных ужасов. Используя CopyOnWriteArrayList, задача записи создаст новую копию данных, если это должно добавить данные, таким образом гарантировав, что у читателя всегда будет допустимое (хотя потенциально устаревшим) набором данных для отображения.

Поскольку javadoc говорит,

Это является обычно слишком дорогостоящим, но может быть более эффективным, чем альтернативы, когда пересекающиеся операции значительно превосходят численностью мутации, и полезно, когда Вы не можете или не хотеть синхронизировать обходы, все же должен устранить интерференцию среди параллельных потоков.

Java устраняет целые классы ошибок, которые я обычно представлял бы для решения этой проблемы, позволяя мне сфокусироваться на фактических проблемах, которые я должен решить.

9
ответ дан 6 December 2019 в 04:45
поделиться

Я - огромный поклонник JPA в Java EE. Это уменьшило объем работы, который я должен сделать для обоих крупных приложений (который использовал бы EJBs), и небольшие приложения.

Вторым является JAAS, безопасность API, вот ссылка для Java SE JAAS: http://java.sun.com/javase/technologies/security/

2
ответ дан 6 December 2019 в 04:45
поделиться

Моя любимая часть API определенно java.lang. Этому назвали этот класс String, который позволяет Вам легко управлять массивами символов. Любой программист, который серьезно относится к написанию хорошего кода Java, должен проверить его.

10
ответ дан 6 December 2019 в 04:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: