Java Developer – Telegram
Java Developer
15.7K subscribers
1.86K photos
141 videos
2 files
2.09K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
⌨️ Преобразование строки в число

Если вам нужно преобразовать строку в числовой тип данных, используйте методы parse классов оберток примитивных типов. В данном коде мы рассмотрели пример преобразования строк в целочисленное (Integer) и дробное (Double) числа при помощи методов parseInt() и parseDouble().

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
741
Какие модификаторы доступа используются для доступа к методам и полям класса?
Anonymous Quiz
17%
static, final, abstract
82%
public, protected, private
1%
synchronized, volatile, transient
7
Вопрос с собеседования

Сколько создается новых объектов при добавлении нового элемента в HashMap?

Ответ: создается один новый объект статического вложенного класса Entry<K,V>

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2
👩‍💻 Apache Maven

Maven — это инструмент для автоматизации сборки проектов на основе описания их структуры в файлах на языке POM, являющемся подмножеством XML. Maven позволяет упростить процесс сборки и вносить изменения в проект, управлять библиотеками и зависимостями, а также помогает в управлении жизненным циклом проекта.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Вопрос с собеседования

Будет ли работать HashMap, если все добавляемые ключи будут иметь одинаковый hashCode()?

Ответ: да, будет, но в этом случае HashMap вырождается в связный список и теряет свои преимущества.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
7
⌨️ Инкапсуляция

Инкапсуляция — это механизм, который позволяет скрыть внутреннюю реализацию объекта от внешнего мира и предоставить доступ только к его публичным методам и свойствам. Так инкапсуляция обеспечивает защиту данных от неправильного использования и изменения, что повышает надежность и безопасность программы.

🔐 Для того, чтобы достичь инкапсуляции, требуется:
1. Назначить переменным класса модификатор доступа private
2. Создать публичные getter и setter методы для private-переменных

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
8
👩‍💻 Подклассы класса Writer и их предназначение:

Writer - абстрактный класс, описывающий символьный вывод;
BufferedWriter - буферизованный выходной символьный поток;
CharArrayWriter - выходной поток, который пишет в символьный массив;
FileWriter - выходной поток, пишущий в файл;
FilterWriter - абстрактный класс, предоставляющий интерфейс для классов-надстроек;
OutputStreamWriter - выходной поток, транслирующий байты в символы;
PipedWriter - выходной канал;
PrintWriter - выходной поток символов, включающий методы print() и println();
StringWriter - выходной поток, пишущий в строку;

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
3
⌨️ Сравнение массивов при помощи Arrays.equals

Чтобы проверить, равно ли содержимое двух массивов, Java предоставляет статический метод Arrays.equals. Этот метод будет выполнять параллельную итерацию по массивам для каждой позиции и применять оператор == для каждой пары элементов.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
5
👩‍💻 Spring Framework

Spring — это фреймворк для создания приложений на языке Java. Он предоставляет широкий спектр инструментов и функций, которые помогают упростить разработку, тестирование и развертывание приложений. Spring Framework включает в себя инверсию контроля, аспектно-ориентированное программирование, JDBC-шаблоны, ORM, интеграцию с другими фреймворками и технологиями, такими как Hibernate, JPA, Struts, JSF, Web Services и многими другими.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Надежный способ проверить, равны ли два значения типа double

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

Результаты сравнений при помощи Double.compare():
Значение = 0, если d1 == d2;
Значение < 0, если d1 < d2;
Значение > 0, если d1 > d2.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Вопрос с собеседования

Почему хранить пароль предпочтительнее в char[] или byte[], а не в String?

Ответ: во-первых, строка в виде литерала сразу раскрывает пароль, а также она всегда хранится в string-пуле. Во-вторых, byte[] или char[] можно сбросить после использования и удалить на них все ссылки.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Примитивные типы данных

byte — целые числа в диапазоне от -128 до 127 — 1 байт;
short — целые числа в диапазоне от -32768 до 32767 — 2 байта;
int — целые числа в диапазоне от -2 147 483 648 до 2 147 483 647 — 4 байта;
long — целые числа в диапазоне от 9223372036854775808 до 9223372036854775807 — 8 байтов;
float — числа с плавающей запятой в диапазоне от -3.4E+38 до 3.4E+38 — 4 байта;
double — числа с плавающей запятой в диапазоне от -1.7E+308 до 1.7E+308 — 8 байтов;
char — одиночные символы в UTF-16 — 2 байта;
boolean — значения true или false — 1 байт.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Укажите тернарный оператор:
Anonymous Quiz
11%
!
11%
^
56%
? :
22%
&&
👩‍💻 Сортировка пузырьком

Алгоритм сортировки пузырьком (Bubble Sort) представляет собой итерационный процесс, в котором сравниваются соседние элементы массива. Если элемент слева больше элемента справа, то значения меняются местами. Это продолжается до тех пор, пока все элементы не будут отсортированы по возрастанию.

В приведенном коде метод bubbleSort() использует входной параметр sortArray — массив, который нужно отсортировать. Внешний цикл for итерируется по каждому элементу массива, а внутренний цикл for начинается с первого элемента массива до предпоследнего индекса — sortArr.length - i - 1.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

Какой параметр запуска JVM используется для контроля размера стека потока?

Ответ: -Xss

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 Абстракция

Абстрагирование — это способ выделить набор общих характеристик объекта, исключая из рассмотрения частные и незначимые. Соответственно, абстракция — это набор всех таких характеристик.

Представьте, что водитель едет в автомобиле по оживлённому участку движения. Понятно, что в этот момент он не будет задумываться о химическом составе краски автомобиля, особенностях взаимодействия шестерёнок в коробке передач или влияния формы кузова на скорость (разве что, автомобиль стоит в глухой пробке и водителю абсолютно нечем заняться). Однако, руль, педали, указатель поворота он будет использовать регулярно.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Чем является ключевое слово «private»?
Anonymous Quiz
2%
Типом данных
3%
Оператором
2%
Литералом
93%
Модификатором доступа
⌨️ OutOfMemoryError

OutOfMemoryError — одна из критических ошибок во время исполнения программы, связанная с работой виртуальной машины Java (JVM). Вызывается в тех случаях, когда JVM не может выделить объект, потому что на него не хватает памяти.

Некоторые виды OutOfMemoryError:

OutOfMemoryError: Java heap space — объект не может быть размещен в куче Java из-за недостатка памяти;

OutOfMemoryError: GC Overhead limit exceeded — объем данных едва помещается в кучу, сборщик мусора работает все время, а программа Java работает очень медленно;

OutOfMemoryError: Requested array size exceeds VM limit — приложение попыталось выделить память для массива, размер которого превышает размер кучи;

OutOfMemoryError: Metaspace — в куче закончилось место, выделенное для метаданных;

OutOfMemoryError: request size bytes for reason. Out of swap space — произошел некоторый сбой при попытке выделения памяти из кучи;

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Вопрос с собеседования

Можно ли в конструкторе использовать return?

Ответ: можно, но без возвращаемого значения справа от return. То есть можно использовать return как вспомогательную конструкцию при вычислениях в конструкторе, чтобы срочно закончить (прервать) выполнение дальнейшего кода и завершить инициализацию объекта.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
1
С каким модификатором доступа можно обращаться к членам класса из любой точки программы?
Anonymous Quiz
3%
private
2%
protected
91%
public
4%
default