ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

Java Geek

Java Geek

Открыть в Telegram

Практичные советы, лайфхаки и код для Java-разработчиков. Каждый пост — реальная польза. Учим Java на примерах. По всем вопросам @evgenycarter

Больше
2 353
Подписчики
+124 часа
-37 дней
-1430 дней
Архив постов
Метод repeat() Этот метод копирует содержимое строки заданное количество раз и возвращает результат в одной строке. Синтаксис
Метод repeat() Этот метод копирует содержимое строки заданное количество раз и возвращает результат в одной строке. Синтаксис: String repeat(int count). @java_geek

JSON, сериализация JSON – невероятно удобный и полезный синтаксис для хранения и обмена данными. Java полностью поддерживает
JSON, сериализация JSON – невероятно удобный и полезный синтаксис для хранения и обмена данными. Java полностью поддерживает его. В данном примере кода рассмотрим пример сериализации данных. @java_geek

Array vs ArrayList Выбор между Array (стандартным Java-массивом) и ArrayList зависит от специфики задачи на Java, которую тре
Array vs ArrayList Выбор между Array (стандартным Java-массивом) и ArrayList зависит от специфики задачи на Java, которую требуется решить. Помните о следующих особенностях этих типов: ☕️ Array имеет фиксированный размер и память для него выделяется в момент объявления, а размер ArrayList может динамически изменяться; ☕️ Массивы Java работают гораздо быстрее, а в ArrayList намного проще добавлять/удалять элементы; ☕️ При работе с Array велика вероятность получить ошибку ArrayIndexOutOfBoundsException; ☕️ У ArrayList только одно измерение, а вот массивы Java могут быть многомерными. @java_geek

Метод concat() Возвращает строку со значением строки, переданной в метод и приложенной к концу строки, используемой для вызов
Метод concat() Возвращает строку со значением строки, переданной в метод и приложенной к концу строки, используемой для вызова этого метода. Проще говоря метод concat() в Java объединяет строки, путем добавления одной строки в конец к другой. @java_geek

Объединение хеш-таблиц Объединять два хеша, итерируя их значения вручную, весьма неэффективно. Вот альтернативное решение это
Объединение хеш-таблиц Объединять два хеша, итерируя их значения вручную, весьма неэффективно. Вот альтернативное решение этой задачи, которое точно вам понравится. @java_geek

JIT-оптимизация Java-код обрабатывается с помощью JIT-компиляции: сначала транслируется в платформонезависимый байт-код, а уж
JIT-оптимизация Java-код обрабатывается с помощью JIT-компиляции: сначала транслируется в платформонезависимый байт-код, а уже после этого в машинный код. При этом оптимизируется все, что возможно, и разработчик может помочь компилятору создать максимально эффективную программу. В качестве примера взглянем на две простые операции: // 1 n += 2 * i * i; // 2 n += 2 * (i * i); Измерим время выполнения каждой из них. Запустив код с картинки несколько раз, получим подобные цифры, отображающие время выполнения: 2 * (i * i) | 2 * i * i 0.5183738 | 0.6246434 0.5298337 | 0.6049722 0.5308647 | 0.6603363 0.5133458 | 0.6243328 0.5003011 | 0.6541802 Закономерность очевидна: группировка переменных с помощью скобок ускоряет работу программы. Это происходит из-за генерации более эффективного байт-кода при умножении одинаковых значений. @java_geek

Метод Thread.sleep() В работу программы на Java можно вставлять паузы. Например, вы программируете игру и хотите, чтобы она д
Метод Thread.sleep() В работу программы на Java можно вставлять паузы. Например, вы программируете игру и хотите, чтобы она делала какие-то действия раз в две секунды или несколько раз в секунду. В скобках указана длина паузы в миллисекундах (1/1000 часть секунды). В общем, пауза вещь полезная, поэтому смотрим, как же добавить паузу в код. Это на самом деле очень просто. @java_geek

Метод xxxValue() — преобразует в Java числовое значение объекта, который вызывает метод, в примитивный тип данных, который во
Метод xxxValue() — преобразует в Java числовое значение объекта, который вызывает метод, в примитивный тип данных, который возвращается из метода. Каждый примитивный тип данных имеет отдельный метод. @java_geek

Сортировка методом выбора Данный алгоритм имеет схожесть с пузырьковой сортировкой, но работает он несколько быстрее. В качес
Сортировка методом выбора Данный алгоритм имеет схожесть с пузырьковой сортировкой, но работает он несколько быстрее. В качестве примера возьмём ряд чисел, которые мы хотим расставить в возрастающем порядке. Суть алгоритма заключается в последовательном переборе всех чисел и выборе наименьшего элемента, который мы возьмём и поменяем местами с крайним элементом слева (0 элементом). Данный алгоритм превосходит пузырьковую сортировку, ведь тут количество необходимых перестановок сокращается с O(N²) до O(N): мы не гоняем один элемент через весь список, но тем не менее, количество сравнений остается O(N²). @java_geek

Инкапсуляция Инкапсуляция в Java является механизмом обёртывания данных (переменных) и кода, работающего с данными (методами)
Инкапсуляция Инкапсуляция в Java является механизмом обёртывания данных (переменных) и кода, работающего с данными (методами), в одно целое. В инкапсуляции переменные класса будут скрыты от других классов и доступ к ним может быть получен только с помощью метода их текущего класса. По-другому это называется скрытием данных. Для достижения инкапсуляции в Java: ☕️ Объявите переменные класса как private. ☕️ Предоставьте public к методам установки и получения (сеттеру и геттеру) для изменения и просмотра значений переменных. Преимущества инкапсуляции: ☕️ Поля класса можно сделать только для чтения или только для записи. ☕️ Класс может иметь полный контроль над тем, что хранится в его полях. @java_geek

Для чего в Java используются статические блоки инициализации? Статические блоки инициализация используются для выполнения кода, который должен выполняться один раз при инициализации класса загрузчиком классов, в момент, предшествующий созданию объектов этого класса при помощи конструктора. Такой блок (в отличие от нестатических, принадлежащих конкретном объекту класса) принадлежит только самому классу (объекту метакласса Class). @java_geek

Метод retainAll() Используется для удаления всех элементов списка массива, не содержащихся в указанной коллекции, или для сох
Метод retainAll() Используется для удаления всех элементов списка массива, не содержащихся в указанной коллекции, или для сохранения всех совпадающих элементов в текущем экземпляре ArrayList, которые соответствуют всем элементам из списка Collection, переданного методу в качестве параметра. Подробнее про метод можно почитать здесь. @java_geek

Регулярное выражение для электронной почты Регулярные выражения представляют собой формальный язык поиска и редактирования по
Регулярное выражение для электронной почты Регулярные выражения представляют собой формальный язык поиска и редактирования подстрок в тексте. К примеру, надо провалидировать email адрес. Это будет проверка на наличие имени адреса, домена, символа @, точки и доменной зоны. @java_geek

Что такое «пул строк»? Пул строк – это набор строк, хранящийся в Heap. • Пул строк возможен благодаря неизменяемости строк в Java и реализации идеи интернирования строк; • Пул строк помогает экономить память, но по этой же причине создание строки занимает больше времени; • Когда для создания строки используются ", то сначала ищется строка в пуле с таким же значением, если находится, то просто возвращается ссылка, иначе создается новая строка в пуле, а затем возвращается ссылка на неё; • При использовании оператора new создаётся новый объект String. Затем при помощи метода intern() эту строку можно поместить в пул или же получить из пула ссылку на другой объект String с таким же значением; • Пул строк является примером паттерна «Приспособленец» (Flyweight). @java_geek

Метод replaceAll() Заменяет каждую подстроку данной строки, которая соответствует заданному регулярному выражению, с данной з
Метод replaceAll() Заменяет каждую подстроку данной строки, которая соответствует заданному регулярному выражению, с данной заменой, другими словами — метод позволяет заменить слово в строке. Параметры regex — регулярное выражение, которому данная строка должна соответствовать; replacement — строка, которая заменит найденное выражение. @java_geek

Чем различаются JRE, JVM и JDK? TL;DR: JDK - среда для разработки программ на Java, включающая в себя JRE - среду для обеспечения запуска Java программ, которая в свою очередь содержит JVM - интерпретатор кода Java программ. ☕️ JVM, Java Virtual Machine (Виртуальная машина Java) — основная часть среды времени исполнения Java (JRE). Виртуальная машина Java исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором. JVM может также использоваться для выполнения программ, написанных на других языках программирования. ☕️ JRE, Java Runtime Environment (Среда времени выполнения Java) — минимально-необходимая реализация виртуальной машины для исполнения Java-приложений. Состоит из JVM и стандартного набора библиотек классов Java. ☕️ JDK, Java Development Kit (Комплект разработки на Java) — JRE и набор инструментов разработчика приложений на языке Java, включающий в себя компилятор Java, стандартные библиотеки классов Java, примеры, документацию, различные утилиты. @java_geek

Метод Math.pow() Возводит значение первого аргумента в степень второго аргумента, тем самым позволяет осуществить быстрое воз
Метод Math.pow() Возводит значение первого аргумента в степень второго аргумента, тем самым позволяет осуществить быстрое возведение в степень любых значений. Выше рассмотрен пример возведение числа в квадрат и куб. Заметьте, для вывода на экран целого значения используется "%.0f", так как метод возвращает double значение. @java_geek

Как разделить строку на слова? Легко с помощью метода split. Он возвращает массив строк, вычисленных путем разделения передан
Как разделить строку на слова? Легко с помощью метода split. Он возвращает массив строк, вычисленных путем разделения переданной строки вокруг переданного регулярного выражения. @java_geek

substring Метод substring() в Java имеет два варианта и возвращает новую строку, которая является подстрокой данной строки. П
substring Метод substring() в Java имеет два варианта и возвращает новую строку, которая является подстрокой данной строки. Подстрока начинается с символа, заданного индексом, и продолжается до конца данной строки или до endIndex-1, если введен второй аргумент. @java_geek

Какое худшее время работы метода add() для ArrayList? O(N). Вставка элемента в конец списка осуществляется за время O(1), но если вместимость массива недостаточна, то происходит создание нового массива с увеличенным размером и копирование всех элементов из старого массива в новый. @java_geek