Try English version of Quizful



Раздаем бесплатные Q! подробности в группе Quizful.Alpha-test
Партнеры
Рекрутерам: Прескрининг кандидатов about
Топ контрибуторов
loading
loading
Знаете ли Вы, что

Список полученных сертификатов находится на странице Вашего профиля. Сертификаты можно распечатать или разместить на Вашем сайте.

Лента обновлений
ссылка 15:12:18
Комментарий от C00Lman:
В векторе же константный поиск. Почему он в правильных о...
ссылка 13:19:05
Комментарий от MikeVazovskiy:
Разве в C# есть деструкторы? По-моему в C# финализ...
ссылка 08:27:14
Комментарий от Russik:
"top будет иметь приоритет." т.е ответ вверх на 20px?
ссылка 06:45:53
Комментарий от Saddius:
отвратительная статья.
ссылка 02:17:01
Комментарий от ssf:
Спасибо большое за объяснение!
Статистика

Тестов: 152, вопросов: 8542. Пройдено: 369590 / 1788783.

Java - Основы - Общие вопросы (basics)

Общие вопросы по Java

Одним из разделов в тесте по Java является раздел общих вопросов. Сюда входят вопросы следующего плана:

  • Основные термины (класс, объект, и т.д.)
  • Основные аббревиатуры (JDK, JRE, и т.д.)
  • Понимание принципов работы виртуальной машины java
  • Понимание принципов работы сборщика мусора (garbage collector)
  • Умение запустить простую программу

На что обратить внимание

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

Если вопрос содержит фрагмент кода на java сперва убедитесь, что код компилируется, затем пересмотрите код на возможные ошибки времени выполнения (runtime exceptions) и только потом переходите к "выполнению" кода в уме.

Если в вопросе требуется выбрать несколько вариантов ответов, не спешите и прочтите все варианты, затем начните читать еще раз и отмечайте правильные, и наконец прочтите варианты ответов еще раз чтобы убедиться в правильности ответов.

Примеры общих вопросов по Java

Ниже представлены несколько примеров общих вопросов по Java с указанием правильных ответов и минимальным объяснением.

Пример 1

Что произойдет после компиляции кода и запуска программы без аргументов:


public class Main {
    public static void main(String[] args) {
        System.out.println(args.length);
    }
} 
  • 1. Код не скомпилируется
  • 2. Код скомпилируется, но во время выполнения будет выброшено исключение NullPointerException
  • 3. Код скомпилируется, а на консоль будет выведено число '0'
  • 4. Код скомпилируется, но ничего не выведет на консоль

Правильным ответом бует ответ номер 3. Метод main является точкой входа в любую программу на java. Данный метод может принимать параметры снаружи. Эти параметры помещаются в массив и затем могут использоваться внутри программного кода. Массив аргументов инициализируется изначально, а значит NullPointerException брошен не будет, даже при нулевом количестве аргументов.

Пример 2

Как можно уничтожить объект в Java?

  • 1. присвоить null всем ссылкам на объект
  • 2. вызвать Runtime.getRuntime().gc()
  • 3. вызвать метод finalize() у объекта
  • 4. этого нельзя сделать вручную
  • 5. вызвать деструктор у объекта

Правильный ответ - 4 - этого нельзя сделать вручную. Метод finalize используется в основном для освобождения ресурсов перед уничтожением объекта. Понятия деструктор в java нет (деструкторы есть в c++).

Вызов Runtime.getRuntime().gc() всего лишь дает запрос виртуальной машине о том, что было бы неплохо начать сборку мусора.

Наконец присвоение всем ссылкам на объект значения null сделает объект доступным для сборщика мусора, но нет никакой гарантии, когда сборка мусора начнется и начнется ли вообще.