
- Главная
- Каталог
- Интернет технологии
- Java Portal | Программирование
Java Portal | Программирование
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика
Статистика канала
Полная статистикаchevron_right
interface Shape {
double area();
}{}
Типичная реализация выглядит так:
class Circle implements Shape {
private double radius;
Circle(double radius) {
this.radius = radius;
}
@Override
public double area() {
return Math.PI * radius * radius;
}
}{}
Теперь нужно добавить метод perimeter(). Если добавить обычный метод в интерфейс, все существующие реализации Shape сломаются. Вместо этого можно добавить default-метод.
interface Shape {
double area();
// Новый метод
default double perimeter() {
...
}
}{}
Класс Circle автоматически получает реализацию default-метода. При необходимости его можно переопределить.
пример : https://gist.github.com/mcasari/b0ee1d94046793ba20f02538ef916f48
CREATE TABLE products (
id serial PRIMARY KEY,
price numeric,
tax_rate numeric DEFAULT 0.05,
total_price numeric GENERATED ALWAYS AS (price * (1 + tax_rate)) VIRTUAL
);{}
List<String> letters = List.of("A", "B", "C");{}
letters.add("D"); // исключение во время выполнения{}
RestTemplate был главным вариантом для HTTP-запросов в Spring.
Прямолинейный. Синхронный. Простой.
Он больше не развивается: новых фич и улучшений не будет, плюс есть ограничения по ошибкам и расширяемости.С выходом Spring Framework 6 и Spring Boot 3 пришла современная замена: - RestClient
RestTemplate
- API на методах (getForObject, postForEntity и т.д.)
- Очень явные вызовы под каждую HTTP-операцию
- Мало “цепочек”: часто один вызов укладывается в одну строку
- Настройки раскиданы по разным местам (interceptors, error handlers, converters)
- Синтаксис исторически нарастал кусками годами
Типичный пример:
RestTemplate rest = new RestTemplate();
ResponseEntity<User> response =
rest.exchange(url, HttpMethod.GET, request, User.class);{}
Работает, но когда запрос усложняется (headers, auth, ошибки, таймауты), читаемость начинает страдать.
User user = client.get()
.uri(url)
.header("Authorization", token)
.retrieve()
.body(User.class);{}
Это та же идея, что у RestTemplate, но API яснее, расширяемее и проще поддерживать.
Нет, он не умер, просто его только поддерживают: багфиксы и совместимость, без новых фич. То есть новых возможностей не будет. Только апдейты совместимости. А развитие будет происходить в RestClient. Причем RestClient можно создать на базе RestTemplate:❓ RestTemplate “мертв”
RestTemplate oldRestTemplate;
var restClient = RestClient.create(oldRestTemplate);{}
public static void main(String[] args) {
Path startPath = Paths.get("src");
try (Stream<Path> paths = Files.walk(startPath)) {
paths
.filter(Files::isRegularFile)
.filter(path -> path.toString().endsWith(".java"))
.forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}
}{}
Map<String, List<String>> map = new HashMap<>();
if (!map.containsKey("key")) {
map.put("key", new ArrayList<>());
}
map.get("key").add("listValue");{}
С использованием computeIfAbsent:
map.computeIfAbsent("key", k -> new ArrayList<>())
.add("listValue");{}
Отзывы канала
Каталог Телеграм-каналов для нативных размещений
Java Portal | Программирование — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 13.2K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 15.0, количество отзывов – 0, со средней оценкой 0.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 4195.8 ₽, а за 10 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий