20 распространенных библиотек классов и API, которые должны знать Java-разработчики

Java задняя часть

нажмите на синий

Подписывайтесь на нас

Количество полных символов: 2400

Время чтения: 5 минут

Вы сидите на месте? я собираюсь водить

Одной из отличительных черт опытного Java-разработчика является способность создавать автомобили, используя уже имеющиеся у них колеса. Автор книги «Эффективная Java» Джошуа Блох однажды сказал: «Для разработки рекомендуется использовать существующий API, а не изобретать велосипед». В этой статье я поделюсь некоторыми наиболее полезными и необходимыми библиотеками и API, с которыми должен быть знаком Java-разработчик. Кстати, такие фреймворки, как Spring и Hibernate, сюда не включены, потому что они очень известны и имеют специфические особенности.

В этой статье представлены 20 часто используемых библиотек классов для ведения журнала, анализа JSON, одиночного теста, анализа XML, обработки байт-кода, пула соединений с базой данных, класса коллекции, почты, шифрования, встроенной базы данных SQL, диагностики ошибок JDBC и сериализации. Это все то, что вы можете использовать в своем повседневном развитии, сейчас это не имеет значения, но вы должны знать, что есть такая статья для вашего ознакомления.

Не знать не страшно, страшно то, что ты не знаешь, что ты не знаешь.

1. Библиотека классов, связанная с журналом

Библиотеки журналирования распространены, потому что они нужны вам в каждом проекте. Печать журналов — это самое важное в серверном приложении, потому что журналирование — это единственный способ узнать, что происходит с вашей программой. Хотя JDK поставляется со своей собственной библиотекой ведения журналов, доступно множество лучших опций, таких какLog4j,SLF4jиЛогБэк.

Разработчики Java должны быть знакомы с плюсами и минусами ведения журнала,И узнайте, почему SLF4J лучше, чем Log4J.

2. Библиотека разбора JSON

В современном мире веб-сервисов и Интернета вещей (IoT) JSON заменил XML в качестве предпочтительного протокола для передачи информации от клиента к серверу. Есть хорошие новости и плохие новости. Плохая новость заключается в том, что JDK не предоставляет библиотеки JSON. Хорошей новостью является то, что существует множество отличных сторонних библиотек, которые можно использовать для анализа и создания сообщений JSON, таких какJacksonиGson

Веб-разработчик Java должен быть знаком хотя бы с одной из библиотек Jackson и Gson.

В-третьих, библиотека модульных тестов.

Использование методов модульного тестирования является важным показателем, позволяющим отличить среднего разработчика от хорошего разработчика. У программистов часто есть разные отговорки, чтобы не писать юнит-тесты, но самая распространенная отговорка — отсутствие опыта и знаний. Общие фреймворки для одиночного тестирования:JUnit, MockitoиPowerMock.

В-четвертых, общая библиотека классов

Для разработчиков Java доступно несколько хороших сторонних библиотек общего назначения, таких какApache CommonsиGoogle Guava. Я буду часто использовать эти библиотеки классов общего назначения в своем коде, потому что эти библиотеки классов использовались бесчисленным количеством разработчиков, и они являются лучшими с точки зрения практичности и производительности.

5. HTTP-библиотека

Основной причиной, по которой мне не нравится JDK, является отсутствие поддержки HTTP. Хотя можно использовать классы пакета java.net, это не то же самое, что прямое использование класса, такого какApache HttpClientиHttpCoreОжидание библиотеки классов с открытым исходным кодом слишком хлопотно.

Хотя JDK 9 запустит HTTP 2.0 и оптимизирует поддержку HTTP, я настоятельно рекомендую всем разработчикам Java ознакомиться с популярными библиотеками обработки HTTP, такими как HttpClient и HttpCore HTTP.

Шесть, библиотека синтаксического анализа XML

На рынке существует множество библиотек для синтаксического анализа XML, таких какXerces, JAXB, JAXP, Dom4j, XstreamЖдать.Xerces2Это следующее поколение высокопроизводительных, полностью совместимых инструментов анализа XML. Xerces2 определяет спецификацию Xerces Native Interface (XNI) и предоставляет полный, соответствующий стандартам Реализация спецификации XNI. Парсер полностью переработан и реализован более простым и модульным.

Seven, библиотека Excel для чтения и записи

Во многих приложениях необходимо обеспечить возможность экспорта данных в Excel, если вы хотите сделать то же приложение Java, то вам нужноApache POI API.

Это очень богатая библиотека классов, вы можете читать и записывать файлы XLS из программ Java.

Восемь, библиотека байт-кода

Если вы пишете фреймворк или библиотеку классов. Есть некоторые популярные библиотеки байт-кода, такие какjavassistиCglib NodepДоступные вам, они позволяют вам читать и изменять байт-код, сгенерированный вашим приложением.

Javassist делает манипулирование байт-кодом JAVA очень простым. Это библиотека классов для редактирования байт-кода Java.ASM— еще одна полезная библиотека для редактирования байт-кода.

Девять, библиотека пула соединений с базой данных

