java_per_month | Unsorted

Telegram-канал java_per_month - Java Learning

13937

Обучающий канал по Java Ссылка для друга - https://t.me/+ZEYYht6-46w5MDM6 По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Java_per_month

Subscribe to a channel

Java Learning

👩‍💻 Задача по Java: Проверка баланса скобок в строке

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

Пример:

"{[()()]}"
true

"{[(])}"
false


Решение задачи на картинке ☝

Java Learning 👩‍💻

Читать полностью…

Java Learning

➡️ Pebble — современный движок шаблонов для Java

Pebble — это гибкий и производительный движок шаблонов, который позволяет легко интегрировать динамический HTML в ваши приложения. Разработанный с акцентом на расширяемость и безопасность, Pebble поддерживает удобный синтаксис, похожий на Twig.

• Компактный синтаксис: интуитивно понятный синтаксис для построения шаблонов.
• Шаблоны высокого уровня: поддержка наследования и макросов.
• Безопасность: автоматическое экранирование HTML и поддержка WhiteList-фильтров.
• Расширяемость: добавление пользовательских функций и фильтров.

🔗 Ссылочка на доку

Java Learning 👩‍💻

Читать полностью…

Java Learning

⚙️ Objects.requireNonNull()

В Java метод Objects.requireNonNull() проверяет, что объект не равен null, и выбрасывает NullPointerException, если проверка не пройдена. Это удобный способ защитить код от неожиданных null.

Java Learning 👩‍💻

Читать полностью…

Java Learning

👩‍💻 Мечтаете научиться программировать на Java? Пора начинать!

🗓 20 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java-разработчик» от Otus.

Приходите на открытый урок, где мы шаг за шагом создадим игру «Угадай число» с нуля.
Вы познакомитесь с основами языка, поймете, как изменять код и менять функционал программы, освоите первые блоки, которые нужны для старта.

Спикер Александр Фисунов — Senior Kotlin Developer в SSP Software на проекте ВТБ, опытный Java-разработчик и кандидат технических наук.

Хотите научиться создавать приложения? Узнать, как строятся программы на Java? Этот урок — ваш первый шаг в IT!

🔗 Ссылка на регистрацию: https://clck.ru/3EZYx7

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Java Learning

➡️ Ratpack — асинхронный фреймворк для высоконагруженных приложений

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

• Асинхронность на основе Netty для высокой производительности.
• Интуитивно понятный DSL для описания маршрутов и логики.
• Отличная интеграция с Gradle и другими инструментами.

🔗 Ссылочка на доку

Java Learning 👩‍💻

Читать полностью…

Java Learning

Records

Records — это новый тип данных, добавленный в Java 14, который позволяет определить класс с набором свойств, аналогичных полям класса, но неизменяемых и доступных только для чтения. Они предоставляют удобный способ объявления простых неизменяемых объектов с сокращенным синтаксисом.

Java Learning 👩‍💻

Читать полностью…

Java Learning

❓ Вопрос на собеседовании

Что такое volatile в Java и в каких случаях его следует использовать?

Ответ ⬇️
Ключевое слово volatile в Java используется для указания, что значение переменной может быть изменено несколькими потоками. Когда переменная объявляется как volatile, изменения, сделанные одним потоком, становятся видимыми для других потоков немедленно, избегая кеширования значения в локальной памяти потока. Это гарантирует "свежесть" значения, что важно в многопоточных программах для обеспечения корректного взаимодействия между потоками.

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


Пример использования ⚙️

