Java 11 - новый уровень разработки приложений
Java 11 — это один из релизов Java, который был выпущен в сентябре 2018 года. Это один из важных выпусков, который включает в себя множество новых функций и улучшений.
Ниже приводятся некоторые из самых важных функций Java 11:
1. Доступ к локальной переменной для анонимных классов
В Java 11 добавлена возможность использования локальных переменных в анонимных классах. Ранее это было возможно только при использовании финальных или эффективно финальных переменных. Теперь можно использовать все локальные переменные внутри переданного анонимного класса.
Пример:
public static void main(String[] args) {
int num1 = 10;
Consumer
public void accept(Integer num2) {
System.out.println(num1 + num2);
}
};
consumer.accept(5);
}
2. Concatenate строк
Java 11 предлагает краткое написание строк через метод `join()`:
String str = String.join(",", "Java", "is", "cool");
System.out.println(str); // Java,is,cool
3. Http-клиент
Java 11 включает HTTP-клиент, который предоставляет простой интерфейс для выполнения HTTP-запросов и обработки ответов. Это новый класс, доступный в пакете `java.net.http`. Этот класс предоставляет возможности асинхронной отправки и обработки запросов, а также поддержку WebSocket.
Пример:
HttpClient client = HttpClient.newHttpClient();
HttpRequest req
= HttpRequest.newBuilder(URI.create("http://openjdk.java.net"))
.header("User-Agent", "Java")
.GET()
.build();
HttpResponse
= client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());
4. Улучшения на Java Flight Recorder (JFR)
В Java 11 улучшена поддержка Java Flight Recorder (JFR) - мощнейшего средства для разработки, управления и отладки Java-приложений. В Java 11 включены новые события и атрибуты, а также предоставлены инструменты для работы с данными JFR.
Пример:
jcmd PID JFR.start duration=60s filename=myrecording.jfr
// где ПИД - PID процесса Java, вы можете задать продолжительность и имя файла
5. Функции var
Java 10 представил возможность объявлять переменные с помощью `var`, а Java 11 предоставляет возможность использовать `var` в более широком контексте, включая следующие сценарии:
- в качестве параметров метода;
- как переменную свойств;
- как элементы массива.
Пример:
var myList = List.of("Java", "is", "cool");
for(var str : myList) {
System.out.println(str);
}
Это только несколько функций Java 11. Этот выпуск также включает в себя улучшения в асинхронном программировании, улучшения в коллекциях, новые функции машинного обучения, обновления языка Java и многие другие. Java 11 представляет собой важную версию Java, которую следует изучать для улучшения вашей Java-разработки.