Если ваше Java-приложение взаимодействует с базой данных вместо использования библиотеки пула соединений с базой данных, то вы делаете что-то не так. Потому что создание соединений с базой данных во время выполнения занимает много времени и замедляет вашу программу. Поэтому рекомендуется использовать трещину в стене.Есть несколько полезных пулов соединений на выбор, таких какCommons Pool иDBCP.

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

10. Библиотека сообщений

Подобно ведению журнала и пулу соединений с базой данных, обмен сообщениями является обязательным во многих практических проектах Java. Java предоставляет JMS Java Message Service, но это не часть JDK, вам нужно импортировать jms.jar отдельно. Точно так же, если вы собираетесь использовать сторонний протокол обмена сообщениями,Tibco RVхороший выбор.

Eleven, библиотека для обработки PDF

Помимо Excel и Word, PDF также является широко используемым форматом файлов. Если ваше приложение хочет поддерживать обработку файлов PDF, вы можете использоватьiTextиApache FOPбиблиотека классов. Оба предлагают очень полезные функции обработки PDF.

12. Библиотека даты и времени

До Java библиотека даты и времени JDK подвергалась критике за то, что она не является потокобезопасной, неизменной и подверженной ошибкам. Многие разработчики выберут лучшийJodaTimeбиблиотека классов.

Но после введения Java 8 мы можем полностью отказаться от JodaTime, потому что Java 8 предоставляет все его возможности. Однако, если ваш код работает на более старой версии JDK, JodaTime по-прежнему стоит использовать.

Тринадцать, библиотека класса коллекции

Хотя в JDK есть богатые классы коллекций, все еще существует множество сторонних библиотек классов, которые могут предоставить больше и лучшие функции. какApache Commons Collections,Goldman Sachs collections,Google CollectionsиTrove. Trove особенно полезен, потому что он предоставляет более быстрые версии всех стандартных классов Collections и возможность Функции класса Collections, работающие с Map ключей или значений и т. д.).

FastUtilЭто еще один похожий API, который наследует Java Collection Framework и предоставляет несколько специфических типов контейнеров, включая карту сопоставления, набор коллекций, список списков, приоритетную очередь (очередь приоритетов) и реализует стандартный интерфейс пакета java.util.( также предоставляет двунаправленные итераторы, которых нет в стандартных классах), а также предоставляет большие (64-разрядные) массивы, наборы, списки и быстрые, практичные операции ввода-вывода с двоичными или текстовыми файлами.

14. Почтовый API

javax.mail иApache Commons EmailПредоставляет API для отправки электронных писем. Они основаны на JavaMail API и обеспечивают упрощенное использование.

15. Библиотека парсинга HTML

Подобно XML и JSON, HTML — это еще один транспортный формат, с которым мы можем иметь дело. К счастью, у нас есть jsoup, который значительно упрощает использование HTML для Java-приложений. Вы можете не только использоватьJSoupРазбор HTML также может создавать HTML-документы.

Шестнадцать, библиотека шифрования

в семье Apache CommonsCommons CodecОн предоставляет некоторые общедоступные реализации кодеков, такие как Base64, Hex, MD5, фонетические и URL-адреса и т. д.

Seventeen, встроенная библиотека базы данных SQL

Мне очень нравятся такие вещи, какH2Эта база данных в памяти может быть встроена в ваше Java-приложение. Это хороший выбор, если вам нужна база данных для проверки вашего SQL при выполнении одного теста. Кстати, H2 не единственная встроенная БД, у вас естьApache DerbyиHSQLдоступный.

Восемнадцать, библиотека диагностики неисправностей JDBC

Существуют хорошие библиотеки расширений JDBC, упрощающие отладку, такие как P6spy, динамическая среда мониторинга для операций доступа к базе данных, которая позволяет беспрепятственно перехватывать данные базы данных и манипулировать ими без необходимости возиться с существующим кодом приложения и вносить какие-либо изменения.P6SpyВ состав дистрибутива входит P6Log, приложение, которое регистрирует все транзакции JDBC для любого приложения Java. Когда его настройка завершена и используется, производительность доступа к данным можно отслеживать.

Девятнадцать, библиотека сериализации

Google Protocol BufferЭто легкий и эффективный формат хранения структурированных данных, который можно использовать для сериализации или сериализации структурированных данных. Это хорошее хранилище данных или формат обмена данными RPC. Независимый от языка, платформы и расширяемый сериализованный формат структурированных данных, который можно использовать в протоколах связи, хранении данных и других областях. В настоящее время предоставляются API на C++, Java и Python.

20. Сетевая библиотека

Некоторые полезные сетевые библиотеки в основномNettyсуммаApache MINA. Если вы пишете приложение, в котором вам нужно выполнять низкоуровневые сетевые задачи, рассмотрите возможность использования этих библиотек.

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

Поверьте, что вы не единственный, кто столкнулся с проблемой. 

Поверьте, может быть много людей более прилежных, чем вы. 

Поверьте, пользуетесь вы им или нет, колесо есть. 

Поверьте, что вы и ваш код станете лучше с этими библиотеками.

Не беспокоит

просто обмануть или лечить

Нажмите и удерживайте QR-код выше и следуйте «Холлис».

Если вам понравилась эта статья, вы можете переслать и перепечатать ее!