Приватный (помеченный ключевым словом private, скрытый) конструктор может использоваться публичным статическим методом генерации объектов данного класса. Также доступ к нему разрешён вложенным классам и может использоваться для их нужд.
Группы тегов JSTL согласно их функциональности:
☕️ Core Tags предоставляют возможности итерации, обработки исключений, URL, forward, redirect response и т.д.
☕️ Formatting Tags и Localization Tags предоставляют возможности по форматированию чисел, дат и поддержки i18n локализации и resource bundles.
☕️ SQL Tags – поддержка работы с базами данных.
☕️ XML Tags используются для работы с XML документами: парсинга, преобразования данных, выполнения выражений XPath и т.д..
☕️ JSTL Functions Tags предоставляет набор функций, которые позволяют выполнять различные операции со строками и т.п. Например, по конкатенации или разбиению строк.
☕️ Core Tags предоставляют возможности итерации, обработки исключений, URL, forward, redirect response и т.д.
☕️ Formatting Tags и Localization Tags предоставляют возможности по форматированию чисел, дат и поддержки i18n локализации и resource bundles.
☕️ SQL Tags – поддержка работы с базами данных.
☕️ XML Tags используются для работы с XML документами: парсинга, преобразования данных, выполнения выражений XPath и т.д..
☕️ JSTL Functions Tags предоставляет набор функций, которые позволяют выполнять различные операции со строками и т.п. Например, по конкатенации или разбиению строк.
Тернарный условный оператор ?: - оператор, которым можно заменить некоторые конструкции операторов if-then-else.
Выражение записывается в следующей форме:
условие ? выражение1 : выражение2
Если условие выполняется, то вычисляется выражение1 и его результат становится результатом выполнения всего оператора. Если же условие равно false, то вычисляется выражение2 и его значение становится результатом работы оператора. Оба операнда выражение1 и выражение2 должны возвращать значение одинакового (или совместимого) типа.
Выражение записывается в следующей форме:
условие ? выражение1 : выражение2
Если условие выполняется, то вычисляется выражение1 и его результат становится результатом выполнения всего оператора. Если же условие равно false, то вычисляется выражение2 и его значение становится результатом работы оператора. Оба операнда выражение1 и выражение2 должны возвращать значение одинакового (или совместимого) типа.
#вопросы_с_собеседований
Как получить текущее время с точностью до миллисекунд используя Date Time API?
Как получить текущее время с точностью до миллисекунд используя Date Time API?
LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault());
Java вопрос. Как в конструкторе класса вызвать дургой конструктор этого же класса?
Anonymous Poll
17%
названиеКласса
12%
constructor()
23%
super()
52%
this()
❤1
Javazavr. Обучение Java.
Java вопрос. Как в конструкторе класса вызвать дургой конструктор этого же класса?
Это была попытка креативной рекламы нашего второго канала с тестами.
Если вам интересно порешать тесты на Java и проверить уровень своих знаний - то вам сюда: @javaquize
Если вам интересно порешать тесты на Java и проверить уровень своих знаний - то вам сюда: @javaquize
☕️ doGet() - для обработки HTTP запросов GET;
☕️ doPost() - для обработки HTTP запросов POST;
☕️ doPut() - для обработки HTTP запросов PUT;
☕️ doDelete() - для обработки HTTP запросов DELETE;
☕️ doHead() - для обработки HTTP запросов HEAD;
☕️ doOptions() - для обработки HTTP запросов OPTIONS;
☕️ doTrace() - для обработки HTTP запросов TRACE.
☕️ doPost() - для обработки HTTP запросов POST;
☕️ doPut() - для обработки HTTP запросов PUT;
☕️ doDelete() - для обработки HTTP запросов DELETE;
☕️ doHead() - для обработки HTTP запросов HEAD;
☕️ doOptions() - для обработки HTTP запросов OPTIONS;
☕️ doTrace() - для обработки HTTP запросов TRACE.
☕️ Попробовать подобрать или реализовать самостоятельно другой итератор, работающий по принципу fail-safe.
☕️ Использовать ConcurrentHashMap и CopyOnWriteArrayList.
☕️ Преобразовать список в массив и перебирать массив.
☕️ Блокировать изменения списка на время перебора с помощью блока synchronized.
Отрицательная сторона последних двух вариантов - ухудшение производительности.
☕️ Использовать ConcurrentHashMap и CopyOnWriteArrayList.
☕️ Преобразовать список в массив и перебирать массив.
☕️ Блокировать изменения списка на время перебора с помощью блока synchronized.
Отрицательная сторона последних двух вариантов - ухудшение производительности.
Для различных операционных систем символ разделителя различается. Для Windows это \, для Linux - /.
В Java получить разделитель для текущей операционной системы можно через обращение к статическому полю File.separator.
В Java получить разделитель для текущей операционной системы можно через обращение к статическому полю File.separator.
JSP расширяет технологию сервлетов, обеспечивая возможность создания динамических страниц с HTML-подобным синтаксисом.
Хотя создание представлений поддерживается и в сервлетах, но большая часть любой веб-страницы является статической, поэтому код сервлета в таком случае получается чересчур перегруженным, замусоренным и поэтому при его написании легко допустить ошибку.
Еще одним преимуществом JSP является горячее развертывание - возможность заменить одну страницу на другую непосредственно в контейнере без необходимости перекомпилировать весь проект или перезапускать сервер.
Однако рекомендуется избегать написания серьёзной бизнес-логики в JSP и использовать страницу только в качестве представления.
Хотя создание представлений поддерживается и в сервлетах, но большая часть любой веб-страницы является статической, поэтому код сервлета в таком случае получается чересчур перегруженным, замусоренным и поэтому при его написании легко допустить ошибку.
Еще одним преимуществом JSP является горячее развертывание - возможность заменить одну страницу на другую непосредственно в контейнере без необходимости перекомпилировать весь проект или перезапускать сервер.
Однако рекомендуется избегать написания серьёзной бизнес-логики в JSP и использовать страницу только в качестве представления.
👍1
☕️ InputStream и его наследники - совокупность для получения байтовых данных из различных источников;
☕️ OutputStream и его наследники - набор классов, определяющих потоковый байтовый вывод;
☕️ Reader и его наследники определяют потоковый ввод символов Unicode;
☕️ Writer и его наследники определяют потоковый вывод символов Unicode.
☕️ OutputStream и его наследники - набор классов, определяющих потоковый байтовый вывод;
☕️ Reader и его наследники определяют потоковый ввод символов Unicode;
☕️ Writer и его наследники определяют потоковый вывод символов Unicode.
👍1