JavaStart
909 subscribers
909 photos
28 videos
619 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Кто в SCRUM отвечает за устранение преград, мешающих команде достигнуть цели спринта?
Anonymous Quiz
12%
Product owner
58%
Scrum Master
9%
Development team
9%
Scrum Coach
13%
Посмотреть ответ
2👍2🎉2👨‍💻1
Иммутабельность в Java. Часть 2. Примеры.

Вопрос про иммутабельность часто встречается на собеседовании. Из того, что железобетонно нужно запомнить — все классы-обертки над примитивными типами — неизменяемые. Integer, Byte, Character, Short, Boolean, Long, Double, Float — все эти классы создают Immutable объекты.

Например,

1) String immutableString = "Hello, World!";

// Методы работы со строками не изменяют текущую строку, а возвращают новую

String newString = immutableString.toUpperCase();

2) Работа с классом java.time.LocalDate:

LocalDate immutableDate = LocalDate.of(2023, 11, 3);

// Методы работы с датой также возвращают новую дату

LocalDate nextMonth = immutableDate.plusMonths(1);

3) И еще раз пример своего собственного иммутабельного класса на Картинке 2.

Использование иммутабельности в Java способствует созданию более надежного и чистого кода, а также улучшает его производительность в многозадачных и многопоточных сценариях.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥42👨‍💻1
Иммутабельность в Java. Часть 3. String Immutable.

В Java, строка (String) является immutable (неизменяемой). Это означает, что после создания объекта String его значение нельзя изменить. Давайте разберемся, почему это важно и как это работает.

💡 Преимущества неизменяемости String.

1) Безопасность
Строки, которые вы передаете в методы или возвращаете из них, не могут быть случайно изменены другим кодом.

2) Кэширование
Java может кэшировать строковые литералы, что экономит память и ускоряет выполнение программы.

3) Потокобезопасность
Из-за неизменяемости строки безопасны в многопоточных сценариях.

🧐 Пример использования String

String original = "Hello";
String modified = original + ", World!";

// Новая строка создается при конкатенации (сложение строк, поговорим об этом в след постах)

System.out.println(original);
// Выводит "Hello"

System.out.println(modified);
// Выводит "Hello, World!"

👩‍💻 Практический совет:
При работе со строками в Java помните о их неизменяемости и выбирайте подходящие методы для эффективной обработки данных.

📌 Заключение:
Понимание неизменяемости строк помогает нам писать более эффективный и безопасный код на Java. Практикуйтесь и улучшайте свои навыки!

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥3👍2👨‍💻1
Вот так сделал и никакой АлиЭкспресс не нужен 😁

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4🔥31💯1
Какой оператор используется для выбора всех столбцов из таблицы в SQL?
Anonymous Quiz
7%
SELECT COLUMN
1%
SELECT FIELDS
74%
SELECT *
16%
SELECT ALL
2%
Посмотреть ответ
🎉32👍21
Иммутабельность в Java. Часть 4. Конкатенация строк.

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

👉 Что такое конкатенация строк?

Конкатенация - это процесс объединения строк. В Java есть несколько способов это сделать, и один из них - использовать оператор + или метод .concat().

🧊 Пример:

String firstName = "John";
String lastName = "Doe";

String fullName = firstName + " " + lastName;
// или
String fullNameConcat = firstName.concat(" ").concat(lastName);

Вывод в обоих случаях: John Doe

Остерегайтесь ловушек!

Оператор + или метод .concat() не изменяют оригинальные строки. Вместо этого они создают новую строку. Это особенно важно, когда вы работаете с большим количеством строк. Создание новых объектов String при конкатенации - очень распространенный вопрос с собеседования.

🔗 Почему это важно в контексте иммутабельности?

Такие операции не создают мутации в исходных строках, что делает их безопасными и предсказуемыми. Мы можем быть уверены, что исходные строки останутся неизменными.

⚖️ Плюсы и минусы конкатенации:

Плюсы:

1) Простота использования.
2) Удобство читаемости кода.

Минусы:

1) Новые строки могут занимать больше памяти.
2) Время выполнения может быть медленнее при большом количестве конкатенаций.

🔍 Совет:

Для более эффективной работы с большим количеством конкатенаций, например, конкатенация в цикле, рекомендуется использовать StringBuilder или StringBuffer. О них поговорим в следующих постах.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32👨‍💻2🔥1
Иммутабельность в Java. Часть 5.1. Конкатенация строк с помощью StringBuilder.

Продолжаем глубже погружаться в мир иммутабельности в Java! Сегодня мы рассмотрим эффективный способ конкатенации строк с использованием StringBuilder.

👉 Что такое StringBuilder?

StringBuilder - это класс в Java, предназначенный для изменения строк без создания новых объектов. Это особенно полезно при выполнении множественных операций конкатенации.

🛠️ Как использовать StringBuilder:

// Инициализация
StringBuilder stringBuilder = new StringBuilder();

// Добавление текста
stringBuilder.append("Hello");
stringBuilder.append(" ");
stringBuilder.append("World");

// Преобразование в строку
String result = stringBuilder.toString();

При выводе переменной result получим Hello World

🚀 Преимущества использования StringBuilder:

1) Эффективность
Изменение содержимого без создания новых объектов.

2) Производительность
Особенно важно при множественных операциях конкатенации.

⚖️ Когда использовать StringBuilder?

1)  При многократных операциях изменения строки в цикле.
2) Когда требуется эффективное использование памяти.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2👨‍💻21
Какой тип данных используется для хранения целых чисел в Java?
Anonymous Quiz
1%
float
6%
inter
1%
double
0%
char
91%
int
0%
Посмотреть ответ
🎉5👍1🤓1👨‍💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁72👍1🔥1
Иммутабельность в Java. Часть 5.2. Конкатенация строк с помощью StringBuilder.

