JavaRocks
2.12K subscribers
169 photos
14 videos
341 links
Базовый канал для изучения языка Java.

Наш сайт: javarocks.ru

Все необходимые туториалы и материалы.

Тесты для проверки знаний. Лучшие практики и паттерны проектирования.

@viktorreh
@anothertechrock
Download Telegram
👀 Инкапсуляция в Java

Изначально “инкапсуляция” – объединение данных и методов работы с этими данными в одном пакете (“капсуле”). В Java в роли “капсулы” выступает класс. Он содержит как данные (поля), так и методы работы с ними.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Добавление и удаление элементов в ArrayList

Из этой статьи вы узнаете, что происходит при добавлении и удалении элементов в ArrayList, а также - как при этом оптимизировать использование памяти.

Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Вакансии по Java за последнюю неделю:

👀 Senior Java Developer (Spring Boot). Офис (Астана), 800 000 - 1 100 000 KZT

👀 Senior QA Engineer (Java). Удалённо, 220-300 т.р.

👀 Middle+ Java-разработчик (Spring Framework). Удалённо, до 250 т.р.

👀 Senior Backend Java Engineer. Гибрид / удалённо (Кипр), до 6000 €
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Классы и объекты в Java

Java — объектно-ориентированный язык программирования. Любое приложение на Java состоит из объектов, которые взаимодействуют между собой. Класс в Java — это шаблон (или описание), на основе которого создаются объекты. Подробнее обо всем этом читайте в статье!

Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
⭐️ Как работает тернарный оператор в Java

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

📥 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Вакансии для Java-разработчиков за последние 14 дней:

Java Middle+ Разработчик. Удалённо, до 250 т.р.

Senior Java Разработчик. Удалённо (СПБ), 200–300 т.р.

Senior QA Engineer (Java). Удалённо, 220–300 т.р.

Senior Java Developer. Офис (Астана), 800000–1100000 KZT

Senior Backend Java Engineer. гибрид/удалённо, до 6000 €

Java Middle+ Developer. Удалённо, 3000–5000 $

Lead Java Developer. Удалённо, от 6500 $

ТОП-10 Telegram-каналов с вакансиями по конкретным IT- направлениям.

Java Middle+ Разработчик. Удалённо (РФ), от 240 т.р.

#подборка #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как преобразовать Long в Int в Java

Как вы, вероятно, уже знаете, и long, и int в Java являются примитивными типами данных. И long, и int являются целочисленными типами, поэтому они в некотором роде совместимы. В этой статье мы на примерах разберем, как преобразовать long в int.

🔗Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
☕️ Вакансии по Java за последние две недели:

🟠 Senior Java-разработчик. Удалённо (СПБ), 200-300 т.р. на руки

🟠 Java Middle+ Developer. Удалённо, $3000-5000

🟠 Java Middle+ разработчик (Spring и Spring Boot). Удалённо (РФ), от 240 т.р.

🟠 Ведущий Java-разработчик (+Go/React). Удалённо (редкое посещение офиса в Москве), 395-488 т.р.

🟠 Java Middle+ разработчик. Удалённо (РФ), 460-490 т.р.
Please open Telegram to view this post
VIEW IN TELEGRAM
Вакансии для Java-разработчиков за последние 14 дней:

Разработчик на Java. гибрид

Java Разработчик. удалённо

Java Middle+ Developer. удалённо, 3000–5000 $

Java Middle+ Разработчик. удалённо (РФ), 460–490 т.р.

Senior Java Разработчик. удалённо (СПБ), 200–300 т.р.

Senior Java Разработчик. удалённо (СПБ), 200–300 т.р.

Java Senior Разработчик. удалённо (Москва), 240–300 т.р.

Ведущий Java Разработчик. удалённо, 395–488 т.р.

Senior Java Developer. удалённо, до 6000$

#подборка #java
📌 Вакансии по Java за последние две недели:

☕️ Java-разработчик (Spring Boot). Удалённо (РФ, РБ), 1500-2500 р./час, 20-40+ часов/месяц

☕️ Ведущий Java-разработчик. Удалённо (гражданство РФ, РБ), от 230 т.р.

☕️ Java Senior Разработчик (Spring). Удалённо (Москва), 240-300 т.р.

☕️ Lead Java Senior Developer (HFT). Гибрид (Лиссабон, Португалия), 80-100 т. евро

☕️ Senior Java Developer (Spring Boot). Удалённо, до $6000
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Вакансии для Java-разработчиков за последние 14 дней:

Java Разработчик. удалённо (РФ, РБ), от 1500 до 2500 руб/час

Ведущий Java Разработчик. удалённо (РФ, РБ), от 230 т.р.

Java/Go Разработчик. удалённо (Ульяновск), 160–200 т.р.

Lead Java Senior Developer (HFT). гибрид (Лиссабон, Португалия), от 80 до 100 т.евро

Java/Kotlin-разработчик. удалённо

Java разработчик. удалённо

#подборка #java
🔔 Дайджест полезных материалов по Java, вышедших с 17 по 22 февраля 2026 г.

📌 Почитать:

☕️ На javarocks.ru:

🟢 Исключения: отмечено, не отмечено и настраиваемое
🟢 Java преобразование ArrayList в Array
🟢 Как в java преобразовать число в строку

☕️ Другие платформы:

🟢 Трудности разработки Java-игр: каким был мобильный геймдев нулевых?
🟢 Разрыв в неизменяемости: почему Java Records нужны оптики (Lenses)
🟢 Garbage Collector: жизнь без иллюзий
🟢 Ceylon и NULL: как сделать null нормальным
🟢 Руководство по ArchUnit — как модульно тестировать архитектуру
🟢 Параллельная обработка Kafka сообщений с гарантией at-least-once в условиях медленного внешнего сервиса
🟢 Универсальный сервис динамического шардирования
🟢 Вытесняй и властвуй: еще раз про многозадачность
🟢 Импортозамещение, которое мы заслужили: Большой разбор клиента «Телега»
🟢 Слоистая архитектура для людей
🟢 Инструменты навигации в GIGA IDE
🟢 28 дней со Spring AI: от простого чата до полноценного инструмента

📌 Посмотреть:

🟢 ВСЁ про JAVA-СОБЕСЕДОВАНИЯ В 2026. ЗАРПЛАТЫ, ЛОВУШКИ, ВОПРОСЫ
🟢 Towards Better Checked Exceptions

Хорошего дня!

#дайджест
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет всем, кто любит алгоритмические головоломки!
Это классическая задача, которую часто дают на собеседованиях. Она простая, но требует сообразительности для достижения максимальной эффективности.

Условие:
В массиве находятся числа последовательности от 1 до N в произвольном порядке. Одно из чисел может быть пропущено.

Задача:
Написать алгоритм, который найдет, какого числа не хватает.

Жесткое ограничение:
Сделать это нужно за один проход по массиву

Пример: [1, 2, 3, 4, 5, 6, 8, 9, 10] → Алгоритм должен вернуть 7.


🤔 Как бы вы решили эту задачу? Не лишайте себя удовольствия найти решение самостоятельно!

👉 Java Rocks | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
🛠 Алгоритм Действий

Весь секрет в сложении!

1. Считаем, сколько должно быть:
Используем формулу для суммы чисел от 1 до N. Это наша Полная Сумма.
Полная Сумма = N*(N + 1)/2


2. Считаем, сколько есть:
Проходим по нашему массиву один раз и складываем все числа. Это наша Фактическая Сумма.

3. Находим разницу:
Вычитаем то, что есть, из того, что должно быть.
Пропущенное число = Полная Сумма - Фактическая Сумма


💻 Реализация на Java
public class Main {
public static void main(String[] args) {
// Задаем N - максимальное число, которое должно быть в последовательности.
int n = 10;

// Массив, в котором отсутствует одно число (например, 3)
// int[] array = new int[] {1, 2, 4, 5, 6, 7, 8, 9, 10}; // Если 3 пропущено
int[] array = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // Тестовый массив без пропусков

// 1. Вычисляем Полную Сумму (Full Sum)
// Используем формулу суммы арифметической прогрессии: N * (N + 1) / 2
// Это эталонная сумма всех чисел от 1 до N.
int sumAll = (n * (n + 1)) / 2;

// 2. Вычисляем Фактическую Сумму (Actual Sum) за один проход
int sum = 0;
// Это единственный проход по массиву, соответствующий ограничению O(N)
for (int i = 0; i < array.length; i++) {
sum += array[i];
}

// 3. Сравниваем суммы и выводим результат
if (sumAll == sum) {
System.out.println("Число не пропущено");
} else {
// Разница между полной и фактической суммой - это и есть пропущенное число.
System.out.println("Пропущено число: " + (sumAll - sum));
}
}
}

