13937
Обучающий канал по Java Ссылка для друга - https://t.me/+ZEYYht6-46w5MDM6 По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Java_per_month
👩💻 Задача по Java: Проверка баланса скобок в строке
Напишите функцию, которая проверяет, сбалансированы ли круглые, фигурные и квадратные скобки в заданной строке. Сбалансированность означает, что каждая открывающая скобка имеет соответствующую закрывающую, и скобки вложены корректно.
Пример:
"{[()()]}"
true
"{[(])}"
false
➡️ Pebble — современный движок шаблонов для Java
Pebble — это гибкий и производительный движок шаблонов, который позволяет легко интегрировать динамический HTML в ваши приложения. Разработанный с акцентом на расширяемость и безопасность, Pebble поддерживает удобный синтаксис, похожий на Twig.• Компактный синтаксис: интуитивно понятный синтаксис для построения шаблонов.• Шаблоны высокого уровня: поддержка наследования и макросов.• Безопасность: автоматическое экранирование HTML и поддержка WhiteList-фильтров.• Расширяемость: добавление пользовательских функций и фильтров.
🔗 Ссылочка на доку
Java Learning 👩💻
⚙️ Objects.requireNonNull()
В Java метод Objects.requireNonNull() проверяет, что объект не равен null, и выбрасывает NullPointerException, если проверка не пройдена. Это удобный способ защитить код от неожиданных null.
Java Learning 👩💻
👩💻 Мечтаете научиться программировать на Java? Пора начинать!
🗓 20 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java-разработчик» от Otus.
Приходите на открытый урок, где мы шаг за шагом создадим игру «Угадай число» с нуля.
Вы познакомитесь с основами языка, поймете, как изменять код и менять функционал программы, освоите первые блоки, которые нужны для старта.
Спикер Александр Фисунов — Senior Kotlin Developer в SSP Software на проекте ВТБ, опытный Java-разработчик и кандидат технических наук.
Хотите научиться создавать приложения? Узнать, как строятся программы на Java? Этот урок — ваш первый шаг в IT!
🔗 Ссылка на регистрацию: https://clck.ru/3EZYx7Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
➡️ Ratpack — асинхронный фреймворк для высоконагруженных приложений
Ratpack — это асинхронный фреймворк для разработки веб-приложений и API на Java. Он использует неблокирующую модель ввода-вывода, что делает его идеальным для создания высоконагруженных систем.• Асинхронность на основе Netty для высокой производительности.• Интуитивно понятный DSL для описания маршрутов и логики.• Отличная интеграция с Gradle и другими инструментами.
🔗 Ссылочка на доку
Java Learning 👩💻
RecordsRecords — это новый тип данных, добавленный в Java 14, который позволяет определить класс с набором свойств, аналогичных полям класса, но неизменяемых и доступных только для чтения. Они предоставляют удобный способ объявления простых неизменяемых объектов с сокращенным синтаксисом.
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();
}
}
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Поле x в классе Parent не переопределяется, поэтому obj.x указывает на x в Parent. Однако метод getX() вызывается из Child, возвращая 20.
Java Learning 👩💻
🚀 Вебинар: Погружение в децентрализованные технологии🚀
Узнайте, как использовать Solidity для создания продвинутых dApp. Этот вебинар важен для понимания текущего состояния и потенциала Web3, что критично для разработчиков в освоении Solidity и создании продвинутых dApp.
⏰ Дата и время: 11.11.2024 в 20:00 (мск)
На уроке будет:
- Обсуждение базовых технологий, включая блокчейн и смарт-контракты
- Представление и анализ нескольких децентрализованных приложений
- Рассмотрение успешных кейсов использования Solidity
- Обсуждение безопасности
- Прогнозы и перспективы развития децентрализованных технологий
В результате участники получат актуальные знания о применении Solidity в разработке современных dApp.
Не упустите возможность узнать больше о dApp и их потенциале!
👉 Зарегистрируйтесь для участия: https://clck.ru/3ETR9H
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
⚙️ Collectors.joining()
В Java метод Collectors.joining() из пакета java.util.stream позволяет объединить элементы потока в одну строку с опциональным разделителем, префиксом и суффиксом. Это удобно для создания строковых представлений коллекций.
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
⚙️ Stream.mаp()
В Java метод map() в Stream преобразует элементы потока, применяя к каждому из них функцию. Это идеальный способ быстро выполнить преобразования коллекций.
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
⚙️ Stream.filter()
В Java метод filter() в Stream позволяет отбирать элементы, соответствующие условию. Полезен для создания потоков данных, соответствующих определённым критериям.
Java Learning 👩💻
⚙️ Optional.ofNullable()
В Java метод Optional.ofNullable() создаёт объект Optional, который может содержать значение или быть пустым. Полезен для избежания NullPointerException и обработки необязательных значений.
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-разработчика с Hexlet!
Хотите стать профессионалом в Java? Пройдите обучение и за 10 месяцев освоите все ключевые навыки, от основ до продвинутого уровня.
🎁 🎃 Бонусы к Черной пятнице! Вас ждет специальное предложение - скидка до 81 000 ₽. на обучение и второй курс в подарок!
Вас ждут сотни практических упражнений, реальные проекты для портфолио и поддержка опытных менторов. Освойте язык крупного бизнеса и финансовых технологий и научитесь разрабатывать веб-приложения на фреймворке Spring.
А во время обучения вы также поучаствуете в Карьерном треке!
Пройдите 5 бесплатных уроков и откройте для себя увлекательный процесс обучения. Поймите, насколько интересен и перспективен этот путь, и получите уникальную возможность продолжить обучение на полном курсе со скидкой!
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid:LjN8KHDxF
⚙️ Stream.reduce()
В Java метод Stream.reduce() выполняет свёртку элементов потока в одно значение, используя заданную ассоциативную функцию. Это мощный инструмент для операций, таких как суммирование, произведение или объединение.
Java Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Статические методы интерфейса не наследуются классами, поэтому попытка вызвать test.staticMethod() приводит к ошибке компиляции.
Java Learning 👩💻
Приглашаем на пятый юбилейный митап IT Talk by Sber в Новосибирске! ⚡️
В этот раз мы вернёмся к истокам — поговорим про Java и всё, что с ним связано. Гарантируем, что на митапе тебе будет что и кого послушать и с кем пообщаться!
Когда и где: 14 ноября, Новосибирск, лофт-парк «Подземка».
Темы и спикеры:
✅Разделяй и властвуй: Практический подход к горизонтальному масштабированию реляционных баз данных в Java (Дмитрий Дрожжин, Lead Java-разработчик)
✅Различия и особенности локального запуска и запуска в контейнере (Вячеслав Гуров, Senior Java-разработчик)
✅Использование коллекций java.util.concurrent для разных моделей Producer-Consumer с различной интенсивностью операций добавления, удаления, поиска и количеством участников (Роман Бондарь, Lead Java-разработчик)
Как попасть на мероприятие? Регистрируйся и приходи 14 ноября!💚
⚙️ Path.resolve()
В Java метод Path.resolve() из пакета java.nio.file соединяет два пути, создавая новый путь. Если второй путь является абсолютным, он возвращается как есть. Это полезно для работы с относительными путями в файловой системе.
Java Learning 👩💻
👩💻 Обучение для тех, кто хочет освоить Java на профессиональном уровне — JVM с профилированием и оптимизацией приложений в облаках.
Пройди тест по Java и проверь свои знания, готов ли ты к обучению на курсе.
Ответишь — пройдешь на продвинутый курс "Java Developer. Advanced" от OTUS по специальной цене.
👉 ПРОЙТИ ТЕСТ: https://clck.ru/3EV7Ky
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
➡️ Vaadin Flow — фреймворк для веб-приложений на чистой Java
Vaadin Flow — это фреймворк для создания веб-приложений на Java без написания JavaScript и HTML. Он позволяет создавать интерфейсы и логику приложения полностью на Java.• Полная разработка на Java.• Компоненты для UI и двусторонняя привязка данных.• Интеграция с Spring Boot.
🔗 Ссылочка на доку
Java Learning 👩💻
➡️ Quarkus — быстрый и лёгкий фреймворк для Java-приложений
Quarkus — оптимизированный фреймворк для создания Java-приложений с низким временем запуска и минимальным потреблением памяти. Подходит для облачных и серверлесс-приложений.• Быстрый старт с нативной компиляцией на GraalVM.• Оптимизация для облака и контейнеров.• Совместимость с Java API и фреймворками Spring, Hibernate.• Горячая перезагрузка для ускорения разработки.
🔗 Ссылочка на доку
Java Learning 👩💻
⚙️ Collectors.flatMapping()
В Java метод Collectors.flatMapping() разворачивает вложенные коллекции в потоке и собирает их в одну. Это удобно для обработки коллекций коллекций, когда требуется плоская структура данных.
Java Learning 👩💻
⚙️ computeIfPresent
В Java метод computeIfPresent интерфейса Map обновляет значение для существующего ключа с помощью указанной функции. Если ключ отсутствует, метод ничего не делает. Это удобно для выборочного обновления значений в коллекциях.
Java Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Метод changeValue изменяет value объекта t на 20, так как переменная obj в методе указывает на t. Однако присвоение obj = new Test(5) не влияет на исходный объект t.
Java Learning 👩💻
👩💻 Задача по Java: Сортировка списка строк по длине
Напишите Java-программу, которая принимает список строк, сортирует его по длине строки в порядке возрастания и выводит отсортированный список в консоль. Если строки имеют одинаковую длину, сохраняйте их исходный порядок.
Пример:
["apple", "banana", "kiwi", "grape", "orange"]
kiwi
apple
grape
banana
orange
#Вопросы_с_собеседования
В чем разница между Thread.sleep() и Thread.yield()?Thread.sleep(): Этот метод приостанавливает выполнение текущего потока на заданное количество времени. Время задается в миллисекундах и указывается в качестве аргумента метода. При вызове Thread.sleep(), поток переходит в состояние ожидания и не выполняет код в течение указанного периода времени. После истечения времени поток снова становится готовым к выполнению. Вызов Thread.sleep() может сгенерировать исключение InterruptedException, поэтому необходимо обрабатывать его или пробрасывать.Thread.yield(): Этот метод предоставляет намек планировщику потоков на то, что поток, вызвавший yield(), готов уступить процессорное время другим потокам с тем же приоритетом. Однако это рекомендация, а не гарантия. Вызов Thread.yield() приводит к тому, что текущий поток переходит из исполняемого в состояние готовности, чтобы другие потоки могли получить доступ к процессору. Однако, если нет других готовых потоков с тем же приоритетом, поток может продолжить выполнение.
Java Learning 👩💻
Тестовое собеседование на Middle Java-разработчика завтра
Заходи завтра, 30 октября в 19:00 по мск, на открытое онлайн-собеседование от ШОРТКАТ, чтобы узнать:
— Чего ждут от кандидатов на Middle позиции в Java-разработке
— Какие вопросы задают на интервью и зачем
— Как подготовиться к собесу, чтобы получить оффер
Интервью проведёт Илья Аров — ведущий разработчик программного обеспечения в T1, ВТБ ID
Чтобы записаться на эфир, переходи в бот → @shortcut_sh_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqueX7nt