Как Java-разработчик, в процессе разработки часто приходится использовать определенные фрагменты кода. Некоторые из них могут быть сторонними JAR-файлами, но есть и такие, которые мы создаем самостоятельно. Использование собственных решений обычно более удобно. Этот инструментальный класс создан именно для этих целей и представляет собой накопленный опыт, который я решил открыть для других разработчиков.
Постарайтесь не зависеть от сторонних JAR-файлов. Это наш выбор, и мы не хотим зависеть от чужих решений.# Модуль lock С помощью базы данных был создан распределенный блокировщик. Поддерживает таймаут блокировки, рекурсивные блокировки и т. д. Когда нагрузка на проект не слишком велика (что считается большим, зависит от того, сколько нагрузки может выдержать база данных, обычно для одного сервера это менее 1000 запросов в секунду), стабильность остаётся высокой. Вот пример использования:
// Подключение к базе данных, здесь используется Druid
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/xxx?useUnicode=true&characterEncoding=utf8");
dataSource.setUsername("xxx");
dataSource.setPassword("xxx");
// Создание распределённой рекурсивной блокировки и инициализация, можно использовать как синглтон
DbLock lock = new DbReentrantLock();
lock.init(dataSource);
// Использование
try{
// Захват блокировки, установка таймаута в 10 секунд
lock.tryLock("testResource", 10 * 1000);
}catch(Exception e){
// Игнорировать
}finally{
// Освобождение блокировки
lock.unLock("testResource");
}
Разработчики, которые работали с запросами к таблицам базы данных, знают, что каждая запись должна иметь уникальный идентификатор. Если это одна таблица, то обычно можно использовать автоинкремент MySQL. Однако при использовании распределённых баз данных этот подход не работает. Этот модуль предназначен для решения задачи генерации последовательных уникальных идентификаторов в распределённой системе.
Простая упаковка встроенных API для планирования задач JDK.
Основан на упаковке операций по конкатенации SQL-синтаксиса.
Основан на упаковке API для работы с файлами типа File.
Упаковка Java-нативного URLConnection, поддерживающая GET, POST, загрузку и отправку файлов.
По моему мнению, самый полезный модуль, содержащий различные полезные утилиты. Каждая утилита достаточно автономна и может быть использована отдельно.
Основан на использовании часто встречающихся доменов.
Здесь находятся некоторые необычные "черные технологии". Вы можете не знать, когда вам понадобится что-то из этого списка. (1) tracker — инструмент для отслеживания затрат времени на логи, используется для временного отслеживания логики выполнения с длительным временем выполнения. (2) tabooed — фильтр для отсеивания запрещенных слов, по моему мнению, эффективность может быть не очень высокой, требует проверки. (3) status — инструмент для проверки состояния, в настоящее время реализованы проверки использования памяти и состояния загрузки. # Чат-группа 650927052
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )