#Вопросы_с_собеседования
❓Как добавить 1 неделю, 1 месяц, 1 год, 10 лет к текущей дате с использованием Date Time API?
Ответ на картинке.
❓Как добавить 1 неделю, 1 месяц, 1 год, 10 лет к текущей дате с использованием Date Time API?
Ответ на картинке.
👍32
Учебник по Java: списочный массив ArrayList
ArrayList – это реализация динамического использования массива в Java.
Смотреть статью
ArrayList – это реализация динамического использования массива в Java.
Смотреть статью
Библиотека программиста
☕ Учебник по Java: списочный массив ArrayList
В продолжении серии постов о языке программировании Java поговорим об ArrayList. Для чего он нужен и как его использовать.
👍14😱1
#Вопросы_с_собеседования
❓Как одним вызовом из List получить List со всеми элементами, кроме первых и последних 3-х?
Ответ на картинке.
❓Как одним вызовом из List получить List со всеми элементами, кроме первых и последних 3-х?
Ответ на картинке.
👍39
#Вопросы_с_собеседования
❓Что такое «fail-fast поведение»?
fail-fast поведение означает, что при возникновении ошибки или состояния, которое может привести к ошибке, система немедленно прекращает дальнейшую работу и уведомляет об этом. Использование fail-fast подхода позволяет избежать недетерминированного поведения программы в течение времени.
В Java Collections API некоторые итераторы ведут себя как fail-fast и выбрасывают
Реализация такого поведения осуществляется за счет подсчета количества модификаций коллекции (modification count):
• при изменении коллекции счетчик модификаций так же изменяется;
• при создании итератора ему передается текущее значение счетчика;
• при каждом обращении к итератору сохраненное значение счетчика сравнивается с текущим, и, если они не совпадают, возникает исключение.
❓Что такое «fail-fast поведение»?
fail-fast поведение означает, что при возникновении ошибки или состояния, которое может привести к ошибке, система немедленно прекращает дальнейшую работу и уведомляет об этом. Использование fail-fast подхода позволяет избежать недетерминированного поведения программы в течение времени.
В Java Collections API некоторые итераторы ведут себя как fail-fast и выбрасывают
ConcurrentModificationException
, если после его создания была произведена модификация коллекции, т.е. добавлен или удален элемент напрямую из коллекции, а не используя методы итератора.Реализация такого поведения осуществляется за счет подсчета количества модификаций коллекции (modification count):
• при изменении коллекции счетчик модификаций так же изменяется;
• при создании итератора ему передается текущее значение счетчика;
• при каждом обращении к итератору сохраненное значение счетчика сравнивается с текущим, и, если они не совпадают, возникает исключение.
👍25❤1
#Вопросы_с_собеседования
Как вывести на экран 5 случайных чисел в порядке возрастания в одну строку?
Ответ на картинке.
Как вывести на экран 5 случайных чисел в порядке возрастания в одну строку?
Ответ на картинке.
👍49
Java RegEx: использование регулярных выражений на практике
Рассмотрим регулярные выражения в Java, затронув синтаксис и наиболее популярные конструкции, а также продемонстрируем работу RegEx на примерах.
Смотреть статью
Рассмотрим регулярные выражения в Java, затронув синтаксис и наиболее популярные конструкции, а также продемонстрируем работу RegEx на примерах.
Смотреть статью
Tproger
Регулярные выражения в Java: спецификации языка, примеры, задачи
Рассмотрим регулярные выражения в Java с учётом особенностей языка и с практическим применением для решения нескольких задач.
👍8
#Вопросы_с_собеседования
❓Как, используя LinkedHashMap, сделать кэш c «invalidation policy»?
Необходимо использовать LRU-алгоритм (Least Recently Used algorithm) и
Стоит заметить, что
❓Как, используя LinkedHashMap, сделать кэш c «invalidation policy»?
Необходимо использовать LRU-алгоритм (Least Recently Used algorithm) и
LinkedHashMap
с access-order. В этом случае при обращении к элементу он будет перемещаться в конец списка, а наименее используемые элементы будут постепенно группироваться в начале списка. Так же в стандартной реализации LinkedHashMap
есть метод removeEldestEntries()
, который возвращает true
, если текущий объект LinkedHashMap
должен удалить наименее используемый элемент из коллекции при использовании методов put()
и putAll()
.Стоит заметить, что
LinkedHashMap
не позволяет полностью реализовать LRU-алгоритм, поскольку при вставке уже имеющегося в коллекции элемента порядок итерации по элементам не меняется.👍12❤1
#Вопросы_с_собеседования
❓Зачем нужен HashMap, если есть Hashtable?
• Методы класса
•
• Iterator у
❓Зачем нужен HashMap, если есть Hashtable?
• Методы класса
Hashtable
синхронизированы, что приводит к снижению производительности, а HashMap
- нет;•
HashTable
не может содержать элементы null
, тогда как HashMap
может содержать один ключ null
и любое количество значений null
;• Iterator у
HashMap
, в отличие от Enumeration у HashTable
, работает по принципу «fail-fast» (выдает исключение при любой несогласованности данных).Hashtable
это устаревший класс и его использование не рекомендовано.👍31
Простой пример JDBC для начинающих
JDBC (Java DataBase Connectivity — соединение с базами данных на Java) предназначен для взаимодействия Java-приложения с различными системами управления базами данных (СУБД).
Смотреть статью
JDBC (Java DataBase Connectivity — соединение с базами данных на Java) предназначен для взаимодействия Java-приложения с различными системами управления базами данных (СУБД).
Смотреть статью
Хабр
Простой пример JDBC для начинающих
Здравствуйте! В этой статье я напишу простой пример соединения с базами данных на Java.Эта статья предназначена новичкам.Здесь я опишу каждую строчку объясню что...
👍18
#Вопросы_с_собеседования
❓Как получить коллекцию только для чтения?
При помощи:
•
❓Как получить коллекцию только для чтения?
При помощи:
•
Collections.unmodifiableList(list);
• Collections.unmodifiableSet(set);
• Collections.unmodifiableMap(map).
Эти методы принимают коллекцию в качестве параметра, и возвращают коллекцию только для чтения с теми же элементами внутри.👍33
Tapestry
Tapestry объектно-ориентированный Java фреймворк для создания веб-приложений, реализующих модель MVC. Tapestry был создан Howard Lewis Ship и продолжает активно развиваться. Фреймворк является проектом верхнего уровня в организации Apache Software Foundation.
Посмотреть документацию можно здесь.
Tapestry объектно-ориентированный Java фреймворк для создания веб-приложений, реализующих модель MVC. Tapestry был создан Howard Lewis Ship и продолжает активно развиваться. Фреймворк является проектом верхнего уровня в организации Apache Software Foundation.
Посмотреть документацию можно здесь.
👍19❤2
Что такое ReadWriteLock?
Существует реализующий интерфейс
ReadWriteLock
– это интерфейс расширяющий базовый интерфейс Lock
. Используется для улучшения производительности в многопоточном процессе и оперирует парой связанных блокировок (одна - для операций чтения, другая - для записи). Блокировка чтения может удерживаться одновременно несколькими читающими потоками, до тех пор, пока не появится записывающий. Блокировка записи является эксклюзивеной.Существует реализующий интерфейс
ReadWriteLock
класс ReentrantReadWriteLock
, который поддерживает до 65535 блокировок записи и до стольки же блокировок чтения.👍19
JFreeChart
Библиотека для создания диаграмм прямо на Java — круговых, объёмных и линейных, а также графиков. Позволяет настраивать фон, оси, заголовки. Полученные диаграммы можно сохранять в JPEG и PNG форматы.
Посмотреть документацию можно здесь.
Библиотека для создания диаграмм прямо на Java — круговых, объёмных и линейных, а также графиков. Позволяет настраивать фон, оси, заголовки. Полученные диаграммы можно сохранять в JPEG и PNG форматы.
Посмотреть документацию можно здесь.
👍13
#Вопросы_с_собеседования
Правда ли, что примитивные типы данных всегда хранятся в стеке, а экземпляры ссылочных типов данных — в куче?
Ответ:
Нет. Примитивные поля экземпляра класса хранятся не в стеке, а в куче, а любой объект (всё, что создаётся при помощи оператора new) хранится в куче.
Правда ли, что примитивные типы данных всегда хранятся в стеке, а экземпляры ссылочных типов данных — в куче?
Ответ:
👍27👎6
java8-tutorial
Подробный гайд по Java 8, шаг за шагом описывающий все возможности и особенности Java. Короткие примеры грамотно иллюстрируют основные концепции: минимум текста, максимум наглядности. Данный репозиторий может быть как справочником, так и учебником.
https://github.com/winterbe/java8-tutorial
Подробный гайд по Java 8, шаг за шагом описывающий все возможности и особенности Java. Короткие примеры грамотно иллюстрируют основные концепции: минимум текста, максимум наглядности. Данный репозиторий может быть как справочником, так и учебником.
https://github.com/winterbe/java8-tutorial
GitHub
GitHub - winterbe/java8-tutorial: Modern Java - A Guide to Java 8
Modern Java - A Guide to Java 8. Contribute to winterbe/java8-tutorial development by creating an account on GitHub.
👍8😱2