Это решение — идеальный ответ на собеседовании.
😉

Оно демонстрирует не только умение писать код, но и знание базовой математики, позволяющее создать алгоритм с оптимальной временной сложностью (O(N)) и пространственной сложностью (O(1))!

Расскажите в комментариях, что получилось у вас!

👉 Java Rocks | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Снова задачка, но сегодня про белок и их тусовки 🐿

Задача: Белки обожают вечеринки с сигарами! Обычно для хорошей вечеринки нужно от 40 до 60 сигар (включительно). Но если наступают выходные — правила меняются: нужно минимум 40 сигар, а верхнего предела нет! Чем больше — тем веселее.

Напиши метод, который скажет, получилась ли у белок хорошая вечеринка или нет.

Примеры:
cigarParty(30, false) → false (мало сигар, не выходные)

cigarParty(50, false) → true (в пределах 40–60, не выходные)

cigarParty(70, true) → true (выходные, больше 40)


А как бы вы решили эту задачу? Жду ваши варианты в комментариях! 😉

👉 Java Rocks | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Уже догадались?

Давайте сначала просто проверяем условие:

▪️Если выходные (
isWeekend == true) — проверяем только нижнюю границу: cigars >= 40
▪️Если не выходные — проверяем обе границы:
cigars >= 40 && cigars <= 60

Решение:
public boolean cigarParty(int cigars, boolean isWeekend) {
if (isWeekend) {
return cigars >= 40;
} else {
return cigars >= 40 && cigars <= 60;
}
}

▫️cigars >= 40 — обязательное условие для любой успешной вечеринки

Или более коротко:
public boolean cigarParty(int cigars, boolean isWeekend) {
return cigars >= 40 && (isWeekend || cigars <= 60);
}


▫️ Если
isWeekend == true, то условие сразу истинно (выходные — верхней границы нет)
▫️ Если
isWeekend == false, то дополнительно проверяем cigars <= 60

👉 Java Rocks | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Стильное свидание — получим ли мы столик в ресторане?

Вы и ваша пара собираетесь в ресторан. У каждого из вас есть "стильность" одежды от 0 до 10.
Шансы получить столик определяются по трем уровням:

▫️ 2 (да) — если хотя бы один из вас очень стильный (8+ баллов)
▫️ 0 (нет) — если хотя бы один из вас одет ужасно (2 или меньше баллов)
▫️1 (возможно) — во всех остальных случаях

Примеры:
dateFashion(5, 10) → 2 (партнер очень стильный — 10 баллов)

dateFashion(5, 2) → 0 (партнер плохо одет — 2 балла)

dateFashion(5, 5) → 1 (средние показатели)


ПОДСКАЗКА

Один из вариантов решения использует такую структуру:

if (xxx) {
return 0;
} else if (yyy) {
return 2;
} else {
return 1;
}
где xxx и yyy — это выражения с операторами <=, >=, которые проверяют значения you и date для получения соответствующего результата.

Порядок операторов if имеет решающее значение — случай с результатом 0 (нет) имеет приоритет над остальными случаями, поэтому эта проверка должна идти первой.


Напишите свои варианты кода — посмотрим, кто сможет сделать решение короче и изящнее! 🧑‍💻

👉 Java Rocks | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
1👎1
Когда система падает под нагрузкой, виноват не язык и не фреймворк. Почти всегда проблема в архитектуре.

🔔 Курс «Highload Architect» учит строить системы, которые выдерживают сотни тысяч и миллионы запросов в секунду. Вы разберёте весь путь запроса — от клиента до базы данных и обратно — и поймёте, какие архитектурные решения действительно работают под высокой нагрузкой, а какие ломаются первыми.

Программа ориентирована на веб-разработчиков, тимлидов и архитекторов ПО.

На курсе рассмотрим типовые и нетривиальные кейсы, с которыми сталкиваются крупные сервисы.

🎁 Закрываем набор до 5.03.2026 в группу февраля со скидкой 🔤 . Подробности у менеджера.

Пройти короткое вступительное тестирование: https://vk.cc/cV1gyD

📌Практическое обучение проводится в прямом эфире — вебинары не являются предзаписанными.

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