Добрый день, люди из интернета!
Те, кто близок к Java, в курсе, что Oracle перешел на мутную релизную схему и сейчас уже можно ждать JDKv12.
Нас ждут новые фишки, плюшки и вообще - все будет классно. Наверное. Но это не точно.
Итак, поехали!
Те, кто близок к Java, в курсе, что Oracle перешел на мутную релизную схему и сейчас уже можно ждать JDKv12.
Нас ждут новые фишки, плюшки и вообще - все будет классно. Наверное. Но это не точно.
Итак, поехали!
Быстрый запуск, CDS и сборщик мусора
Да-да, вы не ослышались. Теперь Java будет запускаться быстро. Достигается это с помощью механизма CDS. Механизм не новый, но обещают, что он будет еще круче. Что ж, посмотрим.
Еще будут добавлены новые опции для управления сборщиком мусора и его взаимодействием с CDS.
Новый switch
Разработчики Java наконец-то добрались до оператора switch. Его поведение будет расширено и сможет делать проверки на тип. То есть вместо
String formatted = "unknown";
if (obj instanceof Integer) {
int i = (Integer) obj;
formatted = String.format("int %d", i);
}
else if (obj instanceof Byte) {
byte b = (Byte) obj;
formatted = String.format("byte %d", b);
}
else if (obj instanceof Long) {
long l = (Long) obj;
formatted = String.format("long %d", l);
}
else if (obj instanceof Double) {
double d = (Double) obj;
formatted = String.format(“double %f", d);
}
else if (obj instanceof String) {
String s = (String) obj;
formatted = String.format("String %s", s);
}
можно будет писать
String formatted;
switch (obj) {
case Integer i: formatted = String.format("int %d", i); break;
case Byte b: formatted = String.format("byte %d", b); break;
case Long l: formatted = String.format("long %d", l); break;
case Double d: formatted = String.format(“double %f", d); break;
case String s: formatted = String.format("String %s", s); break
default: formatted = obj.toString();
}
Мелочь, а приятно, согласитесь?=) Полное описание читаем тут.
Новые строчки
В процессе создания кода часто приходится работать со сложными строками, которые имеют множество escape-символов. Это и строки с переносами, и работа с SQL-запросами и многое другое. В итоге, нагромождение escape-символов приводит к коду, смысл которого теряется даже для автора кода. Теперь предлагается использовать новые строки, содержимое которых не интерпретируется, а выводится как есть. Например, старый вариант:
String html = "<html>\n" +
" <body>\n" +
" <p>Hello World.</p>\n" +
" </body>\n" +
"</html>\n";
можно будет переписать как
String html = `<html>
<body>
<p>Hello World.</p>
</body>
</html>
`;
Любо-дорого смотреть=) Интересующимся подробностями - сюда.
Итак
Это самые интересные изменения, но если что-то изменится - я обязательно напишу об этом.
До новых встреч, интересного и удобного программирования. И - чашечку кофе?
прелестно, но мало
ОтветитьУдалитьУже заявили новые фишки, скоро опишу)
Удалить