Java Learning
19.4K subscribers
1.58K photos
1 video
3 files
959 links
№ 5079899194

Обучающий канал по Java

Ссылка для друга - https://t.iss.one/+ZEYYht6-46w5MDM6

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
Что выведет код сверху?
Anonymous Quiz
20%
38 43
30%
295 300
40%
39 44
11%
295.4 300.6
👍25😱11👎1
#Вопросы_с_собеседования

Какой способ клонирования предпочтительней?

Наиболее безопасным и, следовательно, предпочтительным способом клонирования является использование специализированного конструктора копирования:

• Отсутствие ошибок наследования (не нужно беспокоиться, что у наследников появятся новые поля, которые не будут склонированы через метод clone());
• Поля для клонирования указываются явно;
• Возможность клонировать даже final поля.
👍16
#Вопросы_с_собеседования

Что произойдет при вызове
Iterator.next() без предварительного вызова Iterator.hasNext()?

Если итератор указывает на последний элемент коллекции, то возникнет исключение NoSuchElementException, иначе будет возвращен следующий элемент.
👍14😱1
#вопросы_с_собеседований
При помощи чего формируются запросы к базе данных?

Для выполнения запросов к базе данных в Java используются три интерфейса:

☕️ java.sql.Statement - для операторов SQL без параметров;
☕️ java.sql.PreparedStatement - для операторов SQL с параметрами и часто выполняемых операторов;
☕️ java.sql.CallableStatement - для исполнения хранимых в базе процедур.

Объекты-носители интерфейсов создаются при помощи методов объекта java.sql.Connection:

☕️ java.sql.createStatement() возвращает объект Statement;
☕️ java.sql.prepareStatement() возвращает объект PreparedStatement;
☕️ java.sql.prepareCall() возвращает объект CallableStatement;
👍25
👍1👎1
Что выведет код сверху?
Anonymous Quiz
46%
256 0
17%
64 0
20%
0 256
17%
0 64
👍16😱9
Узнаем IP-адрес своего компьютера

InetAddress.getLocalHost() используется для поиска частных IP - адресов, используемых в локальной сети или любой другой локальной сети.

Подробнее объяснение кода можно найти здесь.
👍25😱3
Как получить текущее время с точностью до миллисекунд используя Date Time API?

Ответ приведен на картинке.
👍32👎1
#Вопросы_с_собеседования

Что будет, если добавлять элементы в TreeSet по возрастанию?

В основе TreeSet лежит красно-черное дерево, которое умеет само себя балансировать. В итоге, TreeSet все равно в каком порядке вы добавляете в него элементы, преимущества этой структуры данных будут сохраняться.
👍19
Vector API в Java: краткий обзор и тестирование

Vector API в Java сейчас — это модуль, который предоставляет возможность выполнять векторные вычисления, ускоряемые аппаратно.

Смотреть статью
👍11
Замер времени с помощью Instant и Duration

В Java 8 добавили новый java.time API. В частности, ля измерения времени подойдут два новых класса – Instant и Duration. Оба эти класса иммутабельны.

Instant обозначает момент времени с начала эпохи Unix (1970-01-01T00:00:00Z). Для создания момента мы используем метод Instant.nоw(). После того, как мы создали два момент, вычислим разницу в миллисекундах.

Рекомендуется использовать именно этот подход в Java 8 и выше.
👍28😱1
Обзор Spring-компонентов. Часть 1 – Spring Boot и фреймворк интеграции

В обзоре собраны краткие описания каждого компонента экосистемы, чтобы дать понимание – как выглядит мир Spring, и ориентиры – что из этого стоит изучить глубже и применять в проекте.

Смотреть статью
👍12
#Вопросы_с_собеседования

Сравните Iterator и ListIterator

ListIterator расширяет интерфейс Iterator
ListIterator может быть использован только для перебора элементов коллекции List;
Iterator позволяет перебирать элементы только в одном направлении, при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous();
ListIterator не указывает на конкретный элемент: его текущая позиция располагается между элементами, которые возвращают методы previous() и next().
• При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала.
👍23
#Вопросы_с_собеседования

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

Наиболее надежный и точный способ проверить это — использовать Dоuble.соmpare() и сравнить значение с нулем.
👍39
Проверка нечетности

Можно ли использовать первый код для точного определения нечетности числа?

Надеюсь, вы заметили подвох. Если мы решим проверить таким образом отрицательное нечетное число (-5, к примеру), остаток от деления не будет равен единице (а чему он равен?). Поэтому используйте более точный второй метод.

Он не только решает проблему отрицательных чисел, но и работает более продуктивно, чем его предшественник. Арифметические и логические операции выполняются гораздо быстрее умножения и деления.
👍34👎4
#Вопросы_с_собеседования

Что такое механизм try-with-resources?

Данная конструкция, которая появилась в Java 7, позволяет использовать блок try-catch не заботясь о закрытии ресурсов, используемых в данном сегменте кода. Ресурсы объявляются в скобках сразу после try, а компилятор уже сам неявно создаёт секцию finally, в которой и происходит освобождение занятых в блоке ресурсов. Под ресурсами подразумеваются сущности, реализующие интерфейс java.lang.Autocloseable.

Стоит заметить, что блоки catch и явный finally выполняются уже после того, как закрываются ресурсы в неявном finally.
👍23
#Вопросы_с_собеседования

В каких пакетах расположены классы потоков ввода/вывода?

java.io, java.nio. Для работы с потоками компрессированных данных используются классы из пакета java.util.zip.
👍21