Java библиотека – Telegram
Java библиотека
31.5K subscribers
2.38K photos
91 videos
10 files
2.19K 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, особенностью которой является зоопарк моделей (Model Zoo), позволяющий получить готовую модель по описываемым параметрам из списка доступных моделей. Также имеется возможность создать свою модель, сохранить на диск и загрузить для дальнейшего использования.

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

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍136🔥4
Абстракция в Java

Абстракция — это способность выделять существенные характеристики объекта и упускать несущественные.
Абстракция позволяет сосредоточиться на важных свойствах и поведении объекта, скрыв детали реализации.

В Java абстракция реализуется с помощью абстрактных классов и интерфейсов.

Абстрактный класс содержит абстрактные методы без реализации. Подклассы обязаны реализовать эти методы.
Интерфейс задает «контракт», описывая поведение классов без деталей реализации. Классы реализуют интерфейс.

Реализация абстракции требует тщательного анализа предметной области и выделения общих свойств объектов.
👍247🎉4🔥2
☕️ Начните карьеру Java-разработчика с зарплатой от 90 000 ₽ всего за 6 месяцев!

Курс «Java-разработчик» от Академии «Синергия»:

От новичка до профессионала без технического бэкграунда
6 реальных проектов в портфолио, включая онлайн-магазин и игру «Тетрис»
Обучение у экспертов из «Альфа-банка», Visa, Qiwi

Вы освоите:

🖥 Полный стек Java-разработчика
🛠 Spring Framework, SQL, ООП
📊 Работу с большими данными

🎁 Бонусы:

Персональный карьерный консультант
Развитие soft skills для эффективной работы в команде

Гарантия трудоустройства или возврат денег!

Начните свой путь в IT прямо сейчас: https://epic.st/gayIl?erid=2Vtzqw58ytm

#Java_разработка #обучение_программированию #карьера_в_IT

Реклама. Университет «Синергия» ИНН 7729152149 erid: 2Vtzqw58ytm
6😁4👍1🔥1
Sorted set

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

SortedSet имеет несколько дополнительных операций, которые позволяют использовать упорядочение элементов:
— first() и last() возвращают первый и последний элементы в множестве соответственно.
— headSet(), tailSet() и subSet() возвращают подмножества элементов, которые находятся до, после или между заданными элементами соответственно.

В этом примере мы создаем TreeSet (класс, который реализует SortedSet) и добавляем в него несколько строк. Поскольку строки реализуют интерфейс Comparable, они упорядочиваются в алфавитном порядке. Затем мы используем различные методы SortedSet для получения первого и последнего элементов, а также подмножеств элементов.
👍167🔥4❤‍🔥1
⚡️ Узнайте, как манипулировать байт кодом Java-приложений!

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

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

Встречаемся 1 августа в 20:00 мск.

Спикер — Tech Lead в одном из крупнейших российских банков и кандидат технических наук.

👉 Регистрируйтесь прямо сейчас, чтобы посетить бесплатное занятие: https://vk.cc/cyBau1

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥32
🖥 Helidon — набор библиотек Java для создания микросервисов

Helidon — это набор cloud-native Java-библиотек с открытым исходным кодом для написания микросервисов, работающих с использованием виртуальных потоков Java.
Кстати, Helidon WebServer — первый в мире веб-сервер, полностью основанный на виртуальных потоках.

🖥 GitHub
🟡 Доки

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥6👍3
👍 Тест по Java

Проверь насколько хорошо ты знаешь Java и готов освоить Spring!

Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.

👉 ПРОЙТИ ТЕСТ: https://vk.cc/cyBJTn

Время прохождения теста ограничено 30 минут, 21 вопрос.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥3
PathIterator

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

Основные возможности PathIterator:

— PathIterator позволяет перебирать сегменты пути объекта Shape по одному.
— Для каждого сегмента PathIterator может предоставить информацию о его типе (например, линия, кривая Безье), координатах и других атрибутах.
— PathIterator может использоваться для преобразования пути объекта Shape, например, для его масштабирования, поворота или перемещения.
👍166
This media is not supported in your browser
VIEW IN TELEGRAM
Офер в Яндекс для опытных бэкендеров за два дня

24–25 августа приглашаем бэкендеров с опытом работы от пяти лет получить офер в Яндекс через multitrack за 2 дня. Достаточно решить задачи онлайн до 20 августа и пройти несколько технических секции 24 августа, чтобы уже 25-го получить офер и выбрать три команды, к которым вам было бы интересно присоединиться.

Как правило, за несколько собеседований сложно понять, подходит ли вам команда и наоборот. Multitrack позволит вам поработать в трёх разных командах Яндекса и выбрать подходящую. Вы сможете погрузиться в рабочие процессы, познакомиться с будущими коллегами и понять, с какими задачами и технологиями хотите работать.

Узнать подробности и зарегистрироваться.

Реклама. ООО "Яндекс". ИНН 7736207543
👍8😁54🔥4
🖥 Плагин Gradle для анализа зависимостей

plugins {
id("com.autonomousapps.dependency-analysis") version "<<latest_version>>"
}


Это плагин Gradle для JVM-проектов, написанных на Java, Kotlin и т.д.
Предоставляет рекомендации по управлению зависимостями, позволяет обнаруживать неиспользуемые и неправильно используемые зависимости

🖥 GitHub
🟡 Wiki

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍224🔥4❤‍🔥3
👩‍💻 Курс для Java-разработчиков, которые хотят профессионального роста.

Пройди тест по Java и проверь свои знания, готов ли ты к обучению на курсе.

Ответишь — пройдешь на продвинутый курс "Java Developer. Professional" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса

➡️ ПРОЙТИ ТЕСТ: https://vk.cc/cyDRXC

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍411
CompletableFuture

CompletableFuture в пакете java.util.concurrent является классом, который предоставляет мощный и гибкий подход к асинхронному программированию. Он позволяет выполнять асинхронные операции и обрабатывать их результаты, комбинировать несколько операций и управлять зависимостями между ними.

Помимо операций, представленных на изображении, CompletableFuture также предоставляет множество других методов для работы с асинхронными операциями, таких как thenApply(), thenCompose(), thenCombine(), exceptionally() и другие, которые позволяют обрабатывать результаты, комбинировать операции, обрабатывать исключения и многое другое. Это делает CompletableFuture мощным инструментом для асинхронного программирования.
🔥18👍103
Selector

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

Возможности Selector:
— Регистрация множества каналов в Selector для мониторинга.
— Проверка готовности зарегистрированных каналов к операциям чтения, записи.
— Извлечение готовых каналов и выполнение операций с ними.
— Отмена регистрации каналов в Selector.

Использование Selector позволяет избежать блокировки на операциях чтения/записи по каналам и эффективно масштабировать приложение для одновременной работы с большим количеством соединений.
Класс часто применяется в сетевых серверах для неблокирующей обработки большого числа клиентских соединений в одном потоке.
👍224
🖥 Fury — быстрый фреймворк Java (существует и для других ЯП) для сериализации на основе JIT и zero-copy

<dependency>
<groupId>org.apache.fury</groupId>
<artifactId>fury-core</artifactId>
<version>0.5.1</version>
</dependency>


Fury позволяет ускорить Java-приложение до 170 раз.

🖥 GitHub
🟡 Доки
🟡 Бенчмарки

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21😁73🔥3
🚀 Заканчивается набор на открытый урок "Java Generics для автоматизации тестирования"! 🚀

Стартуем 30 июля в 20:00 по мск.  Успейте попасть в группу! 

Присоединяйтесь к нашему открытому уроку по Java Generics от OTUS, ведущего образовательного центра с более чем 130 авторскими курсами для IT-специалистов. 

Открытый урок проходит в рамках курса Java QA Engineer. Professional. Для разработчиков автоматизированного тестирования на Java. Прокачайте профессиональные навыки, углубите и систематизируйте знания, научитесь грамотно внедрять автоматизацию в проекты.

👉 Что Вы узнаете на уроке?

Что такое Java Generics?
Вы разберетесь в основах Java Generics, узнаете, что это такое и зачем они нужны. Поймете, как использование Generics может повысить безопасность и эффективность вашего кода.

Использование Java Generics в UI автоматизации тестирования
Вы изучите применение Java Generics в UI автоматизации тестирования. Узнаете, как Generics помогают создавать более гибкие и переиспользуемые тесты для пользовательского интерфейса, что значительно упростит поддержку автоматизации.

Использование Java Generics в API автоматизации тестирования
Вы освоите методы использования Java Generics в API автоматизации тестирования. Поймете, как применять Generics для создания универсальных и мощных тестов для API, что повысит надежность и масштабируемость ваших тестовых сценариев.

🤔 Как Вы сможете применить полученные знания?

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

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

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

Для регистрации на открытый урок нажмите здесь.

Торопитесь! Места ограничены.

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
5👍3
StringBuilder

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

Но, в отличие от StringBuffer, StringBuilder не является потокобезопасным. Он работает быстрее за счет отсутствия синхронизации.
Поэтому его рекомендуется использовать в однопоточных приложениях для работы со строками, когда нет необходимости в синхронизации.

При создании можно задать начальную емкость buffer'а в виде размера массива символов.
Если строка превышает текущую емкость, она автоматически расширяется с сохранением содержимого.
🔥15👍95😁1
This media is not supported in your browser
VIEW IN TELEGRAM
1️⃣ Написание кода (write code):
• Пример кода: System.out.println("Hello, javaguru.by !");
2️⃣ Компиляция (javac):
• javac входит в состав JDK.
• Команда: javac -cp /lib/classes -d ./classes ./package/Main.java
• Результатом компиляции является байт-код (файл с расширением .class), который сохраняется в указанной директории.
3️⃣ Запуск программы (java):
• Байт-код загружается и интерпретируется с помощью Java Runtime Environment (JRE).
• Команда: java -cp ./classes package.Main
• JRE включает в себя Java Virtual Machine (JVM), которая выполняет байт-код.
4️⃣ Выполнение и вывод (execution and output):
• JVM выполняет байт-код, преобразовывая его в машинный код через Execution Engine.
• Результатом выполнения является вывод в консоль: Hello, javaguru.by !


*️⃣ JDK (Java Development Kit): Содержит инструменты для разработки Java-приложений, включая компилятор (javac) и другие утилиты.
*️⃣ JRE (Java Runtime Environment): Среда выполнения Java-программ, включает JVM и Java Class Library.
*️⃣ JVM (Java Virtual Machine): Виртуальная машина Java, выполняющая байт-код. Состоит из Class Loader, Runtime Data Area, Native Method Interface, Execution Engine и других компонентов.

#️⃣Процесс выполнения:

1. Class Loader загружает классы.
2. Runtime Data Area предоставляет область памяти для выполнения программы.
3. Execution Engine интерпретирует и компилирует байт-код в машинный код.
4. Native Method Interface (JNI) позволяет выполнять нативные методы.
5. Native Method Libraries содержат библиотеки нативных методов.

🔠 Здесь java с 0 до экспертности: https://javaguru.by/core

💴 Микросервисы: https://javaguru.by/developer

🔠 Больше полезной инфы: https://javaguru.by
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥11👍7