Библиотека джависта | Java, Spring, Maven, Hibernate via @CommentsBot
#вопросы_с_собеседований Что такое «потокобезопасность»?
Потокобезопасность – свойство объекта или кода, которое гарантирует, что при исполнении или использовании несколькими потоками код будет вести себя как предполагается. Например, потокобезопасный счётчик не пропустит ни один счёт, даже если один и тот же экземпляр этого счётчика будет использоваться несколькими потоками.
#вопросы_с_собеседований
Зачем нужен equals()? Чем он отличается от операции ==?
Зачем нужен equals()? Чем он отличается от операции ==?
Java Concurrency на практике (2020)
Эта книга поможет написать — а также спроектировать, отладить, сопроводить, проанализировать — многопоточные программы на Java. Если вам когда-либо приходилось синхронизировать метод, но вы не представляли зачем, то вам просто необходимо прочитать эту книгу.
Эта книга поможет написать — а также спроектировать, отладить, сопроводить, проанализировать — многопоточные программы на Java. Если вам когда-либо приходилось синхронизировать метод, но вы не представляли зачем, то вам просто необходимо прочитать эту книгу.
Библиотека джависта | Java, Spring, Maven, Hibernate via @CommentsBot
#вопросы_с_собеседований Зачем нужен equals()? Чем он отличается от операции ==?
Метод equals() определяет отношение эквивалентности объектов.
При сравнении объектов с помощью == сравнение происходит лишь между ссылками. При сравнении по переопределённому разработчиком equals() — по внутреннему состоянию объектов.
При сравнении объектов с помощью == сравнение происходит лишь между ссылками. При сравнении по переопределённому разработчиком equals() — по внутреннему состоянию объектов.
Beginning Spring 5: From Novice to Professional (2019)
Начните работу с Spring Framework 5 и его экосистемой, а также ознакомьтесь с современными практиками разработки. Автор научит вас, как использовать Spring для создания Java-приложений, веб-приложений и микросервисов. Вы также увидите, как Spring положительно повлиял на разработку приложений на Java в целом.
Начните работу с Spring Framework 5 и его экосистемой, а также ознакомьтесь с современными практиками разработки. Автор научит вас, как использовать Spring для создания Java-приложений, веб-приложений и микросервисов. Вы также увидите, как Spring положительно повлиял на разработку приложений на Java в целом.
Forwarded from Книги для программистов
Beginning Spring 5.pdf
3.3 MB
This media is not supported in your browser
VIEW IN TELEGRAM
Подработки и мелкие заказы на пару часов работы – это, конечно, хорошо. До тех пор, пока тебе не надоест распылять свои навыки и потенциал на всех подряд.
Знай цену себе и своему времени — подпишись на @theyseeku и работай с лучшими работодателями, которые предлагают удалённые вакансии. Именно Finder.vc первыми начали искать удалёнщиков в телеграме, написали полезный гайд о переезде за границу и создали бота, который раз в день отправляет вакансии по выбранной специальности — @findervc_bot.
t.me/theyseeku — помогут специалистам с любым опытом получить хорошо оплачиваемую работу, на которую не нужно идти в офис.
Знай цену себе и своему времени — подпишись на @theyseeku и работай с лучшими работодателями, которые предлагают удалённые вакансии. Именно Finder.vc первыми начали искать удалёнщиков в телеграме, написали полезный гайд о переезде за границу и создали бота, который раз в день отправляет вакансии по выбранной специальности — @findervc_bot.
t.me/theyseeku — помогут специалистам с любым опытом получить хорошо оплачиваемую работу, на которую не нужно идти в офис.
#вопросы_с_собеседований
Чем отличаются final, finally и finalize()?
Чем отличаются final, finally и finalize()?
Библиотека джависта | Java, Spring, Maven, Hibernate via @CommentsBot
#вопросы_с_собеседований Чем отличаются final, finally и finalize()?
Модификатор final:
➖Класс не может иметь наследников;
➖Метод не может быть переопределен в классах-наследниках;
➖Поле не может изменить свое значение после инициализации;
➖Локальные переменные не могут быть изменены после присвоения им значения;
➖Параметры методов не могут изменять своё значение внутри метода.
Оператор finally гарантирует, что определенный в нём участок кода будет выполнен независимо от того, какие исключения были перехвачены в блоке try-catch.
Метод finalize() вызывается перед тем как сборщик мусора будет проводить удаление объекта.
➖Класс не может иметь наследников;
➖Метод не может быть переопределен в классах-наследниках;
➖Поле не может изменить свое значение после инициализации;
➖Локальные переменные не могут быть изменены после присвоения им значения;
➖Параметры методов не могут изменять своё значение внутри метода.
Оператор finally гарантирует, что определенный в нём участок кода будет выполнен независимо от того, какие исключения были перехвачены в блоке try-catch.
Метод finalize() вызывается перед тем как сборщик мусора будет проводить удаление объекта.
Think Java: How to Think Like a Computer Scientist (2016)
Данная книга написана для людей с небольшим опытом или вообще без опыта программирования. Цель книги — не просто научить читателя программировать на Java, но и помочь начать мыслить как специалист в области информатики. Каждая краткая глава охватывает материал, предназначенный для изучения за одну неделю и включает в себя упражнения, которые помогут вам практиковаться.
Данная книга написана для людей с небольшим опытом или вообще без опыта программирования. Цель книги — не просто научить читателя программировать на Java, но и помочь начать мыслить как специалист в области информатики. Каждая краткая глава охватывает материал, предназначенный для изучения за одну неделю и включает в себя упражнения, которые помогут вам практиковаться.
Митап для разработчиков Java и Python в #ITX5
Слушаем классные доклады и обсуждаем последние тренды:
⬥ Паша Финкельштейн, JetBrains: «О чём мечтают Java-роботы, глядя на Python»
⬥ Сергей Миронов, #ITХ5: «AOP – альтернативный подход к объектам»
⬥ Степан Калашников, Росбанк: «Чистая архитектура в среде изменяющихся требований»
Встречаемся 12 марта в 19.00, разойдемся ближе к 22.00. Место: БЦ «Оазис» (Коровий вал, 5). Мероприятие бесплатное, но чтобы хватило мест, нужно зарегистрироваться: https://prglb.ru/5n0od
Слушаем классные доклады и обсуждаем последние тренды:
⬥ Паша Финкельштейн, JetBrains: «О чём мечтают Java-роботы, глядя на Python»
⬥ Сергей Миронов, #ITХ5: «AOP – альтернативный подход к объектам»
⬥ Степан Калашников, Росбанк: «Чистая архитектура в среде изменяющихся требований»
Встречаемся 12 марта в 19.00, разойдемся ближе к 22.00. Место: БЦ «Оазис» (Коровий вал, 5). Мероприятие бесплатное, но чтобы хватило мест, нужно зарегистрироваться: https://prglb.ru/5n0od
Видеокурс из 10 видео для тех, кто хорошо знает Java и хочет изучить Kotlin.
https://youtu.be/bmJkM23D9rw
https://youtu.be/bmJkM23D9rw
YouTube
1. Hello World // Java → Kotlin
In this video, we take our first look at Kotlin, a sleek Java alternative that runs on the JVM.
#вопросы_с_собеседований
Что такое «монитор» в Java?
Что такое «монитор» в Java?
Монитор, мьютекс (mutex) – это средство обеспечения контроля за доступом к ресурсу. У монитора может быть максимум один владелец в каждый текущий момент времени. Следовательно, если кто-то использует ресурс и захватил монитор для обеспечения единоличного доступа, то другой, желающий использовать тот же ресурс, должен подождать освобождения монитора, захватить его и только потом начать использовать ресурс.
Удобно представлять монитор как id захватившего его объекта. Если этот id равен 0 – ресурс свободен. Если не 0 – ресурс занят. Можно встать в очередь и ждать его освобождения.
В Java у каждого экземпляра объекта есть монитор, который контролируется непосредственно виртуальной машиной. Используется он так: любой нестатический synchronized-метод при своем вызове прежде всего пытается захватить монитор того объекта, у которого он вызван (на который он может сослаться как на this). Если это удалось – метод исполняется. Если нет – поток останавливается и ждет, пока монитор будет отпущен.
Удобно представлять монитор как id захватившего его объекта. Если этот id равен 0 – ресурс свободен. Если не 0 – ресурс занят. Можно встать в очередь и ждать его освобождения.
В Java у каждого экземпляра объекта есть монитор, который контролируется непосредственно виртуальной машиной. Используется он так: любой нестатический synchronized-метод при своем вызове прежде всего пытается захватить монитор того объекта, у которого он вызван (на который он может сослаться как на this). Если это удалось – метод исполняется. Если нет – поток останавливается и ждет, пока монитор будет отпущен.
#вопросы_с_собеседований
Для чего нужен метод hashCode()?
Для чего нужен метод hashCode()?
Метод hashCode() необходим для вычисления хэш кода переданного в качестве входного параметра объекта. В Java это целое число, в более широком смыле — битовая строка фиксированной длины, полученная из массива произвольной длины. Этот метод реализован таким образом, что для одного и того же входного объекта, хэш код всегда будет одинаковым. Следует понимать, что в Java множество возможных хэш кодов ограничено типом int, а множество объектов ничем не ограничено. Из-за этого, вполне возможна ситуация, что хэш коды разных объектов могут совпасть.
Если хэш коды разные, то и объекты гарантированно разные;
если хэш коды равны, то объекты могут не обязательно равны.
Если хэш коды разные, то и объекты гарантированно разные;
если хэш коды равны, то объекты могут не обязательно равны.
#вопросы_с_собеседований
Приведите примеры структурных шаблонов проектирования.
Приведите примеры структурных шаблонов проектирования.