Learn Java 12 Programming (2019)
Автор: Nick Samoylov
Java - один из самых популярных высокоуровневых языков среди разработчиков, используемый во всем, начиная от смартфонов и игровых консолей и заканчивая суперкомпьютерами, а новые функции дополняют его богатство. При помощи данной книги вы можете изучить основы программирования на Java.
Скачать книгу
Автор: Nick Samoylov
Java - один из самых популярных высокоуровневых языков среди разработчиков, используемый во всем, начиная от смартфонов и игровых консолей и заканчивая суперкомпьютерами, а новые функции дополняют его богатство. При помощи данной книги вы можете изучить основы программирования на Java.
Скачать книгу
Telegram
Книги для программистов (reserved)
Learn Java 12 Programming (2019)
Автор: Nick Samoylov
Автор: Nick Samoylov
#вопросы_с_собеседований
1. Как добавить 1 неделю, 1 месяц, 1 год, 10 лет к текущей дате с использованием Date Time API?
2. Как получить следующий вторник, используя Date Time API?
1. Как добавить 1 неделю, 1 месяц, 1 год, 10 лет к текущей дате с использованием Date Time API?
2. Как получить следующий вторник, используя Date Time API?
«Цифровой прорыв» 2020 открывает прием заявок на масштабный IT-марафон с призовым фондом 5.000.000 руб.! ⚡️
В режиме онлайн ты сможешь реализовать свою идею, создать действительно классный продукт, который будет менять жизни людей. 🚀
💥 Регистрируйся по ссылке: https://proglib.io/w/5152ae58
Тебя ждут два онлайн-хакатона, которые пройдут 5-7 июня и 19-21 июня. 👨🏻💻👩🏼💻
- 36 часов кодинга/400 команд;
- Крутые кейсовые задания от Росатома, Сбербанка, Глобального русскоговорящего технологического сообщества Rutech;
- Образовательная программа;
- Трекеры и эксперты , которые будут помогать тебе на каждом этапе.
🌏 25 июня - 25 июля состоится онлайн-чемпионат на технологической платформе Mail.ru:
- Индивидуальное участие;
- Задачи по Machine Learning и Data Science;
- Возможность попасть на финал Цифрового Прорыва!
🎯 Проверь свои силы и разработай крутой проект для решения реальных бизнес-задач, регистрируйся по ссылке: https://proglib.io/w/5152ae58
В режиме онлайн ты сможешь реализовать свою идею, создать действительно классный продукт, который будет менять жизни людей. 🚀
💥 Регистрируйся по ссылке: https://proglib.io/w/5152ae58
Тебя ждут два онлайн-хакатона, которые пройдут 5-7 июня и 19-21 июня. 👨🏻💻👩🏼💻
- 36 часов кодинга/400 команд;
- Крутые кейсовые задания от Росатома, Сбербанка, Глобального русскоговорящего технологического сообщества Rutech;
- Образовательная программа;
- Трекеры и эксперты , которые будут помогать тебе на каждом этапе.
🌏 25 июня - 25 июля состоится онлайн-чемпионат на технологической платформе Mail.ru:
- Индивидуальное участие;
- Задачи по Machine Learning и Data Science;
- Возможность попасть на финал Цифрового Прорыва!
🎯 Проверь свои силы и разработай крутой проект для решения реальных бизнес-задач, регистрируйся по ссылке: https://proglib.io/w/5152ae58
#вопросы_с_собеседований
Может ли объект получить доступ к члену класса, объявленному как private? Если да, то каким образом?
Может ли объект получить доступ к члену класса, объявленному как private? Если да, то каким образом?
🔵 Внутри класса доступ к приватной переменной открыт без ограничений;
🔵 Вложенный класс имеет полный доступ ко всем (в том числе и приватным) членам содержащего его класса;
🔵 Доступ к приватным переменным извне может быть организован через отличные от приватных методы, которые предоставлены разработчиком класса. Например: getX() и setX().
🔵 Через механизм рефлексии (Reflection API):
🔵 Вложенный класс имеет полный доступ ко всем (в том числе и приватным) членам содержащего его класса;
🔵 Доступ к приватным переменным извне может быть организован через отличные от приватных методы, которые предоставлены разработчиком класса. Например: getX() и setX().
🔵 Через механизм рефлексии (Reflection API):
#вопросы_с_собеседований
В чем отличия TreeSet и HashSet?
В чем отличия TreeSet и HashSet?
TreeSet обеспечивает упорядоченное хранение элементов в виде красно-черного дерева. Сложность выполнения основных операций не хуже O(log(N)) (Логарифмическое время).
HashSet использует для хранения элементов такой же подход, что и HashMap, за тем отличием, что в HashSet в качестве ключа и значения выступает сам элемент, кроме того HashSet не поддерживает упорядоченное хранение элементов и обеспечивает временную сложность выполнения операций аналогично HashMap.
HashSet использует для хранения элементов такой же подход, что и HashMap, за тем отличием, что в HashSet в качестве ключа и значения выступает сам элемент, кроме того HashSet не поддерживает упорядоченное хранение элементов и обеспечивает временную сложность выполнения операций аналогично HashMap.
#вопросы_с_собеседований
Для Enum есть специальный класс java.util.EnumSet. Зачем? Чем авторов не устраивал HashSet или TreeSet?
Для Enum есть специальный класс java.util.EnumSet. Зачем? Чем авторов не устраивал HashSet или TreeSet?
EnumSet - это реализация интерфейса Set для использования с перечислениями (Enum). В структуре данных хранятся объекты только одного типа Enum, указываемого при создании. Для хранения значений EnumSet использует массив битов (bit vector), - это позволяет получить высокую компактность и эффективность. Проход по EnumSet осуществляется согласно порядку объявления элементов перечисления.
Все основные операции выполняются за O(1) и обычно (но не гарантированно) быстрее аналогов из HashSet, а пакетные операции (bulk operations), такие как containsAll() и retainAll() выполняются даже гораздо быстрей.
Помимо всего EnumSet предоставляет множество статических методов инициализации для упрощенного и удобного создания экземпляров.
Все основные операции выполняются за O(1) и обычно (но не гарантированно) быстрее аналогов из HashSet, а пакетные операции (bulk operations), такие как containsAll() и retainAll() выполняются даже гораздо быстрей.
Помимо всего EnumSet предоставляет множество статических методов инициализации для упрощенного и удобного создания экземпляров.
#вопросы_с_собеседований
Пара вопросов по многопоточности:
1. Почему не рекомендуется использовать метод Thread.stop()?
2. Что происходит, когда в потоке выбрасывается исключение?
Пара вопросов по многопоточности:
1. Почему не рекомендуется использовать метод Thread.stop()?
2. Что происходит, когда в потоке выбрасывается исключение?
1. При принудительной остановке (приостановке) потока, stop() прерывает поток в недетерменированном месте выполнения, в результате становится совершенно непонятно, что делать с принадлежащими ему ресурсами. Поток может открыть сетевое соединение - что в таком случае делать с данными, которые еще не вычитаны? Где гарантия, что после дальнейшего запуска потока (в случае приостановки) он сможет их дочитать? Если поток блокировал разделяемый ресурс, то как снять эту блокировку и не переведёт ли принудительное снятие к нарушению консистентности системы? То же самое можно расширить и на случай соединения с базой данных: если поток остановят посередине транзакции, то кто ее будет закрывать? Кто и как будет разблокировать ресурсы?
2. 🔵 Если исключение не поймано – поток «умирает» (переходит в состяние мёртв (dead)).
🔵 Если установлен обработчик непойманных исключений, то он возьмёт управление на себя. Thread.UncaughtExceptionHandler – интерфейс, определённый как вложенный интерфейс для других обработчиков, вызываемых, когда поток внезапно останавливается из-за непойманного исключения. В случае, если поток собирается остановиться из-за непойманного исключения, JVM проверяет его на наличие UncaughtExceptionHandler, используя Thread.getUncaughtExceptionHandler(), и если такой обработчик найден, вызовет у него метод uncaughtException(), передав этот поток и исключение в виде аргументов.
🔵 Если установлен обработчик непойманных исключений, то он возьмёт управление на себя. Thread.UncaughtExceptionHandler – интерфейс, определённый как вложенный интерфейс для других обработчиков, вызываемых, когда поток внезапно останавливается из-за непойманного исключения. В случае, если поток собирается остановиться из-за непойманного исключения, JVM проверяет его на наличие UncaughtExceptionHandler, используя Thread.getUncaughtExceptionHandler(), и если такой обработчик найден, вызовет у него метод uncaughtException(), передав этот поток и исключение в виде аргументов.
#вопросы_с_собеседований
Зачем нужен HashMap, если есть Hashtable?
Зачем нужен HashMap, если есть Hashtable?
🔵 Методы класса Hashtable синхронизированы, что приводит к снижению производительности, а HashMap - нет;
🔵 HashTable не может содержать элементы null, тогда как HashMap может содержать один ключ null и любое количество значений null;
🔵 Iterator у HashMap, в отличие от Enumeration у HashTable, работает по принципу «fail-fast» (выдает исключение при любой несогласованности данных).
Hashtable - это устаревший класс и его использование не рекомендовано.
🔵 HashTable не может содержать элементы null, тогда как HashMap может содержать один ключ null и любое количество значений null;
🔵 Iterator у HashMap, в отличие от Enumeration у HashTable, работает по принципу «fail-fast» (выдает исключение при любой несогласованности данных).
Hashtable - это устаревший класс и его использование не рекомендовано.
#вопросы_с_собеседований
Что такое механизм try-with-resources?
Что такое механизм try-with-resources?
🔝 Топовый Вечный! По смехотворной цене! 🔝
8 ГБ RAM / 4x4.5 ГГц CPU / 80 ГБ NVMe / 500 Мбит/сек / anti-DDoS
Размещение в лучшем московском дата-центре Datapro, подключение к каналу 500 Мбит/сек, выделенный IPv4 адрес, защита от DDoS.
🔥Спешите узнать подробней и заказать
https://proglib.io/w/01414be7
8 ГБ RAM / 4x4.5 ГГц CPU / 80 ГБ NVMe / 500 Мбит/сек / anti-DDoS
Размещение в лучшем московском дата-центре Datapro, подключение к каналу 500 Мбит/сек, выделенный IPv4 адрес, защита от DDoS.
🔥Спешите узнать подробней и заказать
https://proglib.io/w/01414be7