uk
Feedback
Java Geek

Java Geek

Відкрити в Telegram

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

Показати більше
2 449
Підписники
Немає даних24 години
+27 днів
+530 день
Архів дописів
Какой самый надежный способ проверить, равны ли два значения типа 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

Что не так с кодом? Он не скомпилируется. Это вопрос на знание иерархии исключений: FileNotFoundException унаследован от IOEx
Что не так с кодом? Он не скомпилируется. Это вопрос на знание иерархии исключений: FileNotFoundException унаследован от IOException, первый catch будет перехватывать все исключения, а в следующий блок catch управление передано не будет. Поэтому возникнет ошибка: exception FileNotFoundException has already been caught. @java_geek

Как одной строчкой скопировать элементы любой collection в массив? Ответ на картинке. @java_geek
Как одной строчкой скопировать элементы любой collection в массив? Ответ на картинке. @java_geek

Возведение в степень Возвести число в степень можно двумя способами: 1)простое умножение; 2)используя метод Math.pow() (двойн
Возведение в степень Возвести число в степень можно двумя способами: 1)простое умножение; 2)используя метод Math.pow() (двойное основание, двойной показатель степени). Использование библиотечной функции рекомендуется только в случае крайней необходимости, например, в случае дробной или отрицательной степени. Простое умножение в Java работает в 300-600 раз эффективнее, кроме того, его можно дополнительно оптимизировать. @java_geek

Java Geek - Статистика та аналітика Telegram каналу @java_geek