CommitStrip - комиксы о весёлых случаях из кодерской жизни (программировании, работе, коллегах, клиентах, технических новинках и котиках).
Подписывайся: @ru_commitstrip
Подписывайся: @ru_commitstrip
1. Классы и методы, которые используют правила этого контракта могут работать некорректно. Так для HashMap это может привести к тому, что пара «ключ-значение», которая была в неё помещена при использовании нового экземпляра ключа не будет в ней найдена.
2. Интернационализация (internationalization) - способ создания приложений, при котором их можно легко адаптировать для разных аудиторий, говорящих на разных языках.
Локализация (localization) - адаптация интерфейса приложения под несколько языков. Добавление нового языка может внести определенные сложности в локализацию интерфейса.
Локализация (localization) - адаптация интерфейса приложения под несколько языков. Добавление нового языка может внести определенные сложности в локализацию интерфейса.
В подкасте Javaswag поговорили с Тагиром Валеевым о джава чемпионстве, фичах Intellij IDEA и коммитах в OpenJDK.
https://proglib.io/w/3984d756
https://proglib.io/w/3984d756
SoundCloud
Тагир Валеев - Сибирский Java чемпион
В 10 выпуске подкаста Javaswag поговорили с Тагиром Валеевым о джава чемпионстве, фичах Intellij IDEA и коммитах в OpenJDK.
00:00 Приветствие
01:11 Как стать джава чемпионом
08:31 Кандидат наук
17:
00:00 Приветствие
01:11 Как стать джава чемпионом
08:31 Кандидат наук
17:
Forwarded from Java jobs — вакансии для java-разработчиков
🔹 Вакансия: Middle/Senior Java Developers
🔹 MERA - крупная международная компания по разработке ПО для зарубежных заказчиков (Северная Америка, Западная Европа). Наш крупный Заказчик - лидер на рынке Unified Communications - статует новые и расширяет текущие проекты по разработке и развитию облачных Контакт-Центров нового поколения. В связи с чем открыто более 30 вакансий на Java.
🔹 Локация офисов: НН, Казань (бонус при релокации)
🔹 Занятость: full-time
👨🎓 Команда: Интернациональная - разработчики из России, США и Европы. Как следствие, отличная возможность прокачать разговорный английский
📌 Мы предлагаем:
- Официальное трудоустройство, полностью белая зарплата + премиальная система
- Участие в перспективных масштабных международных проектах. Заказчики: Северная Америка, Западная Европа.
👌 Бонус за рекомендацию: 60 000 рублей за Middle и 80 000 рублей за Senior.
Контакты: @fedorenkoek
➡️ Подробности - https://proglib.io/vacancies/middle-senior-java-developers-mera-2020-06-18
🔹 MERA - крупная международная компания по разработке ПО для зарубежных заказчиков (Северная Америка, Западная Европа). Наш крупный Заказчик - лидер на рынке Unified Communications - статует новые и расширяет текущие проекты по разработке и развитию облачных Контакт-Центров нового поколения. В связи с чем открыто более 30 вакансий на Java.
🔹 Локация офисов: НН, Казань (бонус при релокации)
🔹 Занятость: full-time
👨🎓 Команда: Интернациональная - разработчики из России, США и Европы. Как следствие, отличная возможность прокачать разговорный английский
📌 Мы предлагаем:
- Официальное трудоустройство, полностью белая зарплата + премиальная система
- Участие в перспективных масштабных международных проектах. Заказчики: Северная Америка, Западная Европа.
👌 Бонус за рекомендацию: 60 000 рублей за Middle и 80 000 рублей за Senior.
Контакты: @fedorenkoek
➡️ Подробности - https://proglib.io/vacancies/middle-senior-java-developers-mera-2020-06-18
Привет, Чувак на связи.
Веду канал с вакансиями в IT без херни.
✅ Лично отбираю вакансии - никакой херни.
✅ Вакансии краткие и по делу - никаких полотен в два экрана.
✅ Только две вакансии в день - никакого спама, я уважаю своих читателей.
✅ Все вакансии имеют стандартизированный вид - никакого хаоса.
✅ Заставляю эйчаров переписывать вакансии по 10 раз - никаких дружных коллективов.
Веду канал с вакансиями в IT без херни.
✅ Лично отбираю вакансии - никакой херни.
✅ Вакансии краткие и по делу - никаких полотен в два экрана.
✅ Только две вакансии в день - никакого спама, я уважаю своих читателей.
✅ Все вакансии имеют стандартизированный вид - никакого хаоса.
✅ Заставляю эйчаров переписывать вакансии по 10 раз - никаких дружных коллективов.
#вопросы_с_собеседований
Что такое deadlock?
Что такое deadlock?
Взаимная блокировка (deadlock) - явление при котором все потоки находятся в режиме ожидания. Происходит, когда достигаются состояния:
☕️ взаимного исключения: по крайней мере один ресурс занят в режиме неделимости и следовательно только один поток может использовать ресурс в любой данный момент времени.
☕️ удержания и ожидания: поток удерживает как минимум один ресурс и запрашивает дополнительные ресурсов, которые удерживаются другими потоками.
☕️ отсутствия предочистки: операционная система не переназначивает ресурсы: если они уже заняты, они должны отдаваться удерживающим потокам сразу же.
☕️ цикличного ожидания: поток ждёт освобождения ресурса другим потоком, который в свою очередь ждёт освобождения ресурса заблокированного первым потоком.
Простейший способ избежать взаимной блокировки – не допускать цикличного ожидания. Этого можно достичь, получая мониторы разделяемых ресурсов в определённом порядке и освобождая их в обратном порядке.
☕️ взаимного исключения: по крайней мере один ресурс занят в режиме неделимости и следовательно только один поток может использовать ресурс в любой данный момент времени.
☕️ удержания и ожидания: поток удерживает как минимум один ресурс и запрашивает дополнительные ресурсов, которые удерживаются другими потоками.
☕️ отсутствия предочистки: операционная система не переназначивает ресурсы: если они уже заняты, они должны отдаваться удерживающим потокам сразу же.
☕️ цикличного ожидания: поток ждёт освобождения ресурса другим потоком, который в свою очередь ждёт освобождения ресурса заблокированного первым потоком.
Простейший способ избежать взаимной блокировки – не допускать цикличного ожидания. Этого можно достичь, получая мониторы разделяемых ресурсов в определённом порядке и освобождая их в обратном порядке.
#вопросы_с_собеседований
Зачем нужны и какие бывают блоки инициализации?
Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
☕️Существуют статические и нестатические блоки инициализации.
☕️Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
☕️Несколько блоков инициализации выполняются в порядке следования в коде класса.
☕️Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
☕️Существуют статические и нестатические блоки инициализации.
☕️Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
☕️Несколько блоков инициализации выполняются в порядке следования в коде класса.
☕️Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
#вопросы_с_собеседований
Какое исключение выбрасывается при возникновении ошибки в блоке инициализации класса?
Какое исключение выбрасывается при возникновении ошибки в блоке инициализации класса?
Если возникшее исключение - наследник RuntimeException:
☕️ для статических блоков инициализации будет выброшено java.lang.ExceptionInInitializerError;
☕️ для нестатических будет проброшено исключение-источник.
Если возникшее исключение - наследник Error, то в обоих случаях будет выброшено java.lang.Error. Исключение: java.lang.ThreadDeath - смерть потока. В этом случае никакое исключение выброшено не будет.
☕️ для статических блоков инициализации будет выброшено java.lang.ExceptionInInitializerError;
☕️ для нестатических будет проброшено исключение-источник.
Если возникшее исключение - наследник Error, то в обоих случаях будет выброшено java.lang.Error. Исключение: java.lang.ThreadDeath - смерть потока. В этом случае никакое исключение выброшено не будет.
Научись программировать на самом востребованном языке в сфере IT и стань Java-разработчиком.
Чем интересна именно эта профессия? Повторимся, что Java — самый востребованный язык, работать с ним несложно и интересно, заработок немаленький, и еще один большой плюс — можно работать удаленно из любой точки мира. Круто, да?
📌 Тогда забирай курс «Профессия Java-разработчик»
📌 Все подробности по ссылке: https://clc.to/PzMf0w
Что тебя ждет:
✔️ интересная и продуманная программа курса;
✔️ решение бизнес-задач компании;
✔️ много часов практики;
✔️ доступ к этому курсу на веки-вечные (ну а вдруг ты что-то забудешь);
✔️ Бесплатные 2 месяца английского языка в EnglishDom
И самое главное, после обучения Skillbox гарантирует трудоустройство в IT-компанию!
Чем интересна именно эта профессия? Повторимся, что Java — самый востребованный язык, работать с ним несложно и интересно, заработок немаленький, и еще один большой плюс — можно работать удаленно из любой точки мира. Круто, да?
📌 Тогда забирай курс «Профессия Java-разработчик»
📌 Все подробности по ссылке: https://clc.to/PzMf0w
Что тебя ждет:
✔️ интересная и продуманная программа курса;
✔️ решение бизнес-задач компании;
✔️ много часов практики;
✔️ доступ к этому курсу на веки-вечные (ну а вдруг ты что-то забудешь);
✔️ Бесплатные 2 месяца английского языка в EnglishDom
И самое главное, после обучения Skillbox гарантирует трудоустройство в IT-компанию!
#вопросы_с_собеседований
Какое влияние оказывают на сериализуемость модификаторы полей static и final?
Какое влияние оказывают на сериализуемость модификаторы полей static и final?
При стандартной сериализации поля, имеющие модификатор static, не сериализуются. Соответственно, после десериализации это поле значения не меняет. При использовании реализации Externalizable сериализовать и десериализовать статическое поле можно, но не рекомендуется этого делать, т.к. это может сопровождаться трудноуловимыми ошибками.
Поля с модификатором final сериализуются как и обычные, за одним исключением – их невозможно десериализовать при использовании Externalizable, поскольку final поля должны быть инициализированы в конструкторе, а после этого в readExternal() изменить значение этого поля будет невозможно. Соответственно, если необходимо сериализовать объект с final полем, необходимо использовать только стандартную сериализацию.
Поля с модификатором final сериализуются как и обычные, за одним исключением – их невозможно десериализовать при использовании Externalizable, поскольку final поля должны быть инициализированы в конструкторе, а после этого в readExternal() изменить значение этого поля будет невозможно. Соответственно, если необходимо сериализовать объект с final полем, необходимо использовать только стандартную сериализацию.
Что выведет программа?
Anonymous Quiz
42%
false
36%
true
13%
Compiler Error
4%
Runtime Error
4%
Ничего из этого
Внимание-внимание! Если ты крутой IT-спец или мечтаешь им стать, обязательно участвуй в Онлайн-Чемпионате проекта «Цифровой Прорыв» 2020! 💥
Регистрируйся: https://leadersofdigital.ru
С 25 июня по 25 июля в режиме онлайн состоится индивидуальный чемпионат, где участников ждут задачи по Big Data, Machine Learning, Data science и AI, а также уникальная возможность попасть на финал конкурса «Цифровой Прорыв»! 😎
Участие бесплатное, а призовой фонд чемпионата составляет 2.000.000 рублей! 🏆
Регистрируйся уже сейчас по ссылке: https://leadersofdigital.ru/
Покажи, что ты умеешь, и стань частью цифрового будущего!
Регистрируйся: https://leadersofdigital.ru
С 25 июня по 25 июля в режиме онлайн состоится индивидуальный чемпионат, где участников ждут задачи по Big Data, Machine Learning, Data science и AI, а также уникальная возможность попасть на финал конкурса «Цифровой Прорыв»! 😎
Участие бесплатное, а призовой фонд чемпионата составляет 2.000.000 рублей! 🏆
Регистрируйся уже сейчас по ссылке: https://leadersofdigital.ru/
Покажи, что ты умеешь, и стань частью цифрового будущего!
Java Performance (2020)
Автор: Scott Oaks
Кодинг и тестирование обычно рассматриваются как отдельные области. В этой практической книге эксперт по Java Скотт Оукс придерживается подхода, согласно которому любой, кто работает с Java, должен понимать, как работает код в виртуальной машине, включая настройки, которые могут повысить производительность. Данное обновленное второе издание поможет вам получить глубокие знания о производительности приложений Java, используя как JVM, так и платформу Java.
Скачать книгу
Автор: Scott Oaks
Кодинг и тестирование обычно рассматриваются как отдельные области. В этой практической книге эксперт по Java Скотт Оукс придерживается подхода, согласно которому любой, кто работает с Java, должен понимать, как работает код в виртуальной машине, включая настройки, которые могут повысить производительность. Данное обновленное второе издание поможет вам получить глубокие знания о производительности приложений Java, используя как JVM, так и платформу Java.
Скачать книгу
Telegram
Книги для программистов (reserved)
Java Performance (2020)
Автор: Scott Oaks
Автор: Scott Oaks
#вопросы_с_собеседований
Расскажите про основные понятия ООП: «класс», «объект», «интерфейс».
Расскажите про основные понятия ООП: «класс», «объект», «интерфейс».