JavaStart
910 subscribers
910 photos
28 videos
620 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👍3💯2
Как называется шаблон проектирования, у которого есть внешний объект-строитель, последовательно задающий параметры сложного объекта?
Anonymous Quiz
74%
Builder
22%
Factory Method
3%
Prototype
1%
Mediator
0%
Посмотреть ответ
3👍3🎉2
Архитектура приложений простыми словами. Часть 3. Отличие Микросервисов от Монолита.

Сегодня давайте сравним два популярных подхода к разработке приложений: микросервисы и монолит.

Монолит:

🔹 Один блок
Весь код, базы данных и компоненты находятся в одном приложении.

🔹 Простота начала
Создание и развертывание монолита обычно проще.

🔹 Единое развертывание
Приложение разворачивается целиком, что может быть проще для управления.

🔹 Обслуживание
Если один единый монолитный сервис сломался, то все приложение не будет работать до исправления проблемы.

Микросервисы:

🔹 Множество компонентов
Приложение разбито на небольшие независимые микросервисы.

🔹 Масштабируемость
Микросервисы могут быть масштабированы независимо.

🔹 Гибкость
Возможность использовать разные технологии для разных микросервисов.

🔹 Обслуживание
Если сломался один или даже несколько отдельных сервисов, то приложение может продолжать свою работу в целом.

Как выбрать подход?

🔹 Монолит, если вы только начинаете и хотите простоту разработки и развертывания.

🔹 Микросервисы, если проект сложный, требует гибкости и быстрого масштабирования.

Важно подбирать подход в зависимости от целей, размера проекта и команды разработчиков. Оба варианта имеют свои плюсы и минусы. Помните, в разработке нет одного "правильного" пути – нужно выбирать наиболее подходящий для конкретной ситуации!

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3👨‍💻2
Когда пришел MR от тимлида

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
😁64💯3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4🤓4💯2
IS-A отношения в Java простыми словами. Часть 1.

IS-A отношения в Java – это способ показать, что конкретный объект является типом другого объекта.

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

public class Animal {
}

public class Mammal extends Animal {
}

public class Reptile extends Animal {
}

public class Dog extends Mammal {
}

На основе приведенного на Картинке примера, в объектно-ориентированных терминах верно следующее:

Класс Животное – суперкласс.

Млекопитающее – подкласс Животного.

Рептилия и Млекопитающее – подклассы Животного.

Собака является подклассом Млекопитающего и Животного.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5💯4👍1
Как из List<List<Integer>> получить плоский List<Integer> с помощью Stream API?
Anonymous Quiz
52%
flatMap(List::stream)
20%
map(List::stream)
4%
reduce(Integer::sum)
12%
collect(Collectors.toMap(...))
12%
Посмотреть ответ
👍32🎉2👨‍💻1
Какой уровень изоляции транзакций предотвращает “phantom reads”?
Anonymous Quiz
19%
READ COMMITTED
23%
REPEATABLE READ
40%
SERIALIZABLE
10%
READ UNCOMMITTED
8%
Посмотреть ответ
3👍3🎉2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁3💯32
Что напечатает код?

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 Ответ на задачу про сравнение строк в Java

Давайте разберемся, что напечатает приведённый код!

String a = "ab";
String b = "a" + "b";
String c = "a";
String d = c + "b";

System.out.println(a == b);
System.out.println(a == d);
System.out.println(a.equals(d));


Этот код выводит на экран:

true — В первом сравнении (a == b), оба операнда являются строковыми литералами, и компилятор оптимизирует их, так что они указывают на один и тот же объект в строковом пуле.

false — Во втором сравнении (a == d), d создается путем конкатенации на этапе выполнения, из-за чего она не будет указывать на тот же объект в строковом пуле, что и a.

true — В третьем сравнении (a.equals(d)), метод equals сравнивает содержимое строк, а не их ссылки, потому этот результат будет true, так как содержимое одинаково.

Интересно, правда? 😄 Не забудьте, что использование оператора == для сравнения строк может привести к неожиданным результатам. Для проверки эквивалентности строк на уровне содержимого всегда используйте equals.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5💯4👍1
IS-A отношения в Java простыми словами. Часть 2.

Ключевое слово instanceof.

Для определения типа объекта (является ли конкретный объект является типом другого объекта) в Java используется ключевое слово instanceof.

Давайте посмотрим на код на Картинках.

Объект m класса Mammal является типом объекта Animal, потому что класс Mammal наследуется от супер-класса Animals.

Объект d класса Dog является типом объекта Mammal, потому что класс Dog наследуется от класса Mammal.

При этом объект d класса Dog еще и является типом объекта Animal, потому что класс Mammal наследуется от класса Animal.

Как уже говорилось ранее - в Java нет множественного наследования (class X extends Y, Z, …), но классы могут наследоваться по цепочке (class X extends Y, class Y extends Z).

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5👍31
Что обязательно переопределить вместе с equals() для корректной работы в HashSet/HashMap?
Anonymous Quiz
0%
clone()
6%
compareTo()
92%
hashCode()
0%
finalize()
2%
Посмотреть ответ
2👍2🎉2