Java8, class loaders, reference types, xml Flashcards Preview

Java Core > Java8, class loaders, reference types, xml > Flashcards

Flashcards in Java8, class loaders, reference types, xml Deck (51)
Loading flashcards...
1

Какие новшества появились в Java 8?

Lamba expression
Method references
default method
new tools
stream API
Date Time API
Optional
Nashorn, JavaScript Engine

2

Что такое лямбда выражения, какой у них синтаксис?

(argument)->(body)

3

Для чего используются лямбда выражения?

Уменьшение количества кода
Последовательное и параллельное выполнение

4

Какая область видимости лямбда выражений?

Лямбда-выражения имеют доступ к области видимости в которой они были объявлены. Лямбда-выражения в отличии от локальных и анонимных классов не порождают своей области видимости объекта, то есть, не переопределяют переменную this.

5

Что такое функциональные интерфейсы?

Это интерфейсы, которые должны содержать только один абстрактный метод.
Runablr, Callable,Comparator, ActionListener

6

Для используется аннотация  @FunctionalInterface?

Для обозначения интерфейса функциональным

7

Могут ли лямбда-выражения работать с статическими полями?

В отличии от локальных переменных, мы можем записывать значения в экземплярные поля класса и статические переменные внутри лямбда-выражений

8

Для чего используется оператор ::?

Для получения ссылки на метод или конструктор

9

Какие есть виды ссылок на методы?

Ссылка на статический метод (ContainingClass::staticMethodName)
Ссылка на метод конкретного объекта
(ContainingObject::instanceMethodName)
Ссылка на метод произвольного объекта конкретного типа
(ContainingType::methodName)
Ссылка на конструктор
(ClassName::new)

10

Как определяется какой конструктор будет передан через ClassName::new?

Автоматически, компилятором. Сигнатуры должны совпадать.

11

Что такое предикаты?

Предикаты - это функции, принимающие один аргумент, и возвращающие значение типа boolean.

12

Что позволяет делать интерфейс Function?

Функции принимают один аргумент и возвращают некоторый результат. Методы по умолчанию могут использоваться для построения цепочек вызовов(compose, andThen)

13

Что такое поставщики (suppliers) в java8?

поставщики (suppliers) предоставляют результат заданного типа. В отличии от функции, поставщики не принимают аргументов.

14

Что такое потребители(Consumers)

Потребители представляют собой операции, которые производятся на одним входным аргуметом

15

Что такое опциональные значения(optional)

Optionals - это контейнер для значения, которое может быть null. Optionals не являются функциональными интерфейсами, однако удобное средство предотвращения NPE

16

Что такое потоки java.util.Stream?

java.util.Stream представляет собой последовательность элементов, над которой можно проводить операции (промежуточные - intermediate или конечные - terminal). Конечные операции возвращают результат определенного типа, а промежуточные операции возвращают тот же поток.

17

Что позволяют сделать потоки java.util.Stream?

Фильтрация
Сортировка данных
Конвертация
Поиск по шаблону

18

Поддерживают ли потоки реализацию Map

Нет

19

Что делают операции filter и forEach?

filter Фильтрует все элементы потока
Принимает предикат. Промежуточная над результатом.
forEach принимает функцию, которая вызывается для каждого элемента в (уже отфильтрованом) поток. Конечная операция.

20

Что такое операция Sorted?

Промежуточная
возвращает отсортированное представление потока
Сортирует в обычном порядке, если не предоставлен другой компаратор

21

Что делает операция map?

map преобразовывает каждый элемент в другой объект при помощи переданной функции
Промежуточная

22

Для чего предназначена операция match?

Для проверки удовлетворяет ли поток заданному предикату, используются различные операции сопоставления(match) Все операции сопоставления являются конечными и возвращается результат boolean

23

Что такое операция Count?

Count возвращает количество элементов в потоке(long)
Конечная

24

Что делает операция reduce()?

Производит свертку элементов потока по заданной функции(optional)

25

Как вызвать параллельный стрим?

values.parallelStream()

26

Какие новые методы добавлены к интерфейсу Map в java 8?

getOrDefault()
forEach()
replaceAll()
putIfAbsent()
remove(Object key, Object value)
computeIfAbsent()
computeIfPresent()
merge()

27

Что представляет собой класс Clock

Содержит в себе текущее время и дату в зависимости от локали. Можно получить вреся в миллисекундах, а также инстан даты.

28

Как в java 8 представлены часовые пояса

ZoneID

29

Чем отличается LocalDate от LocalTime?

LocalDate представляет конкретную дату
Localtime время с учетом часового пояса
Оба immutable

30

Какое средство форматирования даты и времени?

DateTimeFormatter