ru
Feedback
Java Geek

Java Geek

Открыть в Telegram

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

Больше
2 380
Подписчики
-124 часа
-127 дней
-3530 день
Архив постов
Какие реализации SortedSet вы знаете и в чем их особенность? В Java есть несколько реализаций интерфейса SortedSet: — TreeSet — это реализация на основе красно-черного дерева. Элементы в TreeSet хранятся в отсортированном порядке согласно естественному порядку элементов или компаратору, переданному в конструктор. Обеспечивает логарифмическую сложность для большинства операций. — ConcurrentSkipListSet — потокобезопасная реализация, основанная на скип-листов. Обеспечивает логарифмическую сложность операций и потокобезопасный доступ. — EnumSet — высокопроизводительная реализация для элементов-перечислений. Использует внутри битовые вектора для хранения. — LinkedHashSet — реализация на основе хеш-таблицы и связанного списка. Сохраняет порядок вставки элементов. 👉 @java_geek

Как используется класс Future? Класс Future является частью пакета java.util.concurrent, и он используется для представления
Как используется класс Future? Класс Future является частью пакета java.util.concurrent, и он используется для представления результата асинхронной операции или задачи, которая выполняется в фоновом потоке. Future позволяет вам управлять и получать результаты выполнения задачи в будущем, даже если она еще не завершилась. 👉 @java_geek

Java varargs Java varargs (variable arguments) — это механизм, предоставляемый Java, который позволяет методу принимать перем
Java varargs Java varargs (variable arguments) — это механизм, предоставляемый Java, который позволяет методу принимать переменное количество аргументов одного типа. Он позволяет передавать любое количество аргументов заданного типа в метод, без явного указания массива аргументов. Для объявления переменного количества аргументов в Java используется троеточие (...) после типа данных аргумента в определении метода. @java_geek

Какой самый надежный способ проверить, равны ли два значения типа double? Наиболее надежный и точный способ проверить это — и
Какой самый надежный способ проверить, равны ли два значения типа double? Наиболее надежный и точный способ проверить это — использовать Dоuble.соmpare() и сравнить значение с нулем. @java_geek

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

Класс java.lang Это базовый пакет, который автоматически импортируется в любую программу на Java. Содержит фундаментальные кл
Класс java.lang Это базовый пакет, который автоматически импортируется в любую программу на Java. Содержит фундаментальные классы, как Object, String, Integer и т. д., определяет общие классы-исключения, такие как NullPointerException, ArithmeticException, класс Math с математическими функциями, System для взаимодействия с системой. Также включает класс Thread для многопоточного программирования, интерфейсы Cloneable, Runnable, Comparable, определяет класс Class, представляющий классы времени выполнения. @java_geek

Что будет, если добавлять элементы в TreeSet по возрастанию? В основе TreeSet лежит красно-черное дерево, которое умеет само себя балансировать. В итоге, TreeSet все равно в каком порядке вы добавляете в него элементы, преимущества этой структуры данных будут сохраняться. @java_geek

Класс FileWriter Наследуется от класса OutputStreamWriter, используется для записи потоков символов. Код на картинке создает
Класс FileWriter Наследуется от класса OutputStreamWriter, используется для записи потоков символов. Код на картинке создает файл с разрешением .txt и записывает в него текст, а после с помощью FileReader читает его из файла. Класс имеет несколько конструкторов, а также список вспомогательных методов, которые можно использовать для управления файлами. @java_geek

Отложенная инициализация Отложенная инициализация — это паттерн проектирования, который позволяет отложить создание объекта д
Отложенная инициализация Отложенная инициализация — это паттерн проектирования, который позволяет отложить создание объекта до момента его реального использования. Он полезен, когда создание объекта требует значительных ресурсов или происходит в условиях, когда объект может не понадобиться. В Java есть несколько способов реализации отложенной инициализации. Два наиболее распространенных подхода — это использование двойной проверки и использование внутреннего класса. На картинке мы рассмотрели использование двойной проверки (Double-Checked Locking). @java_geek

Как получить текущее время с точностью до миллисекунд используя Date Time API? 👉@java_geek
Как получить текущее время с точностью до миллисекунд используя Date Time API? 👉@java_geek

Динамический массив В Java динамический массив представляет собой структуру данных, которая позволяет хранить и управлять кол
Динамический массив В Java динамический массив представляет собой структуру данных, которая позволяет хранить и управлять коллекцией элементов переменного размера. Он реализуется с помощью класса ArrayList. ArrayList представляет собой реализацию списка, который может изменять свой размер по мере необходимости. 👉@java_geek

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

