➡️ Строковые шаблоны (Preview)
Строковые шаблоны — это новая функция в режиме предварительного просмотра, которая упрощает создание строк с вычисляемыми значениями.
🗣️ Ранее используемая в Java конкатенация приводила к сложному коду, тогда как строковая интерполяция в других языках сокращает код, но увеличивает риски безопасности.
ℹ️ Шаблонные выражения объединяют лаконичность интерполяции и высокую безопасность.
String name = "Joan";
String info = STR."My name is \{name}";
assert info.equals("My name is Joan"); // true
Это выражение использует обработчик STR и встроенное выражение {name}, которое может включать строки, арифметику, методы и поля. Обработчики выполняются динамически и обеспечивают безопасность кода. Шаблоны не работают без обработчика, который отвечает за интерполяцию и валидацию.
👩💻
@javaquiz
Строковые шаблоны — это новая функция в режиме предварительного просмотра, которая упрощает создание строк с вычисляемыми значениями.
🗣️ Ранее используемая в Java конкатенация приводила к сложному коду, тогда как строковая интерполяция в других языках сокращает код, но увеличивает риски безопасности.
ℹ️ Шаблонные выражения объединяют лаконичность интерполяции и высокую безопасность.
String name = "Joan";
String info = STR."My name is \{name}";
assert info.equals("My name is Joan"); // true
Это выражение использует обработчик STR и встроенное выражение {name}, которое может включать строки, арифметику, методы и поля. Обработчики выполняются динамически и обеспечивают безопасность кода. Шаблоны не работают без обработчика, который отвечает за интерполяцию и валидацию.
👩💻
@javaquiz
⚙️ System.identityHashCode()
System.identityHashCode() возвращает хеш-код объекта, который основывается на его настоящем адресе в памяти, независимо от того, был ли переопределён метод hashCode(). Это полезно для диагностики, отладки, отслеживания объектов и работы с объектами, у которых метод hashCode() был переопределён нестандартным образом.
👩💻
@javaquiz
System.identityHashCode() возвращает хеш-код объекта, который основывается на его настоящем адресе в памяти, независимо от того, был ли переопределён метод hashCode(). Это полезно для диагностики, отладки, отслеживания объектов и работы с объектами, у которых метод hashCode() был переопределён нестандартным образом.
👩💻
@javaquiz
⚙️ Integer.rotateLeft()
Integer.rotateLeft() осуществляет циклический сдвиг битов числа влево. Это может быть полезно для быстрой генерации хеш-функций, в криптографии и в некоторых алгоритмах обработки битов.
👩💻
@javaquiz
Integer.rotateLeft() осуществляет циклический сдвиг битов числа влево. Это может быть полезно для быстрой генерации хеш-функций, в криптографии и в некоторых алгоритмах обработки битов.
👩💻
@javaquiz
⚙️ Class.getPermittedSubclasses()
Class.getPermittedSubclasses() предоставляет перечень всех классов, которым разрешено наследование от sealed-класса. Это полезно для анализа и проверки иерархий sealed-типов во время выполнения, особенно в системах с плагинами и фреймворках.
👩💻
@javaquiz
Class.getPermittedSubclasses() предоставляет перечень всех классов, которым разрешено наследование от sealed-класса. Это полезно для анализа и проверки иерархий sealed-типов во время выполнения, особенно в системах с плагинами и фреймворках.
👩💻
@javaquiz
➡️ Сила коллекций: Неизменяемые коллекции в Java
Java 10 представила удобную функцию, позволяющую создавать неизменяемые копии коллекций с использованием новых методов copyOf.
✔️ Эти методы обеспечивают легкий способ создания неизменяемых версий существующих коллекций, что способствует повышению безопасности и надежности кода.
👩💻
@javaquiz
Java 10 представила удобную функцию, позволяющую создавать неизменяемые копии коллекций с использованием новых методов copyOf.
✔️ Эти методы обеспечивают легкий способ создания неизменяемых версий существующих коллекций, что способствует повышению безопасности и надежности кода.
👩💻
@javaquiz
⚙️ Оптимизация работы сборщика мусора с помощью параметра -XX:+UseG1GC
Java предоставляет разнообразные способы повышения производительности приложений.
✔️ Одним из таких методов является применение современного сборщика мусора G1 (Garbage First), который улучшает эффективность работы с большими объемами данных и уменьшает задержки.
➡️ Для активации G1GC нужно добавить флаг -XX:+UseG1GC при запуске Java-программы:
java -XX:+UseG1GC G1GCExample
👩💻
@javaquiz
Java предоставляет разнообразные способы повышения производительности приложений.
✔️ Одним из таких методов является применение современного сборщика мусора G1 (Garbage First), который улучшает эффективность работы с большими объемами данных и уменьшает задержки.
➡️ Для активации G1GC нужно добавить флаг -XX:+UseG1GC при запуске Java-программы:
java -XX:+UseG1GC G1GCExample
👩💻
@javaquiz
🌐 Конфигурация HTTP-прокси в Java
Данный код задаёт параметры HTTP-прокси для Java-программы, включая адрес, порт, имя пользователя и пароль прокси-сервера.
✔️ Такая настройка даёт возможность отправлять запросы через прокси, чтобы обходить ограничения или улучшать безопасность.
👩💻
@javaquiz
Данный код задаёт параметры HTTP-прокси для Java-программы, включая адрес, порт, имя пользователя и пароль прокси-сервера.
✔️ Такая настройка даёт возможность отправлять запросы через прокси, чтобы обходить ограничения или улучшать безопасность.
👩💻
@javaquiz
💪 Сильный инструмент в одной строке: метод of()
Метод of() предоставляет лаконичный способ создавать неизменяемые коллекции.
🗣️ Этот метод удобен и эффективен для формирования коллекций с заданным набором элементов.
👩💻
@javaquiz
Метод of() предоставляет лаконичный способ создавать неизменяемые коллекции.
🗣️ Этот метод удобен и эффективен для формирования коллекций с заданным набором элементов.
👩💻
@javaquiz
✔️ Применение Optional для предотвращения NullPointerException
В Java часто возникает ситуация, когда метод возвращает null, что может вызвать NullPointerException. Чтобы этого избежать, можно применять класс Optional.
👀 Давайте посмотрим пример, как использовать Optional для безопасного получения результата из метода, который способен вернуть null.
👩💻
@javaquiz
В Java часто возникает ситуация, когда метод возвращает null, что может вызвать NullPointerException. Чтобы этого избежать, можно применять класс Optional.
👀 Давайте посмотрим пример, как использовать Optional для безопасного получения результата из метода, который способен вернуть null.
👩💻
@javaquiz
🔗 Соединение строк с помощью String.join
Часто нужно объединить несколько строк в одну, используя заданный разделитель.
🗣️ Раньше, до Java 8, для этого обычно применяли цикл и объект StringBuilder. С появлением метода String.join, выполнение этой задачи стало гораздо проще и понятнее.
Применение метода String.join заметно облегчает процесс соединения строк с разделителем, улучшая читаемость кода и уменьшая объем кода, который необходимо писать и поддерживать.
👩💻
@javaquiz
Часто нужно объединить несколько строк в одну, используя заданный разделитель.
🗣️ Раньше, до Java 8, для этого обычно применяли цикл и объект StringBuilder. С появлением метода String.join, выполнение этой задачи стало гораздо проще и понятнее.
Применение метода String.join заметно облегчает процесс соединения строк с разделителем, улучшая читаемость кода и уменьшая объем кода, который необходимо писать и поддерживать.
👩💻
@javaquiz
✔️ Как повысить читаемость вашего кода с помощью Records
Records — это новый вид классов в Java, который облегчает создание классов для хранения неизменяемых данных.
🗣️ Они автоматически создают стандартные методы, такие как equals(), hashCode() и toString(), что делает код более аккуратным и компактным.
👩💻
@javaquiz
Records — это новый вид классов в Java, который облегчает создание классов для хранения неизменяемых данных.
🗣️ Они автоматически создают стандартные методы, такие как equals(), hashCode() и toString(), что делает код более аккуратным и компактным.
👩💻
@javaquiz
➡️ Sealed Classes в Java
Sealed classes дают возможность программистам задавать, какие именно классы могут наследовать данный класс или реализовывать интерфейс.
🗣️ Это помогает создавать более управляемую и предсказуемую структуру классов.
👩💻
@javaquiz
Sealed classes дают возможность программистам задавать, какие именно классы могут наследовать данный класс или реализовывать интерфейс.
🗣️ Это помогает создавать более управляемую и предсказуемую структуру классов.
👩💻
@javaquiz
🔥 Сопоставление с образцом для оператора instanceof
В Java 14 появилась возможность сопоставления с образцом для оператора instanceof. Это позволяет упростить и улучшить читаемость кода, который проверяет тип объекта и затем приводит его к нужному типу.
✔️ Применяйте эту функциональность для создания более аккуратного и понятного кода, избегая ненужных явных приведений типов.
👩💻
@javaquiz
В Java 14 появилась возможность сопоставления с образцом для оператора instanceof. Это позволяет упростить и улучшить читаемость кода, который проверяет тип объекта и затем приводит его к нужному типу.
✔️ Применяйте эту функциональность для создания более аккуратного и понятного кода, избегая ненужных явных приведений типов.
👩💻
@javaquiz
🪄 Магия сопоставления шаблонов: Switch Expressions
ℹ️ Switch Expressions позволяет писать более компактный и выразительный код при использовании оператора switch.
👩💻
@javaquiz
ℹ️ Switch Expressions позволяет писать более компактный и выразительный код при использовании оператора switch.
👩💻
@javaquiz
➡️ Мощь статических методов: Использование методов интерфейсов
✔️ В Java 8 была введена возможность определения статических методов в интерфейсах, что открыло новые возможности для создания удобных и мощных утилитарных функций прямо в интерфейсах.
🗣В интерфейсе ListUtils определен статический метод max, который находит максимальный элемент в коллекции.
🗣В методе main мы вызываем статический метод max из интерфейса ListUtils, передавая ему список чисел.
🗣Мы выводим найденное максимальное число на экран.
👩💻
@javaquiz
✔️ В Java 8 была введена возможность определения статических методов в интерфейсах, что открыло новые возможности для создания удобных и мощных утилитарных функций прямо в интерфейсах.
🗣В интерфейсе ListUtils определен статический метод max, который находит максимальный элемент в коллекции.
🗣В методе main мы вызываем статический метод max из интерфейса ListUtils, передавая ему список чисел.
🗣Мы выводим найденное максимальное число на экран.
👩💻
@javaquiz
✔️ Использование Collectors.teeing для объединения потоков
Java 12 представила новый метод Collectors.teeing, который позволяет объединить результаты двух различных коллекторов в один итоговый результат.
🗣️ Эта возможность значительно упрощает обработку сложных потоков данных.
👩💻
@javaquiz
Java 12 представила новый метод Collectors.teeing, который позволяет объединить результаты двух различных коллекторов в один итоговый результат.
🗣️ Эта возможность значительно упрощает обработку сложных потоков данных.
👩💻
@javaquiz
➡️ Использование Optional для работы с потенциально null значениями
Использование Optional позволяет более безопасно работать с потенциально null значениями в Java.
🗣️ Этот подход помогает предотвратить распространенные ошибки, такие как NullPointerException, и делает код более читаемым и надежным.
👩💻
@javaquiz
Использование Optional позволяет более безопасно работать с потенциально null значениями в Java.
🗣️ Этот подход помогает предотвратить распространенные ошибки, такие как NullPointerException, и делает код более читаемым и надежным.
👩💻
@javaquiz
➡️ Фабричный метод коллекции
✔️ Коллекции — наиболее часто используемая функция в нашем ежедневном программировании. Они используются в качестве контейнера, в котором мы храним объекты и передаем их дальше.
Коллекции также используются для сортировки, поиска и перебора объектов, что упрощает жизнь программиста. Он предоставляет несколько базовых интерфейсов, таких как List, Set, Map и т. д., а также множество реализаций.
Традиционный способ создания коллекций и карт может показаться многим разработчикам многословным.
👀 Вот почему в Java 9 появилось несколько очень кратких фабричных методов.
👩💻
@javaquiz
✔️ Коллекции — наиболее часто используемая функция в нашем ежедневном программировании. Они используются в качестве контейнера, в котором мы храним объекты и передаем их дальше.
Коллекции также используются для сортировки, поиска и перебора объектов, что упрощает жизнь программиста. Он предоставляет несколько базовых интерфейсов, таких как List, Set, Map и т. д., а также множество реализаций.
Традиционный способ создания коллекций и карт может показаться многим разработчикам многословным.
👀 Вот почему в Java 9 появилось несколько очень кратких фабричных методов.
👩💻
@javaquiz
⏳ Использование LocalDate и DateTimeFormatter для работы с датами
LocalDate и DateTimeFormatter предоставляют удобные и безопасные методы для работы с датами в Java.
🗣️ Этот подход упрощает задачи форматирования и парсинга дат, что делает код более читаемым и менее подверженным ошибкам.
👩💻
@javaquiz
LocalDate и DateTimeFormatter предоставляют удобные и безопасные методы для работы с датами в Java.
🗣️ Этот подход упрощает задачи форматирования и парсинга дат, что делает код более читаемым и менее подверженным ошибкам.
👩💻
@javaquiz
➡️ Как объединить два списка в Java?
Этот код демонстрирует, как объединить два списка list1 и list2 в Java, создав новый список mergedList, который содержит все элементы из обоих исходных списков. В результате выполнения кода будет напечатан объединенный список.
🗣️ Этот подход часто используется на практике при работе с коллекциями в Java.
👩💻
@javaquiz
Этот код демонстрирует, как объединить два списка list1 и list2 в Java, создав новый список mergedList, который содержит все элементы из обоих исходных списков. В результате выполнения кода будет напечатан объединенный список.
🗣️ Этот подход часто используется на практике при работе с коллекциями в Java.
👩💻
@javaquiz
Как получить карьерный буст и MacBook за подписку
В интернете полно курсов по самопиару и карьерному развитию в IT, но все они не сравнятся с реальными кейсами от действующих практиков.
Не нужно покупать дорогие консультации, чтобы перенять чужой опыт — достаточно подписаться на папку, где собралось более 30 лучших экспертов из IT и digital
Это люди, которые не только построили успешную карьеру с нуля, но и основали собственные компании.
Они собрались, чтобы прокачать тебя в маркетинге и дизайне, а ещё провести розыгрыш.
Подпишись на них и получи один из 3 призов:
🥇 Главный приз — MacBook Air (M2)
🥈 2 место: Яндекс Станция Лайт 2
🥉 3 место: Наушники HUAWEI Freebuds 5i
Участвуешь?
1. Подпишись на папку
2. Подтверди участие в боте
19 июня в прямом эфире опубликуем итоги розыгрыша!
В интернете полно курсов по самопиару и карьерному развитию в IT, но все они не сравнятся с реальными кейсами от действующих практиков.
Не нужно покупать дорогие консультации, чтобы перенять чужой опыт — достаточно подписаться на папку, где собралось более 30 лучших экспертов из IT и digital
Это люди, которые не только построили успешную карьеру с нуля, но и основали собственные компании.
Они собрались, чтобы прокачать тебя в маркетинге и дизайне, а ещё провести розыгрыш.
Подпишись на них и получи один из 3 призов:
Участвуешь?
1. Подпишись на папку
2. Подтверди участие в боте
19 июня в прямом эфире опубликуем итоги розыгрыша!
Please open Telegram to view this post
VIEW IN TELEGRAM