public class VolatileExample {
private volatile boolean flag = true;

public void run() {
new Thread(() -> {
while (flag) {
System.out.println("Работаем...");
}
System.out.println("Остановка");
}).start();

try {
Thread.sleep(1000);
flag = false; // изменение станет сразу видимым для первого потока
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}

public static void main(String[] args) {
new VolatileExample().run();
}
}


Java Learning 👩‍💻

Читать полностью…

Java Learning

⌛ Что будет выведено при выполнении кода?

Пояснение
⬇️
Поле x в классе Parent не переопределяется, поэтому obj.x указывает на x в Parent. Однако метод getX() вызывается из Child, возвращая 20.

Java Learning 👩‍💻

Читать полностью…

Java Learning

🚀 Вебинар: Погружение в децентрализованные технологии🚀

Узнайте, как использовать Solidity для создания продвинутых dApp. Этот вебинар важен для понимания текущего состояния и потенциала Web3, что критично для разработчиков в освоении Solidity и создании продвинутых dApp.

⏰ Дата и время: 11.11.2024 в 20:00 (мск)

На уроке будет:
- Обсуждение базовых технологий, включая блокчейн и смарт-контракты
- Представление и анализ нескольких децентрализованных приложений
- Рассмотрение успешных кейсов использования Solidity
- Обсуждение безопасности
- Прогнозы и перспективы развития децентрализованных технологий

В результате участники получат актуальные знания о применении Solidity в разработке современных dApp.

Не упустите возможность узнать больше о dApp и их потенциале!

👉 Зарегистрируйтесь для участия: https://clck.ru/3ETR9H

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Java Learning

⚙️ Collectors.joining()

В Java метод Collectors.joining() из пакета java.util.stream позволяет объединить элементы потока в одну строку с опциональным разделителем, префиксом и суффиксом. Это удобно для создания строковых представлений коллекций.

Java Learning 👩‍💻

Читать полностью…

Java Learning

👩‍💻 Пройди тест по Java

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

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

👉 ПРОЙТИ ТЕСТ: https://otus.ru/lessons/javaspring/assessment/?utm_source=telegram&utm_medium=cpm&utm_campaign=java_spring&utm_term=Java_per_month&utm_content=headline_05-11-2024_usp-universal_java_text_no-headline_aida_short_aibanner_banner-hl1_green_standart&erid=LjN8Kbh4M

🎫 Начни обучение со скидкой, подробности у менеджеров.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Java Learning

⚙️ Stream.mаp()

В Java метод map() в Stream преобразует элементы потока, применяя к каждому из них функцию. Это идеальный способ быстро выполнить преобразования коллекций.

Java Learning 👩‍💻

Читать полностью…

Java Learning

⚡️ Открытый урок «Введение в GraalVM: ускоряем ваши Java-приложения»

🗓 7 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced» от Otus.

В современной инфраструктуре всё чаще используются облачные решения, в которых контроль используемых ресурсов напрямую влияет на затраты бизнеса. Поэтому все способы экономии ресурсов важны. Тут на помощь придёт GraalVM!
Но является ли это панацеей?


На вебинаре разберем:

✔️ JIT и AOT: что это такое и в чём разница;
✔️ Причём тут GraalVM и какие особенности его применения.

🔗 Ссылка на регистрацию: https://otus.ru/lessons/java-advanced/?utm_source=telegram&utm_medium=cpc&utm_campaign=java_adv&utm_term=Java_per_month&utm_content=lesson_07-11-2024_usp-universal1_java_text_no-headline_aida_long_banner_aibanner_dark-grey_standart&erid=LjN8KTqNZ#event-4858

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Java Learning

⚙️ Stream.filter()

В Java метод filter() в Stream позволяет отбирать элементы, соответствующие условию. Полезен для создания потоков данных, соответствующих определённым критериям.

Java Learning 👩‍💻

Читать полностью…

Java Learning

⚙️ Optional.ofNullable()

В Java метод Optional.ofNullable() создаёт объект Optional, который может содержать значение или быть пустым. Полезен для избежания NullPointerException и обработки необязательных значений.

Java Learning 👩‍💻

Читать полностью…

Java Learning

👩‍💻 Мечтаете научиться программировать на Java? Пора начинать!

🗓 20 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java-разработчик» от Otus.

Приходите на открытый урок, где мы шаг за шагом создадим игру «Угадай число» с нуля.
Вы познакомитесь с основами языка, поймете, как изменять код и менять функционал программы, освоите первые блоки, которые нужны для старта.

Спикер Александр Фисунов — Senior Kotlin Developer в SSP Software на проекте ВТБ, опытный Java-разработчик и кандидат технических наук.

Хотите научиться создавать приложения? Узнать, как строятся программы на Java? Этот урок — ваш первый шаг в IT!

🔗 Ссылка на регистрацию: https://clck.ru/3EayBJ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Java Learning

Начните свою карьеру Java-разработчика с Hexlet!

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

🎁 🎃 Бонусы к Черной пятнице! Вас ждет специальное предложение - скидка до 81 000 ₽. на обучение и второй курс в подарок!

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

А во время обучения вы также поучаствуете в Карьерном треке!

Пройдите 5 бесплатных уроков и откройте для себя увлекательный процесс обучения. Поймите, насколько интересен и перспективен этот путь, и получите уникальную возможность продолжить обучение на полном курсе со скидкой!

Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid:LjN8KHDxF

Читать полностью…

Java Learning

⚙️ Stream.reduce()

В Java метод Stream.reduce() выполняет свёртку элементов потока в одно значение, используя заданную ассоциативную функцию. Это мощный инструмент для операций, таких как суммирование, произведение или объединение.

Java Learning 👩‍💻

Читать полностью…

Java Learning

⌛ Что будет выведено при выполнении кода?

Пояснение
⬇️
Статические методы интерфейса не наследуются классами, поэтому попытка вызвать test.staticMethod() приводит к ошибке компиляции.

Java Learning 👩‍💻

Читать полностью…

Java Learning

Приглашаем на пятый юбилейный митап IT Talk by Sber в Новосибирске! ⚡️

В этот раз мы вернёмся к истокам — поговорим про Java и всё, что с ним связано. Гарантируем, что на митапе тебе будет что и кого послушать и с кем пообщаться!

Когда и где: 14 ноября, Новосибирск, лофт-парк «Подземка».

Темы и спикеры:
✅Разделяй и властвуй: Практический подход к горизонтальному масштабированию реляционных баз данных в Java (Дмитрий Дрожжин, Lead Java-разработчик)
✅Различия и особенности локального запуска и запуска в контейнере (Вячеслав Гуров, Senior Java-разработчик)
✅Использование коллекций java.util.concurrent для разных моделей Producer-Consumer с различной интенсивностью операций добавления, удаления, поиска и количеством участников (Роман Бондарь, Lead Java-разработчик)

Как попасть на мероприятие? Регистрируйся и приходи 14 ноября!💚

Читать полностью…

Java Learning

⚙️ Path.resolve()

В Java метод Path.resolve() из пакета java.nio.file соединяет два пути, создавая новый путь. Если второй путь является абсолютным, он возвращается как есть. Это полезно для работы с относительными путями в файловой системе.

Java Learning 👩‍💻

Читать полностью…

Java Learning

👩‍💻 Обучение для тех, кто хочет освоить Java на профессиональном уровне — JVM с профилированием и оптимизацией приложений в облаках.

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

Ответишь — пройдешь на продвинутый курс "Java Developer. Advanced" от OTUS по специальной цене.

👉 ПРОЙТИ ТЕСТ: https://clck.ru/3EV7Ky

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Java Learning

➡️ Vaadin Flow — фреймворк для веб-приложений на чистой Java

Vaadin Flow — это фреймворк для создания веб-приложений на Java без написания JavaScript и HTML. Он позволяет создавать интерфейсы и логику приложения полностью на Java.

• Полная разработка на Java.
• Компоненты для UI и двусторонняя привязка данных.
• Интеграция с Spring Boot.

🔗 Ссылочка на доку

Java Learning 👩‍💻

Читать полностью…

Java Learning

➡️ Quarkus — быстрый и лёгкий фреймворк для Java-приложений

Quarkus — оптимизированный фреймворк для создания Java-приложений с низким временем запуска и минимальным потреблением памяти. Подходит для облачных и серверлесс-приложений.

• Быстрый старт с нативной компиляцией на GraalVM.
• Оптимизация для облака и контейнеров.
• Совместимость с Java API и фреймворками Spring, Hibernate.
• Горячая перезагрузка для ускорения разработки.

🔗 Ссылочка на доку

Java Learning 👩‍💻

Читать полностью…

Java Learning

⚙️ Collectors.flatMapping()

В Java метод Collectors.flatMapping() разворачивает вложенные коллекции в потоке и собирает их в одну. Это удобно для обработки коллекций коллекций, когда требуется плоская структура данных.

Java Learning 👩‍💻

Читать полностью…

Java Learning

⚙️ computeIfPresent

В Java метод computeIfPresent интерфейса Map обновляет значение для существующего ключа с помощью указанной функции. Если ключ отсутствует, метод ничего не делает. Это удобно для выборочного обновления значений в коллекциях.

Java Learning 👩‍💻

Читать полностью…

Java Learning

⌛ Что будет выведено при выполнении кода?

Пояснение
⬇️
Метод changeValue изменяет value объекта t на 20, так как переменная obj в методе указывает на t. Однако присвоение obj = new Test(5) не влияет на исходный объект t.

Java Learning 👩‍💻

Читать полностью…

Java Learning

👩‍💻 Задача по Java: Сортировка списка строк по длине

Напишите Java-программу, которая принимает список строк, сортирует его по длине строки в порядке возрастания и выводит отсортированный список в консоль. Если строки имеют одинаковую длину, сохраняйте их исходный порядок.

Пример:

["apple", "banana", "kiwi", "grape", "orange"]

kiwi
apple
grape
banana
orange


Решение задачи на картинке ☝

Java Learning 👩‍💻

Читать полностью…

Java Learning

#Вопросы_с_собеседования
В чем разница между Thread.sleep() и Thread.yield()?

Thread.sleep(): Этот метод приостанавливает выполнение текущего потока на заданное количество времени. Время задается в миллисекундах и указывается в качестве аргумента метода. При вызове Thread.sleep(), поток переходит в состояние ожидания и не выполняет код в течение указанного периода времени. После истечения времени поток снова становится готовым к выполнению. Вызов Thread.sleep() может сгенерировать исключение InterruptedException, поэтому необходимо обрабатывать его или пробрасывать.

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

Java Learning 👩‍💻

Читать полностью…

Java Learning

Тестовое собеседование на Middle Java-разработчика завтра

Заходи завтра, 30 октября в 19:00 по мск, на открытое онлайн-собеседование от ШОРТКАТ, чтобы узнать:
— Чего ждут от кандидатов на Middle позиции в Java-разработке
— Какие вопросы задают на интервью и зачем
— Как подготовиться к собесу, чтобы получить оффер

Интервью проведёт Илья Аров — ведущий разработчик программного обеспечения в T1, ВТБ ID

Чтобы записаться на эфир, переходи в бот → @shortcut_sh_bot

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqueX7nt

Читать полностью…
Subscribe to a channel