Проверка подключения к Интернету с помощью Java
В нашем случае программа выводит 0, если Интернет подключен, и 1, если Интернет не подключен.
Подробнее можно ознакомиться здесь.
В нашем случае программа выводит 0, если Интернет подключен, и 1, если Интернет не подключен.
Подробнее можно ознакомиться здесь.
👍26👎12
#Вопросы_с_собеседования
Существуют ли ситуации, когда блок finally не будет выполнен?
Ответ:
Например, когда JVM «умирает» - в такой ситуации finally недостижим и не будет выполнен, так как происходит принудительный системный выход из программы.
Существуют ли ситуации, когда блок finally не будет выполнен?
Ответ:
👍32👎2
Что выведет код сверху?
Anonymous Quiz
59%
B.print() is called
6%
Ошибку при выполнении
19%
Ошибку компиляции
16%
A.print() is called
👍28😱3👎2
#Вопросы_с_собеседования
Где разрешена инициализация статических/нестатических полей?
• Статические поля можно инициализировать при объявлении, в статическом или нестатическом блоке инициализации.
• Нестатические поля можно инициализировать при объявлении, в нестатическом блоке инициализации или в конструкторе.
Где разрешена инициализация статических/нестатических полей?
• Статические поля можно инициализировать при объявлении, в статическом или нестатическом блоке инициализации.
• Нестатические поля можно инициализировать при объявлении, в нестатическом блоке инициализации или в конструкторе.
👍16
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.
👍18
#Вопросы_с_собеседования
Где и как вы можете использовать приватный конструктор?
Приватный (помеченный ключевым словом private, скрытый) конструктор может использоваться публичным статическим методом генерации объектов данного класса. Также доступ к нему разрешён вложенным классам и может использоваться для их нужд.
Где и как вы можете использовать приватный конструктор?
Приватный (помеченный ключевым словом private, скрытый) конструктор может использоваться публичным статическим методом генерации объектов данного класса. Также доступ к нему разрешён вложенным классам и может использоваться для их нужд.
👍17
📌 Lombok — библиотека, генерирующая за вас бойлерплейт (шаблонный) код. Даёт возможность создавать классы ускоренно, так как не надо вручную прописывать, например, геттеры и сеттеры, всё делается с помощью аннотаций.
Вы можете создавать неизменяемые классы вместе с типовыми методами и геттерами к ним — с помощью @Value. Все поля класса будут финализированы и сделаны приватными.
Ознакомиться с проектом подробнее можно с помощью документации: https://projectlombok.org/
Вы можете создавать неизменяемые классы вместе с типовыми методами и геттерами к ним — с помощью @Value. Все поля класса будут финализированы и сделаны приватными.
Ознакомиться с проектом подробнее можно с помощью документации: https://projectlombok.org/
👍18
#Вопросы_с_собеседования
Как устроен HashMap?
HashMap состоит из «корзин» (bucket). С технической точки зрения «корзины» — это элементы массива, которые хранят ссылки на списки элементов. При добавлении новой пары «ключ-значение», вычисляет хэш-код ключа, на основании которого вычисляется номер корзины (номер ячейки массива), в которую попадет новый элемент.
Если корзина пустая, то в нее сохраняется ссылка на вновь добавляемый элемент, если же там уже есть элемент, то происходит последовательный переход по ссылкам между элементами в цепочке, в поисках последнего элемента, от которого и ставится ссылка на вновь добавленный элемент. Если в списке был найден элемент с таким же ключом, то он заменяется.
Как устроен HashMap?
HashMap состоит из «корзин» (bucket). С технической точки зрения «корзины» — это элементы массива, которые хранят ссылки на списки элементов. При добавлении новой пары «ключ-значение», вычисляет хэш-код ключа, на основании которого вычисляется номер корзины (номер ячейки массива), в которую попадет новый элемент.
Если корзина пустая, то в нее сохраняется ссылка на вновь добавляемый элемент, если же там уже есть элемент, то происходит последовательный переход по ссылкам между элементами в цепочке, в поисках последнего элемента, от которого и ставится ссылка на вновь добавленный элемент. Если в списке был найден элемент с таким же ключом, то он заменяется.
👍39
#Вопросы_с_собеседования
Какие есть особенности класса String?
🧠 Это неизменяемый (immutable) и финализированный тип данных;
🧠 Все объекты класса String JVM хранит в пуле строк;
🧠 Объект класса String можно получить, используя двойные кавычки;
🧠 Можно использовать оператор + для конкатенации строк;
🧠 Начиная с Java 7 строки можно использовать в конструкции switch.
Какие есть особенности класса String?
🧠 Это неизменяемый (immutable) и финализированный тип данных;
🧠 Все объекты класса String JVM хранит в пуле строк;
🧠 Объект класса String можно получить, используя двойные кавычки;
🧠 Можно использовать оператор + для конкатенации строк;
🧠 Начиная с Java 7 строки можно использовать в конструкции switch.
👍35
🧠 Сравнение объектов в Java
Сравнение объектов является важной функцией объектно-ориентированных языков программирования. В этой статье рассматриваются некоторые функции языка Java, которые позволяют сравнивать объекты. Также авторы статьи обращают внимание на подобные функции во внешних библиотеках.
Смотреть статью
Сравнение объектов является важной функцией объектно-ориентированных языков программирования. В этой статье рассматриваются некоторые функции языка Java, которые позволяют сравнивать объекты. Также авторы статьи обращают внимание на подобные функции во внешних библиотеках.
Смотреть статью
Хабр
Сравнение объектов в Java
Вступление Сравнение объектов является важной функцией объектно-ориентированных языков программирования. В этом руководстве мы рассмотрим некоторые функции языка Java, которые позволяют нам сравнивать...
👍18
Collections.min/max
Удивительно, насколько часто можно встретить написанный вручную код, который находит максимальный или минимальный элемент чего-то по какому-нибудь критерию.
Казалось бы, такая тривиальная задача должна быть давно решена. На самом деле она и так давно решена: есть методы Collections.min и Collections.max. Раньше было не очень удобно писать компараторы, но в Java-8 всё стало легче.
К примеру, вам нужно найти ключ в Map, соответствующий максимальному значению. Воспользуйтесь кодом с картинки.
Удивительно, насколько часто можно встретить написанный вручную код, который находит максимальный или минимальный элемент чего-то по какому-нибудь критерию.
Казалось бы, такая тривиальная задача должна быть давно решена. На самом деле она и так давно решена: есть методы Collections.min и Collections.max. Раньше было не очень удобно писать компараторы, но в Java-8 всё стало легче.
К примеру, вам нужно найти ключ в Map, соответствующий максимальному значению. Воспользуйтесь кодом с картинки.
👍37
👍27😱11👎2
#Вопросы_с_собеседования
❓Что такое checked и unchecked exception?
В Java все исключения делятся на два типа:
• checked (контролируемые/проверяемые исключения) должны обрабатываться блоком catch или описываться в заголовке метода (например, throws IOException). Наличие такого обработчика/модификатора в заголовке метода проверяется на этапе компиляции;
• unchecked (неконтролируемые/непроверяемые исключения), к которым относятся ошибки Error (например, OutOfMemoryError), обрабатывать которые не рекомендуется и исключения времени выполнения, представленные классом RuntimeException и его наследниками (например, NullPointerException), которые могут не обрабатываться блоком catch и не быть описанными в заголовке метода.
❓Что такое checked и unchecked exception?
В Java все исключения делятся на два типа:
• checked (контролируемые/проверяемые исключения) должны обрабатываться блоком catch или описываться в заголовке метода (например, throws IOException). Наличие такого обработчика/модификатора в заголовке метода проверяется на этапе компиляции;
• unchecked (неконтролируемые/непроверяемые исключения), к которым относятся ошибки Error (например, OutOfMemoryError), обрабатывать которые не рекомендуется и исключения времени выполнения, представленные классом RuntimeException и его наследниками (например, NullPointerException), которые могут не обрабатываться блоком catch и не быть описанными в заголовке метода.
👍32