Познакомьтесь с основами востребованного языка программирования Java на бесплатном мини-курсе Skillbox! Узнайте, как Java-раз
Познакомьтесь с основами востребованного языка программирования Java на бесплатном мини-курсе Skillbox! Узнайте, как Java-разработчики работают в офисе, на фрилансе, удалёнке, и что нужно для старта карьеры. Бессрочный доступ за пару кликов: 👉 https://epic.st/F6t4bB Сразу после регистрации пришлём гайд по профессии Java-разработчика 😉 Что вас ждёт: ✔️ Полезная теория За 4 занятия изучите основы профессии и языка Java по видеоматериалам. Узнаете о перспективах языка и получите советы для старта карьеры. ✔️ Интересная практика Напишете первые проекты: Telegram-бота, программу для обработки файлов и чат на Spring. Опыт и знания в IT не нужны для их выполнения — будут подробные инструкции от спикера. ✔️ Живой эфир с экспертом по Java В финале в прямом эфире пообщаетесь с Даниилом Пилипенко, который более 19 лет работает в сфере Java и веб-разработки. Он ответит на вопросы о профессии, пройденном материале и практических работах. 🎁 За время обучения вы получите 5 полезных материалов в подарок, сертификат на скидку 10 000 рублей на любой курс, персональную карьерную консультацию и доступ к изучению английского языка в Skillbox на год. До встречи на мини-курсе. Старт после регистрации! Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

При помощи чего формируются запросы к базе данных? Для выполнения запросов к базе данных в 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; 👉@java_geek

Адаптер Адаптер — это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать в
Адаптер Адаптер — это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать вместе. Он позволяет «преобразовать» интерфейс одного класса в интерфейс другого класса таким образом, чтобы они могли взаимодействовать без изменения существующего кода. Паттерн Адаптер включает в себя два вида адаптеров: ☕ Классовый адаптер: использует наследование для адаптации интерфейса исходного класса к целевому интерфейсу. То есть, он наследует исходный класс и реализует целевой интерфейс. ☕ Объектный адаптер: использует композицию, чтобы включить объект исходного адаптер и реализует целевой интерфейс. 👉@java_geek

Какой способ клонирования предпочтительней? Наиболее безопасным и, следовательно, предпочтительным способом клонирования является использование специализированного конструктора копирования: • Отсутствие ошибок наследования (не нужно беспокоиться, что у наследников появятся новые поля, которые не будут склонированы через метод clone()); • Поля для клонирования указываются явно; • Возможность клонировать даже final поля. @java_geek

Что такое «ссылка на метод»? Если существующий в классе метод уже делает все, что необходимо, то можно воспользоваться механи
Что такое «ссылка на метод»? Если существующий в классе метод уже делает все, что необходимо, то можно воспользоваться механизмом method reference (ссылка на метод) для непосредственной передачи этого метода. Такая ссылка передается в виде: • имя_класса::имя_статического_метода для статического метода; • объект_класса::имя_метода для метода экземпляра; • название_класса::new для конструктора. Результат будет в точности таким же, как в случае определения лямбда-выражения, которое вызывает этот метод. Ссылки на методы потенциально более эффективны, чем использование лямбда-выражений. Кроме того, они предоставляют компилятору более качественную информацию о типе и при возможности выбора между использованием ссылки на существующий метод и использованием лямбда-выражения, следует всегда предпочитать использование ссылки на метод. @java_geek

Как выбрать все элементы определенного каталога по критерию (например, с определенным расширением)? Метод File.listFiles() возвращает массив объектов File, содержащихся в каталоге. Метод может принимать в качестве параметра объект класса, реализующего FileFilter. Это позволяет включить в список только те элементы, для которых метод accept возвращает true (критерием может быть длина имени файла или его расширение). @java_geek

Какие преимущества есть у многопоточности? 1) Многопоточность позволяет приложению / программе всегда реагировать на ввод, даже если она уже выполняется с некоторыми фоновыми задачами; 2) Многопоточность позволяет быстрее выполнять задачи, поскольку потоки выполняются независимо; 3) Многопоточность обеспечивает лучшее использование кэш-памяти, поскольку потоки разделяют общие ресурсы памяти; 4) Многопоточность уменьшает количество требуемого сервера, поскольку один сервер может одновременно выполнять несколько потоков. @java_geek

Записывайтесь на бесплатный мини-курс по Java-разработке с нуля: научим писать Telegram-ботов, программу для обработки данных
Записывайтесь на бесплатный мини-курс по Java-разработке с нуля: научим писать Telegram-ботов, программу для обработки данных и чат на Spring. Опыт и знания в IT не нужны для участия. Получите доступ к занятиям за пару кликов: 👉 https://epic.st/AkN-qi 📌 На мини-курсе вы узнаете, в каких форматах могут работать Java-разработчики. Изучите основы языка и поймёте, что нужно для старта карьеры на фрилансе и удалёнке. Получите шанс освоить профессию с высокой зарплатой и гибким графиком. — Формат мини-курса отлично подойдёт для обучения из любой точки мира. Смотрите видео в удобное время, а после выполняйте практические задания. В конце вас ждёт прямой эфир с экспертом, где он поделится профессиональными секретами, разберёт работы участников и ответит на вопросы. 🔔 Спикер — Даниил Пилипенко, основатель и директор центра подбора IT-специалистов SymbioWay. 19 лет работает в сфере Java и веб-разработки. 🎁 За время обучения вы получите 5 полезных материалов в подарок, сертификат на скидку 10 000 рублей на любой курс, персональную карьерную консультацию и доступ к изучению английского языка в Skillbox на год. Сделайте первый шаг к карьере в IT! Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880