Библиотека задач по Java | тесты, код, задания
Відкрити в Telegram
Задачи и тесты по Java для тренировки и обучения. По рекламе: @tproger_sales_bot Учиться у нас: clc.to/KV5NkA Для обратной связи: @proglibrary_feeedback_bot
Показати більше5 577
Підписники
-124 години
-57 днів
-3530 днів
Архів дописів
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Что вы знаете о функции main()?
Метод main() — точка входа в программу. В приложении может быть несколько таких методов. Если метод отсутствует, то компиляция возможна, но при запуске будет получена ошибка Error: Main method not found.
Сколько объектов станут доступны для сборщика мусора после выполнения строки 1?
Приведите примеры использования fork/join framework
Как следует из названий связанных классов, ForkJoinPool используется для рекурсивных задач. Это такие задачи, которые можно делить на порции, подзадачи. Отделение подзадачи — это операция fork, финальная агрегация результатов подзадач — join.
Реализация fork/join для самых популярных общих случаев уже есть в стандартной библиотеке, работать непосредственно с классом ForkJoinPool не потребуется. Метод parallelSetAll из класса Arrays применяет fork/join для генерации элементов массива; parallelPrefix для модификации; parallelSort для сортировки.
Фреймворк неявно работает и в параллельных стримах. В этом случае логику fork определяет его сплитератор, а join выполняют потоковые операции. Классический пример:
Arrays.stream(new int[]{1, 2, 3, 4}).parallel().sum();
Существуют целые категории частных задач, решения которых хорошо параллелизуются: векторные операции, работа с графами, поиск данных. Для специфичных задач придется реализовывать собственные RecursiveTask, RecursiveAction или Spliterator.
Какой результат работы кода выше?
Что выведет следующий код: int i = 0; System.out.print(++i); System.out.print(i++); System.out.print(i);
Какие из методов отсутствуют в String?
Какие модификаторы доступа используются для доступа к методам и полям класса?
Какие типы ссылок на объекты существуют в Java?
Что такое классы-оболочки? Что такое автоупаковка?
Для каждого из восьми примитивных типов в Java существует класс-оболочка, который можно использовать для обертывания примитивного значения и использования его как объекта. Эти классы, соответственно, Boolean, Byte, Short, Character, Integer, Float, Long и Double. Эти оболочки могут быть полезны, например, когда вам нужно поместить примитивное значение в общую коллекцию, которая принимает только объекты.
List list = new ArrayList();
list.add(new Integer(5));
Чтобы избежать необходимости вручную преобразовывать примитивы туда и обратно, компилятор Java обеспечивает автоматическое преобразование, известное как автоупаковка/автораспаковка.
List list = new ArrayList();
list.add(5);
int value = list.get(0);
Что значит ключевое слово extends?
