@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥2
▪️GitHub
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍8🔥4😢2
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39❤9🔥3😁2
🚀 Java Streams: Основные методы для чистого и эффективного кода!
Java Streams предлагают множество методов для упрощения манипуляций с данными и повышения читаемости кода.
Вот краткое руководство с примерами:
Освойте эти методы, чтобы писать более чистый и эффективный код на Java! 💡
@javatg
Java Streams предлагают множество методов для упрощения манипуляций с данными и повышения читаемости кода.
Вот краткое руководство с примерами:
Освойте эти методы, чтобы писать более чистый и эффективный код на Java! 💡
@javatg
🔥17❤4👍4
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥4👍3
▪️Github
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍8🔥4👏1🤔1
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2🔥2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
▪️Github
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4👏2
This media is not supported in your browser
VIEW IN TELEGRAM
▪️Github
@java_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3🔥3
▪️Github
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍3🔥3👏1🤔1🤬1
Минималистичный интерфейс — простая и удобная навигация
▪️Github
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🤬2🥰1
В Java строки (`String`) являются объектами, представляющими последовательность символов. Они имеют особое значение, и оптимизация работы со строками важна для эффективного использования памяти и производительности приложения.
Вот ключевые методы оптимизации работы со строками в Java:
1. Пул строк (String Pool)
- Java использует специальную область памяти, называемую String Pool (или **интернированный пул строк**), для хранения строковых литералов.
- Когда строка создается как литерал, например,
String str = "hello";
, JVM сначала проверяет, есть ли уже такая строка в пуле. Если есть, то возвращается ссылка на существующую строку, а не создается новый объект.- Если строка создается с помощью
new
, например, String str = new String("hello");
, новый объект строки создается в куче, даже если такая строка уже есть в пуле.Оптимизация:
- Используйте строковые литералы вместо явного создания новых объектов
String
через new
, чтобы JVM могла переиспользовать строки из пула.Пример:
String s1 = "hello"; // переиспользует строку из пула
String s2 = new String("hello"); // создает новую строку в куче
2. Метод `intern()`
- Метод
intern()
добавляет строку в пул строк, если ее там еще нет, и возвращает ссылку на строку из пула.- Это полезно, когда вы хотите уменьшить количество дубликатов строк.
Пример:
String s1 = new String("hello").intern(); // добавляет строку в пул и возвращает ссылку из пула
String s2 = "hello"; // использует строку из пула
System.out.println(s1 == s2); // true
3. Избегайте конкатенации строк в циклах
- Операция конкатенации строк через оператор
+
в Java создает новые объекты String
, поскольку строки неизменяемы. Это может привести к большому количеству временных объектов и снижению производительности.- Внутри циклов это особенно дорого, поскольку каждый раз создается новая строка.
Оптимизация:
- Используйте
StringBuilder
или StringBuffer
для конкатенации строк, если вы собираете строки в цикле.Пример:
// Плохой подход:
String result = "";
for (int i = 0; i < 1000; i++) {
result += i; // каждый раз создается новая строка
}
// Оптимизированный подход:
StringBuilder builder = new StringBuilder();
for (int i = 0; i < 1000; i++) {
builder.append(i); // строка накапливается без создания временных объектов
}
String result = builder.toString();
4. Используйте `StringBuilder` вместо `StringBuffer` для однопоточных операций
-
StringBuffer
синхронизирован, и это делает его потокобезопасным, но добавляет накладные расходы. Для однопоточных операций лучше использовать несинхронизированный StringBuilder
, который работает быстрее.5. Использование методов `char[]` и `toCharArray()`
- Если необходимо часто модифицировать строку или выполнять операции с отдельными символами, то преобразование строки в массив символов (`char[]`) может быть более эффективно.
Пример:
String str = "hello";
char[] charArray = str.toCharArray();
charArray[0] = 'H'; // изменяем символ
String modifiedStr = new String(charArray); // создаем новую строку
6. Уменьшение использования временных строк
- Старайтесь избегать создания временных строк, которые сразу выбрасываются сборщиком мусора. Например, при разбиении строки (split) или других операциях, которые могут создать ненужные объекты.
Оптимизация:
- Используйте потоки или регулярные выражения для более эффективной обработки строк.
7. Использование `String.join()` или `Collectors.joining()` для объединения строк
- Если необходимо объединить множество строк (например, из массива или коллекции), лучше использовать
String.join()
или Collectors.joining()
для оптимизации вместо ручной конкатенации.Пример:
List<String> list = Arrays.asList("one", "two", "three");
String result = String.join(", ", list); // более эффективное объединение строк
👉 Этот документ служит полным определением стандартов Google для Java кода.
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤28👍17🔥7🥰2🤔1
Media is too big
VIEW IN TELEGRAM
Процедура проходит с помощью инструментов максимально эффективной и комфортной разработки сервисов и web приложений на Spring Boot в IntelliJ IDEA и административного пользовательского интерфейса на React Admin в VS Code.
00:00 — Зачем нужно версионировать БД?
00:51 — Задачи на сегодня
01:30 — Обзор Spring Boot приложения (via Amplicode Explorer)
03:17 — Подключение и настройка Flyway (генерация скриптов инициализации БД)
05:49 — Модификация JPA модели
06:52 — Генерация Flyway скриптов миграции для синхронизации JPA модели и схемы БД
09:04 — Запуск Spring Boot приложения
📌 Источник
#видео #SpringBoot #java
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥6❤4
▪️Github
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥6❤4😁2
Библиотека поддерживает денежные арифметические операциис, расчеты с процентами и различные распределение, упрощая моделирование таких вариантов использования, как платежи в рассрочку (например, покупка сейчас, оплата позже), обмен валюты, доходность инвестиций и сбор налогов.
В библиотеке также полностью поддерживаются криптовалюты.
▪️Github
▪️Документация
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥4🤬4👍3😁2😢1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍12🔥7🤬1
Amplicode учит вашу IDE говорить на языке Spring Boot!
Amplicode – многофункциональный плагин для IntelliJ IDEA Community и Ultimate, упрощает и ускоряет работу с технологиями Spring Boot, JPA, Docker, Kafka, Liquibase, MapStruct и т.д.
Основные возможности:
⚡ Навигация по проекту согласно архитектуре Spring приложения
⚡ Создание объектов сразу в терминах фреймворка вместо Java классов: контроллеры, репозитории, сервисы, сущности, события, DTO, мапперы и т.д.
⚡ Палитра и инспектор, позволяющие видеть опции, доступные разработчику в текущем контексте
⚡ Умные инжекции, подсказки и исправление ошибок
Это малая часть того, на что способен Amplicode. В настоящий момент возможности доступны абсолютно бесплатно!
Сделано с любовью к разработчикам командой, создавшей суперпопулярный плагин JPA Buddy ❤️
Попробовать Amplicode
Посмотрите как Amplicode помогает разрабатывать на Spring Boot в IntelliJ IDEA!
#реклама
О рекламодателе
Amplicode – многофункциональный плагин для IntelliJ IDEA Community и Ultimate, упрощает и ускоряет работу с технологиями Spring Boot, JPA, Docker, Kafka, Liquibase, MapStruct и т.д.
Основные возможности:
⚡ Навигация по проекту согласно архитектуре Spring приложения
⚡ Создание объектов сразу в терминах фреймворка вместо Java классов: контроллеры, репозитории, сервисы, сущности, события, DTO, мапперы и т.д.
⚡ Палитра и инспектор, позволяющие видеть опции, доступные разработчику в текущем контексте
⚡ Умные инжекции, подсказки и исправление ошибок
Это малая часть того, на что способен Amplicode. В настоящий момент возможности доступны абсолютно бесплатно!
Сделано с любовью к разработчикам командой, создавшей суперпопулярный плагин JPA Buddy ❤️
Попробовать Amplicode
Посмотрите как Amplicode помогает разрабатывать на Spring Boot в IntelliJ IDEA!
#реклама
О рекламодателе
👍12❤7🥰2🤔1