Java библиотека
31.5K subscribers
2.37K photos
89 videos
10 files
2.17K links
Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrT4A

Мы на бирже: https://telega.in/c/javalib/

Сообщество VK https://vk.com/javatutorial
Download Telegram
🖥 Deep Java Library — это высокоуровневая open-source библиотека Java для ML и Deep Learning

DJL — это удобная библиотека Java для Machine Learning.
Библиотека предоставляет целый набор разных моделей, можно легко подобрать нужную модель по заданным параметрам

Конечно же есть возможность создать свою модель и сохранить её для дальнейшего использования.

🖥 GitHub
🟡 Доки
🟡 Примеры использования
🟡 Обзор DJL

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍115🔥3
Media is too big
VIEW IN TELEGRAM
🖥 Интеграция Яндекс.Диска в Java: Полный гайд

Хотите интегрировать Яндекс.Диск в свой Java-проект? В этом видео я покажу, как быстро и просто работать с API Яндекс.Диска, получить OAuth токен, а также загружать файлы в облачное хранилище. Мы разберем ключевые моменты, сравним API с аналогами и напишем полноценный Java-код для работы с Yandex Disk.

🌐🗣СМОТРЕТЬ VKVIDEO

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍52
CopyOnWriteArrayList

CopyOnWriteArrayList — это реализация интерфейса List, оптимизированная для работы в многопоточном окружении.

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

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


Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🎉42🔥1
🖥 Eclipse Jetty — легкий, высокомасштабируемый веб-сервер и движок сервлетов на Java

Цель Jetty — поддержка веб-протоколов (HTTP/1, HTTP/2, HTTP/3, WebSocket и т. д.) в больших объемах с низкой задержкой, что обеспечивает максимальную производительность при сохранении простоты использования и совместимости с многолетней разработкой сервлетов.
Jetty — это современный полностью асинхронный веб-сервер, который может быть легко встроен в приложения, оставаясь при этом надежным средством для развертывания веб-приложений.

🖥 GitHub
🟡 Доки

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥32
Media is too big
VIEW IN TELEGRAM
🖥 Изучаешь Java - создай проект. Перезагрузка.

Выпуск 6. Запуск и отладка приложения ГРН под IntelliJ IDEA CE.

В этом выпуске мы узнаем, как можно запускать наше приложение и как делать отладку/debug из под IntelliJ IDEA community Edition.


🌐🗣СМОТРЕТЬ VKVIDEO

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥2
DatagramPacket

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

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍942🔥2
🖥 ProGuard — оптимизатор и обфускатор байткода на Java

ProGuard — это open-source минификатор, оптимизатор и обфускатор байткода Java.
Какие действия выполняет ProGuard?

— обнаруживает и удаляет неиспользуемые классы, поля, методы и атрибуты

— оптимизирует байткод и удаляет неиспользуемые инструкции

— переименовывает оставшиеся классы, поля и методы, используя короткие имена

🖥 GitHub

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥2
Интерфейс Delayed

Используется для объектов, у которых есть время истечения задержки.
Он позволяет организовать очередь объектов с учетом их задержки.

Основные методы:
getDelay(TimeUnit unit) — возвращает оставшееся время задержки в указанных единицах измерения.
compareTo(Delayed o) — сравнивает текущий объект с переданным по оставшемуся времени задержки.

Этот интерфейс реализуется классами, которые должны храниться в очереди с задержкой, например в DelayQueue.


Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥52
🖥 CATS — это фаззер REST API и инструмент тестирования для эндпойнтов OpenAPI, написанный на Java

brew tap endava/tap
brew install cats


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

🖥 GitHub
🟡 Доки

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥2
FileChannel

FileChannel используется для работы с файлами на низкоуровневом вводе-выводе.