Рассмотрим еще несколько примеров использования StringBuilder в Java.

StringBuilder message = new StringBuilder("Welcome");

message.append(" to").append(" Java").append("!");

String finalMessage = message.toString();

Вывод переменной finalMessage: Welcome to Java!

Пример использования StringBuilder в цикле на Картинке 2:

В классе StringBuilderExample мы сначала создаем объекта СтрингБилдера, затем создаем массив некоторых строк. Проходимся по массиву с помощью цикла форыч и склеиваем строки из массива с помощью СтрингБилдера и его метода .append(). Далее преобразуем СтрингБилдер в строку через метод .toString() класса Object (не забываем, что StringBuilder тоже наследуется от класса Object) и выводим результат в консоль.

В этом примере StringBuilder эффективно используется в цикле для конкатенации слов из массива. Это помогает избежать создания большого количества временных объектов строк, что может привести к снижению производительности.

Помним, что StringBuilder - отличный выбор, когда нам нужно изменять строки в цикле или при конкатенации большого количества строк для улучшения производительности.

🚀 Вывод:

Используем StringBuilder для эффективной и производительной конкатенации строк в Java.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1👨‍💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁112💯2
Иммутабельность в Java. Часть 5.3. Конкатенация строк с помощью StringBuffer.

Продолжаем погружение в мир иммутабельности, и сегодня рассмотрим использование StringBuffer для конкатенации строк.

🚀 StringBuffer: Безопасная конкатенация

В предыдущих частях мы узнали, что строки в Java неизменяемы (immutable). И если нам нужно часто модифицировать строки без создания новых объектов, мы можем использовать не только StringBuilder, но и StringBuffer.

Пример использования на Картинке:

StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("Привет, ");
stringBuffer.append("мир!");
String result = stringBuffer.toString();

Вывод: Привет, мир!

🔗 StringBuffer vs StringBuilder:

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

Преимущества StringBuffer:

1) Изменяемость
Может быть изменен без создания новых объектов.

2) Потокобезопасность
Методы append и delete синхронизированы, что делает StringBuffer потокобезопасным.

🤔 Когда выбрать StringBuffer?

Если наши операции с конкатенацией могут быть использованы в многопоточной среде, StringBuffer - наш выбор.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42💯2
Frontend vs Backend: Разбираем разницу в мире разработки!

Сегодня мы поговорим о том, что делает frontend и backend разработки уникальными. Давайте разберем ключевые различия.

🚀 Frontend: Основа пользовательского интерфейса

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

1) Языки программирования: HTML, CSS, JavaScript.
2) Ответственности: Отображение данных, взаимодействие с пользователем, создание интерфейса.

👩‍💻 Backend: Сердце приложения

Backend - это "мозги" веб-приложения, скрытые от пользователя. Вот, что важно:

1) Языки программирования: Java, PHP, Python, Ruby, Node.js и др.
2) Ответственности: Обработка данных, бизнес-логика, взаимодействие с базой данных.

🔄 Совместная работа:
Frontend и backend взаимодействуют, обмениваясь данными через API. Frontend отправляет запросы на backend, и тот отвечает необходимой информацией. А frontend,  в свою очередь, отрисовывает понятный человеческому глазу интерфейс в приложении (будь то веб сайтом, мобильным приложением или десктопом (приложение для рабочего стола)).

🌈 Еще есть Full-Stack разработчики:
Они охватывают и frontend, и backend! Полный контроль над приложением.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2👨‍💻21
Кто в SCRUM отвечает за управление бэклогом продукта?
Anonymous Quiz
34%
Scrum Master
10%
Development Team
30%
Product Owner
10%
Scrum Coach
15%
Посмотреть ответ
4👍2🎉21👨‍💻1
Как взаимодействуют frontend и backend?

Сейчас будет очень важное описание на пальцах для хорошего понимания сути. Предположим, у нас есть юзер, который пользуется мобильным приложением, у которого backend написан на Java, а frontend написан на языке Kotlin для Android.

Взаимодействие фронтенда и бэкенда происходит следующим образом:

- есть некий компьютер - сервер;

- есть backend приложение, которое задеплоено (живет) на этом сервере/компьютере;

- есть некий юзер, который пользуется этим приложением через фронтенд (мобильное приложение);

– клиентская часть приложения (фронтенд) отправляет информацию, введенную пользователем, на сервер (бэкенд);

– программа на сервере обрабатывает информацию (бэкенд), общается с своей базой данных, если такое имеется;

– далее информация возвращается клиентской стороне (фронтенд) в понятной для пользователя форме.

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

🤝 По каким правилам/стандартам происходит взаимодействие бэка и фронта?

1) API (Application Programming Interface): Это мост между frontend и backend.
Можно вернуться к постам про REST API по ссылке.

2) HTTP/HTTPS протоколы: Frontend отправляет запросы, а backend отвечает.

Закрепим кратко:

💬 Что происходит в реальном времени?

Frontend отправляет запрос: Например, "Покажи мне данные пользователя".
Backend обрабатывает запрос: Запрашивает данные из базы данных.
Backend отправляет ответ: Frontend получает данные и отображает их.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥2👨‍💻1
Как добавить новую запись в таблицу SQL?
Anonymous Quiz
14%
ADD NEW
3%
ADD RECORD
79%
INSERT INTO
2%
INSERT RECORD
3%
Посмотреть ответ
🎉52👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
💯7👍3😁31