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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Серия обучающих видео по многопоточности.

https://proglib.io/w/f90bdadd

#course
Варианты 3 и 5 не обязательны, 1 и 4 - не допускают наследование.
#вопросы_с_собеседований
Опишите процесс сериализации/десериализации с использованием Serializable.
При использовании Serializable применяется алгоритм сериализации, который с помощью рефлексии (Reflection API) выполняет:

✔️ запись в поток метаданных о классе, ассоциированном с объектом (имя класса, идентификатор SerialVersionUID, идентификаторы полей класса);
✔️ рекурсивную запись в поток описания суперклассов до класса java.lang.Object (не включительно);
✔️ запись примитивных значений полей сериализуемого экземпляра, начиная с полей самого верхнего суперкласса;
✔️ рекурсивную запись объектов, которые являются полями сериализуемого объекта.

При этом ранее сериализованные объекты повторно не сериализуются, что позволяет алгоритму корректно работать с циклическими ссылками.

Для выполнения десериализации под объект выделяется память, после чего его поля заполняются значениями из потока. Конструктор объекта при этом не вызывается. Однако при десериализации будет вызван конструктор без параметров родительского несериализуемого класса, а его отсутствие повлечёт ошибку десериализации.
​​Не теряй время, мы собрали все материалы по Java в одной online программе. У нас ты изучишь востребованный стек технологий с наставником и получишь опыт коммерческой разработки необходимый для старта в IT. Оплата только после трудоустройства. А если не найдешь работу, то обучение бесплатно.

Пройти тестовое задание 🙋‍♂️👉 https://clck.ru/NDYV4

👇Что ждет студента:
1. Подготовка с личным ментором online по индивидуальной программе за 6 месяцев
2. Жесткий контроль знаний на каждом этапе
3. Обучение востребованному на рынке стеку технологий: Java Core, Maven, Git, Junit, Tomcat, Servlet, Spring MVC, Core, Security, Hibernate
4. Отработка знаний в настоящем бизнес проекте, который дает опыт и строчку для резюме
5. Общение с одногруппниками и студентами-разработчиками других потоков групповом чате slack (уже более 1500 участников)
6. Быстрое карьерное и финансовое развитие за счет программы поддержки на 2 года: митапы, мастер-классы, закрытые лекции со спикерами и offline интенсивы
7. Гарантированное трудоустройство и первая зарплата от 100 000 рублей

Требования к кандидату:
• Обучение минимум 25 часов в неделю
• Проживание или готовность к переезду в Москву для трудоустройства
Видео о семи типичных ошибках на собеседованиях.

https://youtu.be/pV7XIZnsbgM
Миникурс из трех лекций по особенностям работы с дженериками.

https://proglib.io/w/b46584ef
Beginning Java Data Structures and Algorithms (2018)
Автор: James Cutajar

Хоть ваше приложение хорошо выполняет свои задачи, оно может не быть эффективным и быстрым. Читая книгу, вы изучите методы, позволяющие точно прогнозировать эффективность кода, легко отбрасывать неэффективные решения и повышать производительность вашего приложения.

Скачать книгу
#вопросы_с_собеседований
Как изменить стандартное поведение сериализации/десериализации?
✔️ Реализовать интерфейс java.io.Externalizable, который позволяет применение пользовательской логики сериализации. Способ сериализации и десериализации описывается в методах writeExternal() и readExternal(). Во время десериализации вызывается конструктор без параметров, а потом уже на созданном объекте вызывается метод readExternal.
✔️ Если у сериализуемого объекта реализован один из следующих методов, то механизм сериализации будет использовать его, а не метод по умолчанию:
writeObject() - запись объекта в поток;
readObject() - чтение объекта из потока;
writeReplace() - позволяет заменить себя экземпляром другого класса перед записью;
readResolve() - позволяет заменить на себя другой объект после чтения.
#вопросы_с_собеседований
1. Есть ли какие-либо рекомендации о том, какие поля следует использовать при подсчете hashCode()?
2. Могут ли у разных объектов быть одинаковые hashCode()?
1. Общий совет: выбирать поля, которые с большой долью вероятности будут различаться. Для этого необходимо использовать уникальные, лучше всего примитивные поля, например такие как id, uuid. При этом нужно следовать правилу, если поля задействованы при вычислении hashCode(), то они должны быть задействованы и при выполнении equals().
2. Да, могут. Метод hashCode() не гарантирует уникальность возвращаемого значения. Ситуация, когда у разных объектов одинаковые хэш коды называется коллизией. Вероятность возникновения коллизии зависит от используемого алгоритма генерации хэш кода.
Java Programming (2018)
Автор: Joyce Farrell

Даже если вы начинающий программист, книга поможет вам быстро приступить к разработке полезных программ, при этом овладев основными принципами структурного и объектно-ориентированного программирования. Книга содержит уникальные, понятные для читателя объяснения и содержательные упражнения по программированию. Дополнительные цифровые учебные ресурсы в MindTap предоставляют интерактивные инструменты обучения, а также IDE (среда разработки) для отработки и развития ваших навыков.

Скачать книгу
Разыскивается Senior Java Developer в крупный федеральный банк в Москве (офис)

Требования:
— Java (core, collections, io, generics, multithreading, concurrency, security);
— Junit, TestNG, Mockito
— MS SQL Server (T-SQL) или другими PostgreSQL / Oracle
— CI/CD
— Git

Условия:
— Зарплатная вилка 170 - 300 К рублей / месяц + премии
— Официальное трудоустройство
— Расширенный соц.пакет и ДМС со стоматологией
— Релокационный пакет

➡️ Подробности - https://proglib.io/vacancies/senior-java-developer-iskusstvo-rekrutinga-mezhdunarodnyy-kadrovyy-centr-2020-05-05
📕 25 лучших книг для программистов

Список наиболее часто рекомендуемых книг о программировании, составлен по результатам анализа упоминаний в интернет-публикациях. Книги об алгоритмах, чистом коде, паттернах проектирования, а также пособия для развития soft skills и прохождения собеседований.

https://proglib.io/w/d604cfd8