Java Learning
18.6K subscribers
1.62K photos
1 video
3 files
999 links
№ 5079899194

Обучающий канал по Java

Ссылка для друга - https://t.iss.one/+ZEYYht6-46w5MDM6

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
Bazel

Bazel — это инструмент сборки с открытым исходным кодом, который используется для сборки и тестирования программного обеспечения на разных платформах. Он может использоваться для сборки проектов Java, а также других языков программирования, таких как C++, Python и Go.

#для_продвинутых
👍12🔥1
Lanterna

Lanterna — это библиотека Java, которая позволяет создавать простые текстовые пользовательские интерфейсы (TUI). Она может быть использована для создания различных приложений,
включая игры, утилиты и даже простые текстовые редакторы.

#для_продвинутых
👍15
RefactorFirst

RefactorFirst — это инструмент для Java-кода, помогающий определить и расставить по приоритетам классы, которые следует рефакторить в первую очередь. Он работает, сканируя код на наличие «божественных классов» (God Classes) и классов с высокой степенью связности.

«Божественных классов» — это классы, которые делают слишком много и, следовательно, являются плохо спроектированными. Они могут быть трудными для понимания, тестирования и сопровождения.

#для_продвинутых
👍10
SonarJava

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

#для_продвинутых
👍16
JaCoCo

JaCoCo (Java Code Coverage) — это инструмент с открытым исходным кодом, который используется для измерения покрытия кода Java-тестами. Он помогает разработчикам определить, какие части кода были выполнены тестами, а какие нет.

#для_продвинутых
👍12
#вопросы_с_собеседований
Расскажите про приведение типов. Что такое понижение и повышение типа?

Приведение типов — это преобразование переменной одного типа в другой.

Существует два вида приведения типов:
— Повышение типа (widening): автоматическое преобразование типа в другой, более широкий тип. Например, int в long. При этом не теряется точность, так как широкий тип может представить все значения узкого типа.
— Понижение типа (narrowing): явное приведение к более узкому типу, например double в int. Здесь возможна потеря точности, поэтому требуется явное приведение в коде.

Повышение типа безопасно, компилятор делает его автоматически.
Понижение опасно потерей данных, поэтому разработчик должен явно указать такое приведение в коде, чтобы показать, что он контролирует возможную потерю точности.
👍32
Clover

Clover — это инструмент покрытия кода для Java и Groovy, который помогает разработчикам измерить насколько тестами покрыт ваш код, определить какие части кода не тестируются, улучшить качество вашего кода за счет написания тестов для непокрытых частей.

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

#для_продвинутых
👍91
FlexyPool

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

#для_продвинутых
👍13
Timefold

Timefold — это высокопроизводительный планировщик на основе искусственного интеллекта, написанный на Java. Он является ответвлением популярного проекта OptaPlanner и позволяет решать сложные задачи оптимизации расписаний и операций.

#для_продвинутых
👍9
SBE

SBE (Simple Binary Encoding) — это бинарный формат данных, предназначенный для высокопроизводительного обмена сообщениями между приложениями. Он отличается простотой, компактностью и скоростью, что делает его идеальным для использования в финансовых системах, системах с высокой пропускной способностью и других приложениях, где требуется низкая задержка и высокое использование пропускной способности сети.

#для_продвинутых
👍14
P3C

P3C (Programming Practice and Competition) — это набор правил кодирования Java, разработанный компанией Alibaba. Эти правила направлены на повышение качества и читаемости кода Java, а также на снижение вероятности ошибок.

#для_продвинутых
👍11
Jackson-dataformat-csv

Jackson-dataformat-csv — это библиотека Java, являющаяся модулем расширения популярной библиотеки Jackson для обработки JSON. Она позволяет читать и записывать данные в формате CSV (Comma Separated Values), который широко используется для хранения и обмена табличными данными.

#для_продвинутых
👍18
CGLIB

CGLIB (Code Generation Library) — это библиотека Java, предназначенная для динамической генерации байт-кода. Она позволяет создавать новые классы и модифицировать существующие во время выполнения программы. CGLIB используется в различных фреймворках, таких как Spring, Hibernate и Mockito.

#для_продвинутых
👍11
Byte Buddy

Byte Buddy — это библиотека Java для генерации байт-кода во время выполнения. Она позволяет создавать новые классы, модифицировать существующие и перехватывать вызовы методов.

#для_продвинутых
👍14
Byteman

Byteman — это инструмент для трассировки, мониторинга и тестирования поведения приложений Java и кода среды выполнения JDK. Он позволяет вставлять Java-код в методы приложения или методы среды выполнения Java без необходимости повторной компиляции, повторной упаковки или даже повторного развертывания приложения.

#для_продвинутых
👍8
cache2k

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

#для_продвинутых
👍81
Caffeine

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

#для_продвинутых
Singularity

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

#для_продвинутых
👍7
Checkstyle

Checkstyle — это статический анализатор кода Java, который помогает разработчикам писать код в соответствии с заданными стандартами кодирования. Он может проверять код на различные проблемы, такие как несоответствие стандартам кодирования, дублирование кода, неиспользуемые переменные и методы, неправильные комментарии.

#для_продвинутых
👍12😢3