Что такое ReadWriteLock?
Существует реализующий интерфейс
ReadWriteLock — это интерфейс, расширяющий базовый интерфейс Lock. Используется для улучшения производительности в многопоточном процессе и оперирует парой связанных блокировок (одна - для операций чтения, другая - для записи). Блокировка чтения может удерживаться одновременно несколькими читающими потоками, до тех пор, пока не появится записывающий. Блокировка записи является эксклюзивной.Существует реализующий интерфейс
ReadWriteLock класс ReentrantReadWriteLock, который поддерживает до 65535 блокировок записи и до стольки же блокировок чтения.👍8❤1
#Вопросы_с_собеседования
❓Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
❓Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
👍14❤3
#Вопросы_с_собеседования
❓Как не допустить сериализацию?
Чтобы не допустить автоматическую сериализацию можно переопределить private методы для создания исключительной ситуации NotSerializableException.
Любая попытка записать или прочитать этот объект теперь приведет к возникновению исключительной ситуации.
❓Как не допустить сериализацию?
Чтобы не допустить автоматическую сериализацию можно переопределить private методы для создания исключительной ситуации NotSerializableException.
Любая попытка записать или прочитать этот объект теперь приведет к возникновению исключительной ситуации.
👍10❤2🔥1
#Вопросы_с_собеседования
❓Напишите программу на Java для вставки данного элемента в очередь с приоритетами
Ответ на картинке.
❓Напишите программу на Java для вставки данного элемента в очередь с приоритетами
Ответ на картинке.
👍13🤔4
#вопросы_с_собеседований
Какие существуют типы автовайринга Spring Bean?
В среде Spring существует четыре типа автовайринга.
✔️ autowire byName
✔️ autowire byType
✔️ autowire by constructor
✔️ autowiring by
До Spring 3.1 также поддерживалась autowire by autodetect, которая была похожа на автовайринг по конструктору или по типу. Для получения более подробной информации об этих опциях можете обратиться к статье.
Какие существуют типы автовайринга Spring Bean?
В среде Spring существует четыре типа автовайринга.
✔️ autowire byName
✔️ autowire byType
✔️ autowire by constructor
✔️ autowiring by
@Autowired and @Qualifier annotationsДо Spring 3.1 также поддерживалась autowire by autodetect, которая была похожа на автовайринг по конструктору или по типу. Для получения более подробной информации об этих опциях можете обратиться к статье.
Digitalocean
Spring @Autowired Annotation | DigitalOcean
Technical tutorials, Q&A, events — This is an inclusive place where developers can find or lend support and discover new ways to contribute to the community.
👍6❤1
#Вопросы_с_собеседования
❓Что такое Instance Variable?
Instance Variable — переменная, которая определена внутри класса, и она существует вплоть до того момента, пока существует объект.
Пример — класс
❓Что такое Instance Variable?
Instance Variable — переменная, которая определена внутри класса, и она существует вплоть до того момента, пока существует объект.
Пример — класс
Bee, в котором есть две переменные nectarCapacity и maxNectarCapacity.👍6❤1
👍5😢5
Как между собой связаны Iterable и Iterator?
Интерфейс
Интерфейс
Iterable имеет только один метод - iterator(), который возвращает Iterator.👍12
Object[] vs custom Class
Код с Object абсолютно не читабельный, когда приходится работать с возвращаемым значением в другом месте.То есть, чтобы понять что же хранит в себе возвращаемое значение — нужно вернуться в класс вызова и читать комментарии к методу, если же, конечно, они есть, а если нет, вникать в код, что не очень эффективно. Собственно, я сам этим иногда грешу, когда очень спешу. С этим можно смириться, если это очень редко, но, все же, в таких ситуациях лучше создавать новый класс. Облегчите жизнь тем, кто придет после вас.
Код с Object абсолютно не читабельный, когда приходится работать с возвращаемым значением в другом месте.То есть, чтобы понять что же хранит в себе возвращаемое значение — нужно вернуться в класс вызова и читать комментарии к методу, если же, конечно, они есть, а если нет, вникать в код, что не очень эффективно. Собственно, я сам этим иногда грешу, когда очень спешу. С этим можно смириться, если это очень редко, но, все же, в таких ситуациях лучше создавать новый класс. Облегчите жизнь тем, кто придет после вас.
👍12
#Вопросы_с_собеседования
❓Напишите минимальный неблокирующий стек (всего два метода — push() и pop()) с использованием Semaphore
Ответ на картинке.
❓Напишите минимальный неблокирующий стек (всего два метода — push() и pop()) с использованием Semaphore
Ответ на картинке.
👍17
Какие подклассы класса Reader вы знаете, для чего они предназначены?
•
•
•
•
•
•
•
•
•
•
•
Reader - абстрактный класс, описывающий символьный ввод;•
BufferedReader - буферизованный входной символьный поток;•
CharArrayReader - входной поток, который читает из символьного массива;•
FileReader - входной поток, читающий файл;•
FilterReader - абстрактный класс, предоставляющий интерфейс для классов-надстроек;•
InputStreamReader - входной поток, транслирующий байты в символы;•
LineNumberReader - входной поток, подсчитывающий строки;•
PipedReader - входной канал;•
PushbackReader - входной поток, позволяющий возвращать символы обратно в поток;•
StringReader - входной поток, читающий из строки.👍15🔥1
Что означает переопределение метода в Java (override)?
Anonymous Quiz
76%
Изменение поведения метода класса относительно родительского
5%
Изменение поведения метода класса относительно дочернего
15%
Несколько методов с одинаковыми названиями, но разными наборами параметров
2%
Несколько разных классов с одинаковым методом
2%
Узнать ответ
👍22
Java Bean
JavaBeans - это стандартный подход к созданию переносимых и повторно используемых компонентов. Они представляют собой классы, которые следуют определенным соглашениям и обеспечивают удобный способ управления состоянием и поведением объектов.
Основные характеристики JavaBeans:
1. Класс должен быть публичным и иметь открытый конструктор без аргументов.
2. Приватные поля класса должны быть доступны с помощью геттеров и сеттеров (
3. Класс должен быть сериализуемым, то есть должен реализовывать интерфейс
JavaBeans - это стандартный подход к созданию переносимых и повторно используемых компонентов. Они представляют собой классы, которые следуют определенным соглашениям и обеспечивают удобный способ управления состоянием и поведением объектов.
Основные характеристики JavaBeans:
1. Класс должен быть публичным и иметь открытый конструктор без аргументов.
2. Приватные поля класса должны быть доступны с помощью геттеров и сеттеров (
getter и setter методы).3. Класс должен быть сериализуемым, то есть должен реализовывать интерфейс
Serializable.JavaBeans также могут иметь дополнительные свойства, такие как события и методы уведомления, которые позволяют другим компонентам реагировать на изменения состояния.👍10❤4
Какова структура веб-проекта?
src/main/java Исходники приложения/библиотекиsrc/main/resources Ресурсные файлы приложения/библиотекиsrc/main/filters Файлы сервлетных фильтровsrc/main/webapp Исходники веб-приложенияsrc/test/java Исходники тестовsrc/test/resources Ресурсные файлы тестовsrc/test/filters Тесты сервлетных фильтровsrc/it Интеграционные тестыsrc/assembly Описание сборкиsrc/site СайтLICENSE.txt Лицензия проектаNOTICE.txt Замечания и определения библиотек зависимостей.README.txt Описание проекта👍22❤4🔥1