Можно вопрос. Если после компиляции все параметры типа, которые прописываются в стираются и становятся Object, то потом каким образом выбрасывается исключение ClassCastException, который выбрасывается при Runtime? Т.е типы стираются, но информация это где-то хранится? Вопрос: где?
Стирание информации о типе касается параметров дженериков. То есть, коллекция может не знать, оъекты какого типа в ней хранятся, но сами объекты всегда знают какого они типа, и их можно спросить об этом в рантайме.
0:34 Там среда разработки подсказывает, что не сырой класс, а "raw use", что в переводе означает редкое использование параметризованного класса (без дженерика).
Boxing/unboxing это преобразование примитивного типа в объектный, оно тут не при чем. Кстати низкая производительность java это миф, java быстрее в разы питона, js и пр. Уступает C и C++, но незначительно по сравнению с другими языками.
Спасибо. Редко пишу комментарии, но тут действительно лайка мало. Спасибо за понятное объяснение без ничего лишнего!
классный ты мужик, вспомнился мальчишник в Вегасе)
Спасибо за наглядное объяснение, мне очень зашёл такой способ!
нет ну это не объяснение а просто восторг, запомнил на всегда
очень круто. спасибо
спасибо вы очень понятно и доходчиво объясняете, с удовольствием смотрю ваши видео. Информация очень полезная.
обожаю Ваши видео! Спасибо!
Сергей, большое вам спасибо!
Класс, спасибо. Очень интересно
очень хорошая лекция
Спасибо большое ☺️
Охренеть однако, интересно
Спасибо за видео! Наверно лучшее видео про дженерики. Теперь я понял зачем они нужны 😁👍
ОЧень зашло , спасибо
Классно объясняешь, респект!
Очень крутое видео, автор очень доступно и наглядно объясняет. Однозначный лайк!
Спасибо. Всё очень понятно
Очень круто. Спасибо.
Про стирание типов уже и у джунов сейчас спрашивают в общем-то)
Теперь это уже на trainee спрашивают)
Спасибо за информацию, очень доступно
Спасибо за видео, автор
спустя год вернулся пересмотреть, готовлюсь к собесам, спасибо :))
лучший
Спасибо за видео
Класс! Спасибо за видео.
Спасибо большое 🙏👍
Мощный.
Видео супер, спасибо ❤️
Я тайпскриптизер но подписался
приятно слушать умного сексуального мужика
Спасибо!!!
дякую)
👍👍👍👍
Можно вопрос. Если после компиляции все параметры типа, которые прописываются в стираются и становятся Object, то потом каким образом выбрасывается исключение ClassCastException, который выбрасывается при Runtime? Т.е типы стираются, но информация это где-то хранится? Вопрос: где?
Стирание информации о типе касается параметров дженериков. То есть, коллекция может не знать, оъекты какого типа в ней хранятся, но сами объекты всегда знают какого они типа, и их можно спросить об этом в рантайме.
@@arhitutorials не очень понял. А откуда они это знают?
@@mrLukas-du4xd А в чем проблема? Есть объект в памяти. Наверняка в структуре хранения объекта есть и тип.
Как раз вчера у Блоха разбирал эту тему
Как книга вообще, не устарела? Подумывал взять, но отпугнуло что там ещё времена java 6.
@@АнатолийТ-д6л да нет, там не ниже 8 джава в последнем издании. Очень годные советы в книге
на каждом втором собесе на джуна спрашивают дженерики, стирание. еще про PECS могут
Выходит ArrayList хранит свои значения в массиве типа Object?
Да, в конце концов будет массив Object.
У меня на прошлой неделе спрашивали почему и как реализовано)
Ну и как, прошел собес?
@@СергейМалышев-т9у взяли после первого собеса
На мидла собес?
10/10
Мало чего понял😪, но все равно спасибо
0:34 Там среда разработки подсказывает, что не сырой класс, а "raw use", что в переводе означает редкое использование параметризованного класса (без дженерика).
Гугл переводчик не согласен)
Можете пожалуйста сделать видео о вопросах для Джуниора и Милла? Есть подозрение, что пытаюсь выучить то, что пригодится не джуну
Очень странная реализация дженериков. Теперь понятно почему слабое место языка это производительность
Причем тут производительность, если рантайм о дженериках ничего не знает?
Мб дело в jvm? Да не, бред какой-то...
@@awkwardquestion8643 ну как бы если стирается тип до object то это постоянный boxing/unboxing, разве не так?
Boxing/unboxing это преобразование примитивного типа в объектный, оно тут не при чем. Кстати низкая производительность java это миф, java быстрее в разы питона, js и пр. Уступает C и C++, но незначительно по сравнению с другими языками.
Спасибо!
Спасибо!!!!!