JavaRush /Java блог /Random UA /Java 13: що нас чекає у найближчому майбутньому?

Java 13: що нас чекає у найближчому майбутньому?

Стаття з групи Random UA
Хоча до виходу Java 13 залишилося ще цілих три місяці, на сторінці OpenJDK постійно з'являються подробиці про нововведення в майбутній версії нашої з вами улюбленої мови. Нагадаємо, зміни в Java вносяться за допомогою пропозицій щодо покращення JDK - JEP (JDK Enhancement Proposals), які пізніше інтегруються в нові версії (ну, або не інтегруються, якщо їх не вважатимуть досить корисними та доцільними). Нижче є деякі фічі, які були запропоновані для нової версії Java: Текстові блоки. Згідно з JEP-355, JDK 13 повинні з'явитися текстові блоки (на рівні прев'ю). Текстові блоки – це багатосторінкові рядкові літерали, які усувають необхідність у переважній більшості escape-послідовностей. Тепер не потрібно буде екранувати більшість спеціальних символів, а ще з'являться автоматичні переноси рядка. Текстовий блок автоматично форматує рядок та надає розробникам контроль над форматом. Цей JEP був створений в першу чергу для спрощення процесів написання та читання коду, оскільки Java для вбудовування не-Java об'єктів (наприклад, XML або JSON) зазвичай потрібні "танці з бубном" - специфічне редагування рядків, тому такі вставки зазвичай складно створювати, підтримувати та читати. Оновлення сокетів API.У новій Java, швидше за все, перепишуть застарілі сокетів API. По ідеї оновлена ​​реалізація стане більш сучасною та легшою в обслуговуванні та налагодженні. Вона має замінити базову реалізацію, використовувану API-інтерфейсами net.Socket та java.net.ServerSocket. Нова версія призначена для простої адаптації до роботи з user-mode тредами (волокнами або fibers), які досліджуються в Loom, проект, створений для того, щоб полегшити написання, налагодження, профільування та підтримку паралельних додатків. Коріння вищезазначених застарілих API сходить ще до JDK 1.0 і містить суміш застарілого коду C і Java, складного для налагодження та супроводу. У попередній реалізації також є інші проблеми: власна структура даних для підтримки асинхронного закриття, що викликає проблеми з надійністю та переносом, а також проблеми паралелізму, що потребують перегляду. Удосконалення ZGC(Z Garbage Collector). У новій версії збирач сміття ZGC хочуть змусити повертати пам'ять, що не використовується, в операційну систему. ZGC позиціонується як масштабований збирач сміття з низькою затримкою, проте на сьогоднішній день він все ще не повертає пам'ять, що не використовується, назад в ОС, навіть якщо ця пам'ять довго не використовувалася. Очевидно, це нераціонально, а для деяких додатків та середовищ, тих, що не можуть простоювати тривалий час, такий підхід зовсім критичний. Поліпшення функціональності Class-Data Sharing AppCDSдля забезпечення динамічного архівування класів наприкінці виконання програми. Class-Data Sharing або загальний доступ до даних класів був вперше представлений в JDK 5. Ця функціональність дозволяє попередньо обробляти набір класів у загальному архівному файлі, який можна відобразити в пам'яті під час виконання, щоб скоротити час запуску. Тепер архівні класи включатимуть усі завантажені класи додатків та бібліотек, які відсутні у стандартному архіві CDS базового рівня. Ця пропозиція призначена для підвищення зручності використання AppCDS та усунення необхідності для користувачів виконувати пробні запуски для створення списку класів для кожної програми. Продакт-версія нової форми виразів з оператором Switch - Switch Expressions . У Java 12версії на стадії превью з'явилося спрощення коду оператора switch. Його можна буде використовувати або по-старому, або як вираз. Тепер залишається дочекатися 17 вересня - дати релізу Java 13. Ну а якщо вам не терпиться ознайомитися з нововведеннями вже зараз, ви можете завантажити бета-складання з офіційного сайту.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