JavaRush /Blog Jawa /Random-JV /Java 13: что нас ждёт в скором будущем?

Java 13: что нас ждёт в скором будущем?

Diterbitake ing grup
Хотя до выхода Java 13 осталось ещё целых три месяца, на страничке OpenJDK постоянно появляются подробности о нововведениях в грядущей версии нашего с вами любимого языка. Напомним, изменения в Java вносятся с помощью предложений по улучшению JDK — JEP (JDK Enhancement Proposals), которые позднее интегрируются в новые версии (ну, or не интегрируются, если их не сочтут достаточно полезными и целесообразными). Ниже — некоторые фичи, которые были предложены для новой версии Java: Текстовые блоки. Согласно JEP-355, в JDK 13 должны появиться текстовые блоки (на уровне превью). Текстовые блоки — это многостраничные строковые литералы, которые устраняют необходимость в подавляющем большинстве escape-последовательностей. Теперь не нужно будет экранировать большинство специальных символов, а ещё — появятся автоматические переносы строки. Текстовый блок автоматически форматирует строку и предоставляет разработчикам контроль над форматом. Этот JEP был создан в первую очередь для упрощения процессов написания и чтения codeа, поскольку в Java для встраивания не-Java an objectов (например, XML or JSON) обычно требуются “танцы с бубном” — специфическое редактирование строк, поэтому такие вставки обычно сложно создавать, поддерживать и читать. Обновление API сокетов. В новой Java, скорее всего, перепишут устаревшие API сокетов. По идее обновлённая реализация станет более современной и более лёгкой в обслуживании и отладке. Она должна заменить базовую реализацию, используемую API-интерфейсами net.Socket и java.net.ServerSocket. Новая version предназначена для простой адаптации к работе с user-mode тредами (волокнами or fibers), которые исследуются в Loom, проекте, созданном для того, чтобы облегчить написание, отладку, профorрование и поддержку параллельных приложений. Корни вышеупомянутых устаревших API восходят ещё к JDK 1.0 и содержат смесь устаревшего codeа C и Java, сложного для отладки и сопровождения. У прежней реализации также есть другие проблемы: собственная структура данных для поддержки асинхронного закрытия, вызывающая проблемы с надежностью и переносом, а также проблемы параллелизма, требующие пересмотра. Усовершенствование ZGC (Z Garbage Collector). В новой версии сборщик мусора ZGC хотят заставить возвращать неиспользуемую память в операционную систему. ZGC позиционируется How масштабируемый сборщик мусора с низкой задержкой, однако на сегодняшний день он всё ещё не возвращает неиспользуемую память обратно в ОС, даже если эта память долго не использовалась. Очевидно, это нерационально, а для некоторых приложений и сред, тех, что не могут простаивать длительное время, такой подход и вовсе критичен. Улучшение функциональности Class-Data Sharing AppCDS для обеспечения динамического архивирования классов в конце выполнения applications. Class-Data Sharing or общий доступ к данным классов был впервые представлен в JDK 5. Эта функциональность позволяет предварительно обрабатывать набор классов в общем архивном файле, который затем можно отобразить в памяти во время выполнения, чтобы сократить время запуска. Теперь архивные классы будут включать все загруженные классы приложений и библиотек, отсутствующие в стандартном архиве CDS базового уровня. Это предложение предназначено для повышения удобства использования AppCDS и устранения необходимости для пользователей выполнять пробные запуски для создания списка классов для каждого applications. Продакт-version новой формы выражений с оператором Switch — Switch Expressions. В Java 12 версии в стадии превью появилось упрощение codeа оператора switch. Его можно будет использовать либо по старинке, либо в качестве выражения. Теперь остаётся дождаться 17 сентября — даты релиза Java 13. Ну а если вам не терпится ознакомиться с нововведениями уже сейчас, вы можете загрузить бета-сборки с официального сайта.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION