Эволюция версий Java c 8 по 15

preview_player
Показать описание
Что нового произошло в Java после Java 8 и до текущей 15 ?

Другие курсы для новичков:

Продвинутые курсы для состоявшихся девелоперов:

00:00 - вступление Сергея Немчинского
03:15 - Java 8
09:38 - рекламная пауза
10:50 - Java 9
15:15 - Java 10
20:26 - Java 11
26:08 - Java 12
31:45 - Java 13
34:43 - Java 14
39:51 - Java 15

#nemchinskiy #ityoutubersru #java8-15
Рекомендации по теме
Комментарии
Автор

Неплохо было бы иллюстрировать примерами простенькими ;)

inbuckswetrust
Автор

Спасибо Сергей, благодаря вам съэкономил кучу время т.к. большинство обзоров новых версий Java слишком уходят в детали, а большинству девелоперов для начала нужно просто понять смысл нововведений, и только той их части, которая непосредственно касаются разработки.

Vmid
Автор

Зачем я это посмотрел, если я ничего не знаю про Java? Но всё равно было интересно.

shellspider
Автор

Моща!) 50 минут) бомба)
Но одним выпуском как серией)

celmszk
Автор

По какой причине ввели дефолтные методы, хорошо объяснили Шипилёв и Куксенко ещё до релиза восьмой джавы. Они, во-первых, не для того, чтобы их пихать куда попало при изначальной разработке, а для эволюции интерфейсов, чтобы добавлением одной новой сигнатуры не поломать сразу весь код, который этот интерфейс имплементит. И добавили они эту фичу, чтобы внедрить метод stream во все коллекции, в том числе и в сторонних библиотеках, которые имплементят интерфейс Collection.
Во-вторых, реализацию дефолтных методов нужно переопределять в имплементациях, но они позволяют сделать это постепенно, не поломав весь зависимый код.

FrolOFF
Автор

Используем свичи, но не много. Не считаю верным подход, когда от них полностью отказываются.
Большое спасибо за этот выпуск.

Мистер-жы
Автор

switch - это праздник!! у него очень четкая идеология о том что нужно делать дальше. А то if else это как в советском кино :
"— Теперь вот такое предложение: а что, если
— Не стоит.
— Ясно Тогда, может быть, нужно
— Не нужно.
— Понятно. Разрешите хотя бы
— А вот это попробуйте. Вам поручена эта операция, так что действуйте!" (с)

andreyr
Автор

Сергей, как всегда интересно и с юморком! Спасибо!

vvsidorov
Автор

Лайк не глядя! Хотелось бы ещё узнать про отличие версий JDK

Yurec
Автор

не знаю чем вас свич/кейс не устроил. по мне так очень удобно и читабельно (!) в отличие от водопадов if/else. а ставить break после каждого кейса - так просто запомнить, так же как в конце каждого метода (не void) должен быть return. конечно под конкретные задачи своя реализация должна быть, но там где можно сделать свич/кейс - всегда его пихаю).

toxa
Автор

default-методы это одна из лучших фишек в Java 8. Просто не все понимают, в чём их прикол.

Чтобы понять, почему default-методы это круто, я обычно рекомендую посмотреть старый интерфейс Comparator в Java7 и Java8.
Ну или другой пример: старый интерфейс Collection и его новый метод default Stream<E> stream() в Java8.
Ну или другой пример: старый класс Date и его новые методы Instant toInstant(), LocalDate toLocalDate() в Java8 (это не интерфейс, но смысл тот же).

Что общего? Правильно - слова "СТАРЫЙ интерфейс/НОВЫЙ метод". Дефолтные методы дают нам возможность расширять СТАРЫЕ классы/интерфейсы из СТАРЫХ библиотек (в том числе стандартных Джава интерфейсов таких как Comparator или Collection) для работы с НОВЫМИ фичами БЕЗ нарушения обратной совместимости со СТАРЫМ (уже написанным) кодом (как клиентским кодом, так и кодом библиотек, базирующихся на данных абстракциях). А это означает, что библиотеки Java получили возможность расширяться с поддержкой новых фичей (с обратной совместимостью). А без этого, пришлось бы делать новые классы/интерфейсы для Java8 типа Collection8, Comparator8, а старые не трогать, потому что фиг бы получилось обеспечить обратную совместимость. Или забить на обратную совместимость - сказали бы: "Вот вам новая Джава 8, а про старую - забудьте, её больше нет. Ну чего стоите? Идите работать, у вас работы много - переписать весь клиентский код и все библиотеки под новые спецификации стандартных библиотек" :)

BukasovMaxim
Автор

45:28 читается "насхорн", потому что слово не английское, а немецкое.
И насхорн (nashorn) и рино (rhino) переводятся "носорог" с немецкого и английского соответственно.

vshefer
Автор

Сергей, дефолтные методы в интерфейсе добавили для того, чтобы потом можно было накрутить функциональщину, Stream API, вот это всё.

arthurkhasanov
Автор

Про главное правило MMO'ника не знал: пока ты спишь, враг

nikolaysokolov
Автор

Прям для меня выпуск, уходила в декрет когда была 8 Java, вернулась неделю назад в работу) Спасибо, как раз задавалась вопросом что же нового)

natureurbex
Автор

Спасибо. Отличный материал. На одном дыхании просмотрел.

nikolaysokolov
Автор

Интерфейсы/абстрактные классы - согласен абсолютно. Пока без дефолтных методов обходился.. Но я с Паскаля пришёл.. А вот кто с С++, тому может быть и неудобно как-то...

HITROME
Автор

Спасибо огромное вам, Сергей! Очень ждал этого видео

RomdroidPlay
Автор

Видео отличное! зря только не сказали про два очень важных изменения в 9ой в строках - это compact strings и string concatenation, очень влияет на производительность и на потребление памяти

Alex-cehe
Автор

наконец то сделали свитч как when в котлине? ура товарищи!)

acrrono