Java 10 ввела полезную возможность создания неизменяемых копий коллекций с помощью новых методов copyOf.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Java предоставляет множество возможностей для оптимизации производительности приложений.
java -XX:+UseG1GC G1GCExample
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Этот код настраивает HTTP-прокси для Java-приложения, устанавливая адрес, порт, имя пользователя и пароль прокси-сервера.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Метод
of()
обеспечивает компактный способ создания неизменяемых коллекций.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
В Java часто приходится сталкиваться с проблемой, когда метод возвращает
null
, что может привести к NullPointerException
. Чтобы избежать таких ситуаций, можно использовать класс Optional.null
.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Records — это новый тип классов в Java, который значительно упрощает создание классов, предназначенных для хранения неизменяемых данных.
equals()
, hashCode()
и toString()
, что делает код более чистым и менее многословным.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Sealed classes позволяют разработчикам ограничивать, какие классы могут наследоваться от конкретного класса или реализовывать интерфейс.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
В Java 14 был представлен Pattern Matching для оператора instanceof. Эта возможность упрощает и делает более читабельным код, который проверяет типы объектов и затем приводит их к этим типам.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
ListUtils
определен статический метод max, который находит максимальный элемент в коллекции.main
мы вызываем статический метод max из интерфейса ListUtils
, передавая ему список чисел.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Java 12 представила новый метод
Collectors.teeing
, который позволяет объединить результаты двух различных коллекторов в один итоговый результат.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Использование Optional позволяет более безопасно работать с потенциально null значениями в Java.
NullPointerException
, и делает код более читаемым и надежным.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Коллекции также используются для сортировки, поиска и перебора объектов, что упрощает жизнь программиста. Он предоставляет несколько базовых интерфейсов, таких как List, Set, Map и т. д., а также множество реализаций.
Традиционный способ создания коллекций и карт может показаться многим разработчикам многословным.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
LocalDate и DateTimeFormatter предоставляют удобные и безопасные методы для работы с датами в Java.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Этот код демонстрирует, как объединить два списка
list1
и list2
в Java, создав новый список mergedList
, который содержит все элементы из обоих исходных списков. В результате выполнения кода будет напечатан объединенный список.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вам нужно написать Comparator для сортировки объектов по возрастанию, обычно он выглядит так:
public class ByScoreComparator implements Comparator<User> {
@Override
public int compare(User u1, User u2) {
return (int) signum(u2.getAge() - u1.getAge());
}
}
Теперь это не нужно. Можно использовать ссылки на методы:
Comparator<User> comparator = Comparator
.comparingDouble(User::getAge)
.thenComparing(User::getName);
List<User> hList = ...;
hList.sort(comparator);
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Утилитарные классы предназначены не для создания объектов, а для предоставления статических методов для выполнения общих функций. Если вы пишете слишком много таких классов, пересмотрите свой подход к проектированию кода.
Однако иногда они необходимы, например, для реализации внутренних предметно-ориентированных языков (DSL) в Java. В таких случаях часто отступают от принципов ООП, чтобы сделать синтаксис короче.
• Сделайте конструктор приватным, чтобы класс нельзя было создать.
• Сделайте класс final, чтобы его нельзя было наследовать.
• Объединяйте методы в утилитарные классы по функциональности. Избегайте общих названий, таких как MvcUtils или CommonUtils.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Java предоставляет множество возможностей для оптимизации производительности приложений.
java -XX:+UseG1GC G1GCExample
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM