Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
#вопросы_с_собеседований
Могут ли у разных ссылок на один объект (ref0 == ref1) быть ref0.equals(ref1) == false?
В общем случае - могут, если метод equals() реализован некорректно и не выполняет свойство рефлексивности: для любых ненулевых ссылок x метод x.equals(x) должен возвращать true.
Модификатор final может применяться к переменным, параметрам методов, полям и методам класса или самим классам.

☕️ Класс не может иметь наследников;
☕️ Метод не может быть переопределен в классах-наследниках;
☕️ Поле не может изменить свое значение после инициализации;
☕️ Параметры методов не могут изменять своё значение внутри метода;
☕️ Локальные переменные не могут быть изменены после присвоения им значения.
🍋Тинькофф это уже давно не только банк, а целая экосистема: счет для бизнеса, страхование, мобильная связь, инвестиции.
💡Мы ищем Java-разработчиков разного уровня в департамент платёжных систем. У нас три направления (банкоматы, платёжная система и интернет-эквайринг), работа в продуктовой команде, в которой есть аналитики, бэк и фрон разработчики, тестеры и тд, команды сформированные.

💰ЗП: 180 000-230 000 (net)

🧩Чем нужно заниматься:
• Участие в разработке и оптимизации производительности внутри программного комплекса Процессингового центра: банковский процессинг, развитие банковских продуктов;
• Участие в разработке интеграционных решений в рамках глобальной информационной инфраструктуры со смежными IT-системами (CRM-системы, АБС, DWH, Личный Кабинет);
📒Что нужно знать:
Опыт работы с Java 8, Spring Framework, опыт с ORACLE, postgreSQL, понимание REST подхода к разработке API, опыт работы с SQL и JDBC, опыт работы с Git, Maven.

🎁Что у нас есть для тебя:
• Офис в Москве
• Проводим митапы, тренинги и мастер-классы, огромная tech-библиотека в твоем распоряжении;
• Компенсируем обеды; чай, кофе и фрукты в кухнях на каждом этаже офиса;
• ДМС и страховку от несчастных случаев;
• Бесплатные курсы английского языка на территории офиса; Скидка 30% на КАСКО и специальные условия на продукты Тинькофф.

📩По всем вопросам можно писать в личные сообщения @akulovaeg
GeekBrains открывает факультет обработки естественного языка

Обучение проходит в онлайн-формате 2 раза в неделю в течение 10 месяцев. Студенты факультета смогут с нуля овладеть востребованной профессией NLP-разработчика, ML-инженера или специалиста по Data Science. Программа занятий рассчитана на новичков: в нее входят основы высшей математики (линейная алгебра и матанализ), программирования и машинного обучения. Достаточно подробно изучается теория вероятностей и матстатистика, различные подходы к обработке естественного языка, прототипирование и интеграция, а также бизнес-процесс машинного обучения. Занятия ведут признанные в отрасли эксперты, а решить возникающие в процессе обучения затруднения поможет личный наставник. Успешно окончившие курс студенты получат диплом о профессиональной переподготовке и закрепленную в договоре гарантию трудоустройства.

Подробная информация о новом факультете доступна на нашем сайте: https://proglib.io/w/f1c2a766
Дело в том, что «висеть» на методе wait() одного монитора могут сразу несколько потоков. При вызове notify() только один из них выходит из wait() и пытается захватить монитор, а затем продолжает работу со следующего после wait() оператора. Какой из них выйдет - заранее неизвестно. А при вызове notifyAll(), все висящие на wait() потоки выходят из wait(), и все они пытаются захватить монитор. Понятно, что в любой момент времени монитор может быть захвачен только одним потоком, а остальные ждут своей очереди. Порядок очереди определяется планировщиком потоков Java.
GeekBrains открывает факультет Fullstack JavaScript

Подготовительные курсы пройдут в ноябре, а обучение начнется в январе 2021 года. Рассчитанная на 15 месяцев программа позволит студентам освоить профессию разработчика полного цикла. Успешно окончив курс, они смогут запустить собственные проекты: сайты, мобильные приложения и высоконагруженные сервисы. Преподают на факультете ведущие специалисты из GeekBrains и Delivery Club, а затруднения с домашними заданиями поможет решить наставник. Помимо основ HTML, CSS и JavaScript, в учебную программу входят продвинутые темы: современная фронтенд-разработка, бэкенд-разработка, базы данных, сетевые протоколы, многопоточные приложения, взаимодействие в команде и многое другое. Гарантия трудоустройства закреплена в договоре — опытный HR поможет вам составить резюме.

Получить дополнительную информацию и записаться в группу можно на сайте: https://proglib.io/w/cbf6a980
👨‍🎓 35 приложений для изучения программирования на iOS и Android

Лучшие приложения для Android и iOS, которые научат детей логическому мышлению и основам кодинга. Для взрослых более сложные игрушки: Java, С, машинное обучение и Data Science.

https://proglib.io/sh/q2R9OsS4yE
GeekBrains запускает курс «Блокчейн-разработка»

Обучение начнется 2 ноября и продлится 4 месяца. Курс рассчитан на еще не знакомых с темой и уже имеющих некоторый опыт разработчиков. Технологический стек: командная оболочка, TCP/IP, Git и любой язык для backend. Занятия ведут участвующие в блокчейн-проектах преподаватели, а программа на 70% состоит из интерактивных вебинаров. Студенты изучат основы криптографии и распределенного реестра, а затем перейдут к более сложным темам: протоколам консенсуса и анонимизации, смарт-контрактам, закрытым блокчейнам и системам с разрешениями, масштабированию сетей блокчейн и пользовательским аспектам применения технологии. После обучения эксперты криптобиржи Binance проведут для студентов карьерные консультации, а возникающие в процессе затруднения поможет разрешить личный наставник.

Получить дополнительную информацию и записаться в группу можно на сайте: https://proglib.io/w/9b16b77c
Building Java Programs: A Back to Basics Approach (2019)
Автор: Stuart Reges, Marty Stepp
Количество страниц: 1232

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

Скачать книгу
GeekBrains запускает курс «Data Science в медицине»

За 18 месяцев начинающие специалисты освоят применение методов Data Science в здравоохранении. Опытные преподаватели будут проводить вебинары 2 — 4 раза в неделю, а закончившие курс студенты добавят в портфолио 16 учебных проектов. В программу входят основы высшей математики и программирования, введение в искусственный интеллект, а также продвинутые темы: ОС Linux и инструменты Data Science, сбор и обработка данных, нейронные сети, компьютерное зрение, машинное обучение и обработка естественного языка, а также применение методов AI, ML и Data Science в медицине. HR-менеджер поможет составить резюме и подготовиться к собеседованию.

Получить дополнительную информацию и записаться в группу можно на сайте: https://proglib.io/w/a417a814
#вопросы_с_собеседований
Почему не рекомендуется использовать метод Thread.stop()?
GeekBrains запускает курс «Машинное обучение»

Занятия начнутся в ноябре: за 6 месяцев студенты освоят востребованную профессию и получат практический опыт разработки проектов в сфере ML под руководством практикующих специалистов. Программа рассчитана на разработчиков-новичков и бизнес-аналитиков, но имеющие опыт разработчики также подчерпнут в ней немало полезного. После вводного блока занятий по математике, структурам данных и алгоритмам, будут рассмотрены сложные темы: библиотеки Python для Data Science, методы машинного обучения, нейронные сети, прототипирование и интеграция, а также бизнес-процесс машинного обучения. Студентам доступны карьерные консультации и помощь личного наставника в решении возникших затруднений.

Получить дополнительную информацию и записаться в группу можно на сайте: https://proglib.io/w/906326a7
При принудительной остановке (приостановке) потока, stop() прерывает поток в недетерменированном месте выполнения, в результате становится совершенно непонятно, что делать с принадлежащими ему ресурсами. Поток может открыть сетевое соединение - что в таком случае делать с данными, которые еще не вычитаны? Где гарантия, что после дальнейшего запуска потока (в случае приостановки) он сможет их дочитать? Если поток блокировал разделяемый ресурс, то как снять эту блокировку и не переведёт ли принудительное снятие к нарушению консистентности системы? То же самое можно расширить и на случай соединения с базой данных: если поток остановят посередине транзакции, то кто ее будет закрывать? Кто и как будет разблокировать ресурсы?
Освой Java-разработку на трёхдневном онлайн-интенсиве! Будем разбираться в коде сразу на практике и напишем программу для мониторинга активности рабочего стола.

Занятия бесплатные: https://clc.am/pMa5PQ.
Количество мест ограничено!

Почему изучение Java — это круто?

✔️ На нём создаются модульные программы, исходный код которых можно использовать многократно.
✔️ Написанные на Java приложения запускаются на разных ОС.
✔️ 3 млрд устройств работают на Java, в том числе Android.

Интенсив проведёт профи в своем деле, который уже более 15 лет работает в сфере Java и веб-разработки, является директором центра SymbioWay и находит IT-специалистов для крупнейших компаний России — Даниил Пилипенко. Он ответит на твои вопросы, поделится полезными советами и лайфхаками из мира программирования!

🎁 В конце интенсива всех участников ждут подарки от Skillbox и издательства «МИФ»!
#вопросы_с_собеседований
Что такое «денормализация»? Для чего она применяется?
Денормализация базы данных — это процесс осознанного приведения базы данных к виду, в котором она не будет соответствовать правилам нормализации. Обычно это необходимо для повышения производительности и скорости извлечения данных за счет увеличения избыточности данных.