Что означает переопределение метода в 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
#Вопросы_с_собеседования
Что такое «анонимные классы»? Где они применяются?
Это вложенный локальный класс без имени, который разрешено декларировать в любом месте обрамляющего класса, разрешающем размещение выражений. Создание экземпляра анонимного класса происходит одновременно с его объявлением. В зависимости от местоположения анонимный класс ведет себя как статический либо как нестатический вложенный класс - в нестатическом контексте появляется окружающий его экземпляр.
Анонимные классы имеют несколько ограничений:
• Их использование разрешено только в одном месте программы - месте его создания;
• Применение возможно только в том случае, если после порождения экземпляра нет необходимости на него ссылаться;
• Реализует лишь методы своего интерфейса или суперкласса, т.е. не может объявлять каких-либо новых методов, так как для доступа к ним нет поименованного типа.
Анонимные классы обычно применяются для:
• создания объекта функции (function object), например, реализация интерфейса
• создания объекта процесса (process object), такого как экземпляры классов
• в статическом методе генерации;
• инициализации открытого статического поля
Что такое «анонимные классы»? Где они применяются?
Это вложенный локальный класс без имени, который разрешено декларировать в любом месте обрамляющего класса, разрешающем размещение выражений. Создание экземпляра анонимного класса происходит одновременно с его объявлением. В зависимости от местоположения анонимный класс ведет себя как статический либо как нестатический вложенный класс - в нестатическом контексте появляется окружающий его экземпляр.
Анонимные классы имеют несколько ограничений:
• Их использование разрешено только в одном месте программы - месте его создания;
• Применение возможно только в том случае, если после порождения экземпляра нет необходимости на него ссылаться;
• Реализует лишь методы своего интерфейса или суперкласса, т.е. не может объявлять каких-либо новых методов, так как для доступа к ним нет поименованного типа.
Анонимные классы обычно применяются для:
• создания объекта функции (function object), например, реализация интерфейса
Comparator;• создания объекта процесса (process object), такого как экземпляры классов
Thread, Runnable и подобных;• в статическом методе генерации;
• инициализации открытого статического поля
final, которое соответствует сложному перечислению типов, когда для каждого экземпляра в перечислении требуется отдельный подкласс.👍9
Метод delete()
Удаляет символы в подстроке данной строки буфера (StringBuffer). Подстрока начинается с указанного начального индекса и распространяется до символа конечного индекса, или до конца StringBuffer, если такого символа не существует.
Другими словами метод позволяет удалить символы из строки, начиная и заканчивая указанными индексами.
Если start (начальный индекс) равен end (конечный индекс), то изменения не производятся.
Параметры:
• start — начальный индекс, включительно;
• end — конечный индекс, не включая.
Удаляет символы в подстроке данной строки буфера (StringBuffer). Подстрока начинается с указанного начального индекса и распространяется до символа конечного индекса, или до конца StringBuffer, если такого символа не существует.
Другими словами метод позволяет удалить символы из строки, начиная и заканчивая указанными индексами.
Если start (начальный индекс) равен end (конечный индекс), то изменения не производятся.
Параметры:
• start — начальный индекс, включительно;
• end — конечный индекс, не включая.
👍18
Разбираемся с GraalVM, AOT и JIT
Если вы хотите разобраться, что такое GraalVM, как он работает, и в чем различия между Just-In-Time (JIT) компиляцией и Ahead-Of-Time (AOT) компиляцией, то это руководство — именно то, что вы искали.
Смотреть статью
Если вы хотите разобраться, что такое GraalVM, как он работает, и в чем различия между Just-In-Time (JIT) компиляцией и Ahead-Of-Time (AOT) компиляцией, то это руководство — именно то, что вы искали.
Смотреть статью
👍6
#Вопросы_с_собеседования
❓Как разбить строку на подстроки по заданному разделителю?
Мы можем использовать метод split(String regex) для разделения строки на массив символов, используя в качестве разделителя регулярное выражение.
Метод split(String regex, int numOfStrings) является перегруженным методом для разделения строки на заданное количество строк. Мы можем использовать обратную черту для использования специальных символов регулярных выражений в качестве обычных символов.
❓Как разбить строку на подстроки по заданному разделителю?
Мы можем использовать метод split(String regex) для разделения строки на массив символов, используя в качестве разделителя регулярное выражение.
Метод split(String regex, int numOfStrings) является перегруженным методом для разделения строки на заданное количество строк. Мы можем использовать обратную черту для использования специальных символов регулярных выражений в качестве обычных символов.
🔥3👍1
Каков будет результат?
Anonymous Quiz
6%
3 -3 false
25%
3 3 true
24%
-3 3 false
24%
Ошибка компиляции
21%
Узнать ответ
👍12
Каким образом из вложенного класса получить доступ к полю внешнего класса?
Статический вложенный класс имеет прямой доступ только к статическим полям обрамляющего класса.
Простой внутренний класс, может обратиться к любому полю внешнего класса напрямую. В случае, если у вложенного класса уже существует поле с таким же литералом, то обращаться к такому полю следует через ссылку на его экземпляр. Например:
Статический вложенный класс имеет прямой доступ только к статическим полям обрамляющего класса.
Простой внутренний класс, может обратиться к любому полю внешнего класса напрямую. В случае, если у вложенного класса уже существует поле с таким же литералом, то обращаться к такому полю следует через ссылку на его экземпляр. Например:
Outer.this.field.👍7
Каким будет вывод этого кода?
Anonymous Quiz
26%
My Thread
21%
Thread[My Thread,5,main]
22%
Compilation Error
7%
Runtime Error
24%
Посмотреть ответ
😢9👍8
Оцените количество памяти на хранение одного примитива типа byte в ArrayList?
ArrayList основан на массиве, для примитивных типов данных осуществляется автоматическая упаковка значения, поэтому
ArrayList основан на массиве, для примитивных типов данных осуществляется автоматическая упаковка значения, поэтому
16 байт тратится на хранение упакованного объекта и 4 байта (8 для x64) - на хранение ссылки на этот объект в самой структуре данных. Таким образом, в x32 JVM 4 байта используются на хранение одного элемента и 16 байт - на хранение упакованного объекта типа Byte. Для x64 - 8 байт и 24 байта соответственно.👍9
Блок кода создает поток используя Runnable. Какой из следующих классов может быть использован, чтобы предыдущий код откомпилировался?
Anonymous Quiz
20%
public class MyRunnable implements Runnable{void run(){}}
16%
public class MyRunnable implements Runnable{public void start(){}}
50%
public class MyRunnable implements Runnable{public void run(){}}
11%
public class MyRunnable extends Runnable{public void run(){}}
3%
public class MyRunnable extends Object{public void run(){}}
👍17
Maven — один из самых популярных и удобных инструментов для управления и сборки проектов на Java. Сохраняй и делись с друзьями!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18