Топ контрибуторов
loading
loading
Знаете ли Вы, что

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

Лента обновлений
ссылка Jan 20 15:42
Комментарий от PandaPahom:
тест в целом не плохой но лучше бы разделить по сфера...
ссылка Jan 20 15:19
Комментарий от PandaPahom:
Классно что он краткий и достаточно информативный, с ...
ссылка Jan 20 09:01
Комментарий от voges48542:
это называется "замыкание"
ссылка Jan 19 06:38
Комментарий от inkarnadin:
В том случае, если "в любом месте, где допустимо испо...
ссылка Jan 17 21:22
Комментарий от vmermolenko:
огонь
Статистика

Тестов: 153, вопросов: 8596. Пройдено: 493297 / 2404225.

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 сделает объект доступным для сборщика мусора, но нет никакой гарантии, когда сборка мусора начнется и начнется ли вообще.