Основные возможности класса FileChannel:
— Чтение данных из файла и запись данных в файл.
— Работа с файлом по смещениям. Можно получить текущее смещение в файле, переместить указатель чтения/записи в нужное смещение.
— Маппинг файлов в память. Файл можно отобразить в память и работать с его содержимым как с массивом байтов.
— Блокировка частей файла. Позволяет защитить критические участки файла от одновременной записи.
— Асинхронная работа с файлами.

FileChannel эффективнее потокового ввода-вывода, т. к. избавляет от накладных расходов на создание объектов и буферизацию.
Используется в приложениях, где нужна высокая производительность работы с файлами.


Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍147🔥4
🖥 TornadoVM — плагин, позволяющий автоматически запускать программы Java на гетерогенном оборудовании

Пару месяцев назад вышла стабильная версия open-source проекта TornadoVM 1.0 для запуска Java на гетерогенном оборудовании: CPU, GPU и FPGA.

TornadoVM — это плагин к OpenJDK и другим дистрибутивам JDK (например, GraalVM, Red Hat Mandrel, Amazon Corretto, Microsoft OpenJDK, Azul Zulu), который позволяет разработчикам автоматически запускать программы Java на гетерогенном оборудовании. TornadoVM нацелен на устройства, совместимые с OpenCL, PTX и Level-Zero, которые включают в себя многоядерные процессоры, выделенные графические процессоры (Intel, NVIDIA, AMD), интегрированные графические процессоры (Intel HD Graphics и ARM Mali) и FPGA (Intel и Xilinx).

В версии TornadoVM 1.0 появился новый API для размещения объектов вне кучи и коллекций массивов, улучшенная обработка внутреннего байт-кода, поддержка большего количества математических операций в OpenCL/PTX/SPIR-V, 16 векторных типов данных для float/double/int, поддержка драйвера Mesa Rusticl OpenCL, улучшение порядка устройств по умолчанию на основе максимального размера потока, обновление программы установки, а также значительно доработана документация проекта.

🖥 GitHub
🟡 Доки

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥2
Инкапсуляция

Инкапсуляция — это принцип ООП, который заключается в сокрытии внутреннего представления класса от внешнего мира. Для этого используются модификаторы доступа: private, protected, public.

Обычно поля класса делаются private или protected, а методы — public. Это позволяет скрыть реализацию класса и предоставить к ней контролируемый доступ через public методы.

При запуске этой программы на выходе мы получим:
John 0


Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍174🔥4
👩‍💻 Абстрактный класс в Java

Вы пишете код для обслуживания банковских операций и определяете в нем три класса:

🔹 Person, описывает человека;
🔹 Employee, описывает банковского служащего;
🔹 Client, представляет клиента банка.

Классы Employee и Client будут производными от класса Person, так как оба класса имеют общие поля и методы. Поскольку все объекты будут представлять сотрудника или клиента банка, то напрямую мы от класса Person создавать объекты не будем.

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

Тем самым мы придерживаемся принципам ООП — наследование и полиморфизм (переопределяем метод display()). Также есть Инкапсуляция благодаря private полям класса Person.

С помощью всего этого, ваш код более гибкий для изменений, более читабельный и поддерживаемый.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍132
🖥 JaCoCo — библиотека Java для создания тестового покрытия

<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.13-SNAPSHOT</version>
</plugin>


JaCoCo — это довольно известная open-source библиотека Java для покрытия кода тестами;
библиотека была создана командой EclEmma.

🖥 GitHub
🟡 Доки

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥64
Что такое «абстракция»?

Абстрагирование – это способ выделить набор общих характеристик объекта, исключая из рассмотрения частные и незначимые. Соответственно, абстракция – это набор всех таких характеристик.

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


Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105🔥5
🖥 JBang — утилита для быстрого написания скриптов на Java

curl -Ls https://sh.jbang.dev | bash -s - app setup

JBang позволяет интерактивно с Java из командной строки и очень быстро писать простые сценарии

🖥 GitHub
🟡 Доки

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍6🔥3