Как поведёт себя уже инстанциированный итератор для collection, если вызвать collection.remove()?
При следующем вызове методов итератора будет выброшено
При следующем вызове методов итератора будет выброшено
ConcurrentModificationException
.#вопросы_с_собеседований
Расскажите о типах шаблонов проектирования.
Расскажите о типах шаблонов проектирования.
✔️Основные (Fundamental) — основные строительные блоки других шаблонов. Большинство других шаблонов использует эти шаблоны в той или иной форме.
✔️Порождающие шаблоны (Creational) — шаблоны проектирования, которые абстрагируют процесс создания экземпляра. Они позволяют сделать систему независимой от способа создания, композиции и представления объектов. Шаблон, порождающий классы, использует наследование, чтобы изменять созданный объект, а шаблон, порождающий объекты, делегирует создание объектов другому объекту.
✔️Структурные шаблоны (Structural) определяют различные сложные структуры, которые изменяют интерфейс уже существующих объектов или его реализацию, позволяя облегчить разработку и оптимизировать программу.
✔️Поведенческие шаблоны (Behavioral) определяют взаимодействие между объектами, увеличивая таким образом его гибкость.
✔️Порождающие шаблоны (Creational) — шаблоны проектирования, которые абстрагируют процесс создания экземпляра. Они позволяют сделать систему независимой от способа создания, композиции и представления объектов. Шаблон, порождающий классы, использует наследование, чтобы изменять созданный объект, а шаблон, порождающий объекты, делегирует создание объектов другому объекту.
✔️Структурные шаблоны (Structural) определяют различные сложные структуры, которые изменяют интерфейс уже существующих объектов или его реализацию, позволяя облегчить разработку и оптимизировать программу.
✔️Поведенческие шаблоны (Behavioral) определяют взаимодействие между объектами, увеличивая таким образом его гибкость.
В чем разница между классами java.util.Collection и java.util.Collections?
java.util.Collections
- набор статических методов для работы с коллекциями.java.util.Collection
- один из основных интерфейсов Java Collections Framework
.Beginning Programming with Java For Dummies (2017)
Автор: Barry Burd
Количество страниц: 560
Если вы хотите программировать на Java, книга научит вас созданию программ, способам решения стандартных задач и многому другому. Независимо от того, работаете ли вы с кем-то или начинаете карьеру, эта книга может стать ресурсом, к которому вы будете обращаться снова и снова, совершенствуя свое понимание нюансов этого популярного языка программирования.
Скачать книгу
Автор: Barry Burd
Количество страниц: 560
Если вы хотите программировать на Java, книга научит вас созданию программ, способам решения стандартных задач и многому другому. Независимо от того, работаете ли вы с кем-то или начинаете карьеру, эта книга может стать ресурсом, к которому вы будете обращаться снова и снова, совершенствуя свое понимание нюансов этого популярного языка программирования.
Скачать книгу
Telegram
Книги для программистов (reserved)
Beginning Programming with Java For Dummies (2017)
Автор: Barry Burd
Автор: Barry Burd
Pivotal Certified Professional Core Spring 5 Developer Exam (2019)
Автор: Iuliana Cosmina
Количество страниц: 1027
Книга помогает сдать экзамен Pivotal Certified Professional для Core Spring на основе последней версии Spring Framework 5, используя примеры исходного кода и пробные варианты. Теперь она включает WebFlux, реактивное программирование и многое другое, что можно обнаружить в Spring 5. Вы найдете описательный обзор модулей Spring, связанных с сертификацией, и один пример приложения, демонстрирующий использование всех необходимых модулей Spring.
Скачать книгу
Автор: Iuliana Cosmina
Количество страниц: 1027
Книга помогает сдать экзамен Pivotal Certified Professional для Core Spring на основе последней версии Spring Framework 5, используя примеры исходного кода и пробные варианты. Теперь она включает WebFlux, реактивное программирование и многое другое, что можно обнаружить в Spring 5. Вы найдете описательный обзор модулей Spring, связанных с сертификацией, и один пример приложения, демонстрирующий использование всех необходимых модулей Spring.
Скачать книгу
Telegram
Книги для программистов (reserved)
Pivotal Certified Professional Core Spring 5 Developer Exam (2019)
Автор: Iuliana Cosmina
Автор: Iuliana Cosmina
Вакансия: спикер (преподаватель) образовательных IT-курсов
Кого мы ищем? Разработчиков с опытом публичных выступлений.
Обязанности:
– Запись видеокурсов по подготовленным нашими авторам материалам
– Проверка домашних заданий студентов
Требования. Нам важно, чтобы спикер обладал грамотной речью и хорошей дикцией, имел навыки программирования на одном или нескольких языках
– Python
– HTML, CSS, JS
– Java
– SQL
Условия работы. Мы рассчитываем на долгосрочное сотрудничество. Загрузка от 5 часов в неделю, оплата — от 1500 рублей за час съемки. Работа в нашей студии в Москве.
В отклике на вакансию укажите образование, опыт выступлений и разработки. Будет классно, если вы сможете записать краткий видеорассказ о себе — 30-40 секунд.
Контакт для связи: @vlad_proglib
Кого мы ищем? Разработчиков с опытом публичных выступлений.
Обязанности:
– Запись видеокурсов по подготовленным нашими авторам материалам
– Проверка домашних заданий студентов
Требования. Нам важно, чтобы спикер обладал грамотной речью и хорошей дикцией, имел навыки программирования на одном или нескольких языках
– Python
– HTML, CSS, JS
– Java
– SQL
Условия работы. Мы рассчитываем на долгосрочное сотрудничество. Загрузка от 5 часов в неделю, оплата — от 1500 рублей за час съемки. Работа в нашей студии в Москве.
В отклике на вакансию укажите образование, опыт выступлений и разработки. Будет классно, если вы сможете записать краткий видеорассказ о себе — 30-40 секунд.
Контакт для связи: @vlad_proglib
Почему нельзя объявить метод интерфейса с модификатором final?
В случае интерфейсов указание модификатора final бессмысленно, т.к. все методы интерфейсов неявно объявляются как абстрактные, т.е. их невозможно выполнить, не реализовав где-то еще, а этого нельзя будет сделать, если у метода идентификатор final.
В случае интерфейсов указание модификатора final бессмысленно, т.к. все методы интерфейсов неявно объявляются как абстрактные, т.е. их невозможно выполнить, не реализовав где-то еще, а этого нельзя будет сделать, если у метода идентификатор final.
К каким конструкциям Java применим модификатор static?
• полям;
• методам;
• вложенным классам;
• членам секции import.
• полям;
• методам;
• вложенным классам;
• членам секции import.
Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
#вопросы_с_собеседований
Что такое JDBC?
Что такое JDBC?
JDBC, Java DataBase Connectivity (соединение с базами данных на Java) — промышленный стандарт взаимодействия Java-приложений с различными СУБД. Реализован в виде пакета java.sql, входящего в состав Java SE.
JDBC основан на концепции драйверов, которые позволяют получать соединение с базой данных по специально описанному URL. При загрузке драйвер регистрирует себя в системе и в дальнейшем автоматически вызывается, когда программа требует URL, содержащий протокол, за который этот драйвер отвечает.
JDBC основан на концепции драйверов, которые позволяют получать соединение с базой данных по специально описанному URL. При загрузке драйвер регистрирует себя в системе и в дальнейшем автоматически вызывается, когда программа требует URL, содержащий протокол, за который этот драйвер отвечает.
Зачем учить Java в 2021-м?
Java занимает 2-е место в рейтинге TIOBE. Языку больше 20 лет, а на нём до сих пор пишут всё: сайты и мобильные приложения, нейросети и облачные сервисы. С помощью Java решают и социальные проблемы.
В 2014 году компания mFrontiers получила премию от Oracle. Ребята создали трекер доступности питьевой воды в бедных регионах Кении. Софт был написан для Android-смартфонов на Java.
Почему программисты выбирают Java?
◾️ Java постоянно развивается: язык пережил уже 11 версий
◾️ Производительность Java выше, чем у Python
◾️ Благодаря строгой типизации вероятность ошибок в Java меньше, чем в Python и JS
◾️ Junior-специалист может рассчитывать на зарплату от 90 000 рублей, а middle-специалистам платят в среднем 150 000 рублей.
Чтобы ощутить всю силу Java, записывайтесь на курс «Профессия Java-разработчик» от Skillbox : https://clc.am/M8MrKA
Java занимает 2-е место в рейтинге TIOBE. Языку больше 20 лет, а на нём до сих пор пишут всё: сайты и мобильные приложения, нейросети и облачные сервисы. С помощью Java решают и социальные проблемы.
В 2014 году компания mFrontiers получила премию от Oracle. Ребята создали трекер доступности питьевой воды в бедных регионах Кении. Софт был написан для Android-смартфонов на Java.
Почему программисты выбирают Java?
◾️ Java постоянно развивается: язык пережил уже 11 версий
◾️ Производительность Java выше, чем у Python
◾️ Благодаря строгой типизации вероятность ошибок в Java меньше, чем в Python и JS
◾️ Junior-специалист может рассчитывать на зарплату от 90 000 рублей, а middle-специалистам платят в среднем 150 000 рублей.
Чтобы ощутить всю силу Java, записывайтесь на курс «Профессия Java-разработчик» от Skillbox : https://clc.am/M8MrKA
📕 25 лучших книг для программистов
Список наиболее часто рекомендуемых книг о программировании, составлен по результатам анализа упоминаний в интернет-публикациях. Книги об алгоритмах, чистом коде, паттернах проектирования, а также пособия для развития soft skills и прохождения собеседований.
https://proglib.io/w/d604cfd8
Список наиболее часто рекомендуемых книг о программировании, составлен по результатам анализа упоминаний в интернет-публикациях. Книги об алгоритмах, чистом коде, паттернах проектирования, а также пособия для развития soft skills и прохождения собеседований.
https://proglib.io/w/d604cfd8
В реализации класса ArrayList есть следующие поля: Object[] elementData, int size. Объясните, зачем хранить отдельно size, если всегда можно взять elementData.length?
Размер массива
Размер массива
elementData
представляет собой вместимость (capacity
) ArrayList
, которая всегда больше переменной size - реального количества хранимых элементов. При необходимости вместимость автоматически возрастает.Почему LinkedList реализует и List, и Deque?
LinkedList
позволяет добавлять элементы в начало и конец списка за константное время, что хорошо согласуется с поведением интерфейса Deque
.Может ли статический метод быть переопределён или перегружен?
Перегружен - да. Всё работает точно так же, как и с обычными методами - 2 статических метода могут иметь одинаковое имя, если количество их параметров или типов различается.
Переопределён - нет. Выбор вызываемого статического метода происходит при раннем связывании (на этапе компиляции, а не выполнения) и выполняться всегда будет родительский метод, хотя синтаксически переопределение статического метода - это вполне корректная языковая конструкция.
В целом, к статическим полям и методам рекомендуется обращаться через имя класса, а не объект.
Перегружен - да. Всё работает точно так же, как и с обычными методами - 2 статических метода могут иметь одинаковое имя, если количество их параметров или типов различается.
Переопределён - нет. Выбор вызываемого статического метода происходит при раннем связывании (на этапе компиляции, а не выполнения) и выполняться всегда будет родительский метод, хотя синтаксически переопределение статического метода - это вполне корректная языковая конструкция.
В целом, к статическим полям и методам рекомендуется обращаться через имя класса, а не объект.
Ты опытный джавист, который устал сидеть дома за компом? Приходи на дискуссию о продуктовой Java-разработке в бар! Твоими собеседниками будут СТО Райффайзенбанка Сергей Мельников и ведущие подкаста «Мы обречены» — разработчик Фил Ранжир и журналист Артем Малышев.
На CIB OPEN BAR мы обсудим:
— Как не напороться на мучительный легаси-код и душную бюрократию?
— Правда ли, что теперь разработчики ищут стабильности?
— Как не перепутать стабильность со стагнацией?
— Что сейчас ценнее на рынке: умение писать идеальный код или вникать в сложную предметную область?
Ждем тебя 20 июля в 20:00 в Powerhouse Moscow. Участие бесплатное. Регистрируйся: https://clck.ru/WBgAi
На CIB OPEN BAR мы обсудим:
— Как не напороться на мучительный легаси-код и душную бюрократию?
— Правда ли, что теперь разработчики ищут стабильности?
— Как не перепутать стабильность со стагнацией?
— Что сейчас ценнее на рынке: умение писать идеальный код или вникать в сложную предметную область?
Ждем тебя 20 июля в 20:00 в Powerhouse Moscow. Участие бесплатное. Регистрируйся: https://clck.ru/WBgAi
Java Performance (2020)
Автор: Scott Oaks
Количество страниц: 450
Кодинг и тестирование обычно рассматриваются как отдельные области. В этой практической книге эксперт по Java Скотт Оукс придерживается подхода, согласно которому любой, кто работает с Java, должен понимать, как работает код в виртуальной машине, включая настройки, которые могут повысить производительность. Данное обновленное второе издание поможет вам получить глубокие знания о производительности приложений Java, используя как JVM, так и платформу Java.
Скачать книгу
Автор: Scott Oaks
Количество страниц: 450
Кодинг и тестирование обычно рассматриваются как отдельные области. В этой практической книге эксперт по Java Скотт Оукс придерживается подхода, согласно которому любой, кто работает с Java, должен понимать, как работает код в виртуальной машине, включая настройки, которые могут повысить производительность. Данное обновленное второе издание поможет вам получить глубокие знания о производительности приложений Java, используя как JVM, так и платформу Java.
Скачать книгу
Telegram
Книги для программистов (reserved)
Java Performance (2020)
Автор: Scott Oaks
Автор: Scott Oaks