uk
Feedback
Java | Фишки и трюки

Java | Фишки и трюки

Відкрити в Telegram

Java: примеры кода, интересные фишки и полезные трюки Купить рекламу: https://telega.in/c/java_tips_and_tricks ✍️По всем вопросам: @Pascal4eg Менеджер по рекламе: @shmyzna

Показати більше
6 949
Підписники
-124 години
-137 днів
+1430 день
Архів дописів
Кредитная карта 180 дней без % от Банка "Открытие" Бесплатное обслуживание навсегда и снятие наличных за 0₽ в первый месяц. П
Кредитная карта 180 дней без % от Банка "Открытие" Бесплатное обслуживание навсегда и снятие наличных за 0₽ в первый месяц. Подать заявку Финансовые услуги оказывает: ПАО Банк "ФК Открытие" #реклама open.ru О рекламодателе

Несколько способов для избежания NullPointerException: 👉 Используйте Optional из пакета java.util. 👉 При сравнении константы с переменной пришедшей из вне, нужно вызывать equals() на константе. 👉 А при сравнении двух переменных используйте java.util.Objects#equals. 👉 Используйте библиотеки с null-безопасностью, например, Apache Commons StringUtils. 👉 Вызывайте методы equals() и equalsIgnoreCase() на известных объектах. 👉 Применяйте valueOf() вместо toString(). 👉 Воспользуйтесь аннотациями @NotNull и @Nullable на основе IDE. 👉 При возврате из метода коллекций, не стоит возвращать null, лучше пустую коллекцию (java.util.Collections#emptyList).

Каналы любого уважающего себя разработчика: Java Developer — поможет узнать обо всех тонкостях и секретах языка Java. Python
Каналы любого уважающего себя разработчика: Java Developer — поможет узнать обо всех тонкостях и секретах языка Java. Python Developer — научит программировать на Python как настоящий разработчик. Подписывайся и прокачивай свои навыки👇🏻

Retrofit - это библиотека для работы с HTTP-запросами в Java и Android, разработанная компанией Square. Основной целью Retrof
Retrofit - это библиотека для работы с HTTP-запросами в Java и Android, разработанная компанией Square. Основной целью Retrofit является упрощение выполнения сетевых запросов и преобразование HTTP-ответов в объекты Java. Retrofit использует аннотации Java для определения типа запроса, параметров, URL и других свойств. Retrofit предоставляет удобный способ выполнения асинхронных запросов. Вы можете использовать Call как для выполнения синхронного вызова (call.execute()), так и для выполнения запросов асинхронно (call.enqueue(...)). Retrofit поддерживает использование интерсепторов для манипуляции запросами и ответами. Это может быть полезно для добавления заголовков, логирования и других операций. Библиотека Retrofit предоставляет удобные средства для работы с сетевыми запросами, уменьшая объем необходимого кода и обеспечивая чистый и читаемый интерфейс для взаимодействия с удаленными API.

Что выведет код?
Anonymous voting

class Cat {
    public static void mew() {
        System.out.println("Meow");
    }
}

class SimonsCat extends Cat {
    public static void mew() { }
}

public class Mew {
    public static void main(String[] args) {
        Cat cat = new Cat();
        Cat simonsCat = new SimonsCat();
        cat.mew();
        simonsCat.mew();
    }
}

Контракт метода hashCode Для реализации хэш-функции в спецификации языка определены следующие правила: 1️⃣ вызов метода hashCode один и более раз над одним и тем же объектом должен возвращать одно и то же хэш-значение, при условии что поля объекта, участвующие в вычислении значения, не изменялись. 2️⃣ вызов метода hashCode над двумя объектами должен всегда возвращать одно и то же число, если эти объекты равны (вызов метода equals для этих объектов возвращает true). 3️⃣ вызов метода hashCode над двумя неравными между собой объектами должен возвращать разные хэш-значения. Хотя это требование и не является обязательным, следует учитывать, что его выполнение положительно повлияет на производительность работы хэш-таблиц.

HttpClient представляет собой класс, введенный в Java 11, который предоставляет более современный и гибкий способ для выполне
HttpClient представляет собой класс, введенный в Java 11, который предоставляет более современный и гибкий способ для выполнения HTTP-запросов и обработки HTTP-ответов. Он заменяет устаревший HttpURLConnection и предоставляет более удобный интерфейс для работы с сетевыми операциями. HttpClient также поддерживает асинхронные операции, позволяя выполнять запросы асинхронно с использованием CompletableFuture.

🎄 Как насчет ежедневных best practices вплоть до Нового Года? Новый день = новая возможность сделать твой код чуточку лучше!
🎄 Как насчет ежедневных best practices вплоть до Нового Года? Новый день = новая возможность сделать твой код чуточку лучше! Присоединяйся и открывай DMDEV ADVENT CALENDAR 🎁

Ромб Интересная задача для тренеровки мозга. Нужно в ASCII-графике (скажем так) вывести ромб заданной размерности. Не смотрит
Ромб Интересная задача для тренеровки мозга. Нужно в ASCII-графике (скажем так) вывести ромб заданной размерности. Не смотрите сразу решение, попытайтесь решить сами. Код вашего решения пишите в комментах, интересно как еще можно это сделать.
   *   
  ***  
 ***** 
*******
 ***** 
  ***  
   *   
Алгоритм: поместим центр координат в центр ромба, в результате для каждой из 4х плоскостей мы увидим закономерность: там где сумма x и y (без знака) меньше или равна половине размерности ромба, там стоит *, иначе пробел.

Цепочка методов (Method chaining) — это общий синтаксис для нескольких вызовов методов в объектно-ориентированных языках прог
Цепочка методов (Method chaining) — это общий синтаксис для нескольких вызовов методов в объектно-ориентированных языках программирования. Каждый метод возвращает объект, что позволяет объединить вызовы в один оператор без необходимости использования переменных для хранения промежуточных результатов. Пример для String:

text = text
        .trim()
        .replace("?", "")
        .replace(" ", "-")
        .toLowerCase();
Для того чтобы сделать такую штуку в своем классе, нужно что бы каждый метод возвращал из метода ссылку на текущий объект (this).

Старт подготовительного курса по Java-разработке. ⏰ Когда: уже 12 декабря. Даем: 62 урока с практикой в браузере, 3 онлайн ве
Старт подготовительного курса по Java-разработке. ⏰ Когда: уже 12 декабря. Даем: 62 урока с практикой в браузере, 3 онлайн вебинара и 1 сессию лайвкодинга с практикующим разработчиком. Получаем: крепкие знания базы языка, умение понимать код и первую программу на Java, написанную вместе с наставником. Всего 990 ₽ и ваше жгучее желание начать. Приходите с любым бэкграундом: нам не важны возраст, пол, образование и текущая профессия. Запишитесь прямо сейчас! Реклама. АНПОО "ХЕКСЛЕТ КОЛЛЕДЖ". ИНН 7839056670.

photo content

Класс Properties В Java класс Properties представляет собой таблицу хэш-значений ключ-значение. Он является частью пакета jav
Класс Properties В Java класс Properties представляет собой таблицу хэш-значений ключ-значение. Он является частью пакета java.util, и обычно используется для работы с конфигурационными файлами, настройками приложений и другими данными в формате ключ-значение. Некоторые методы класса Properties: setProperty(String key, String value) - добавление или изменение значения ключа. getProperty(String key) - получение значения по ключу. load(InputStream in) - загрузка свойств из InputStream. store(OutputStream out, String comments) - сохранение свойств в OutputStream. defaults(Properties defaults) - устанавливает значения по умолчанию, которые будут использоваться при поиске значения для ключа, если оно не найдено в текущих свойствах. Пример файла Properties:
version=1.0 name=TestApp

Мультипаспорт не обещаем, зато визу в любую страну — легко Вы просто говорите куда, а все сложности с оформлением мы берём на
Мультипаспорт не обещаем, зато визу в любую страну — легко Вы просто говорите куда, а все сложности с оформлением мы берём на себя. Наши клиенты и в США летают, и даже на Марс при желании организуем. Переходи в Travelers, и тогда головная боль с ВНЖ обойдет тебя стороной. Проверено сотнями клиентов. Кстати, карту иностранного банка делаем всего за неделю и почти за спасибо. P.S. Да, это знак. Хватит откладывать на потом, действуй уже — Travelers

Метод dropWhile был введен в интерфейсе Stream в JDK 9. Этот метод позволяет пропускать элементы в начале потока данных, пока
Метод dropWhile был введен в интерфейсе Stream в JDK 9. Этот метод позволяет пропускать элементы в начале потока данных, пока они удовлетворяют определенному условию, и возвращает новый поток, начиная с первого элемента, который не соответствует условию. В нашем примере метод dropWhile используется для пропуска элементов в потоке до тех пор, пока они меньше 0. После первого элемента, не соответствующего условию, оставшиеся элементы добавляются в новый поток.

Полезный пост для тех, кто хочет стать Java-разработчиком с нуля или вырасти до уровня Middle+ без вложений 👇🏻 Школа IT Men
Полезный пост для тех, кто хочет стать Java-разработчиком с нуля или вырасти до уровня Middle+ без вложений 👇🏻 Школа IT Mentor открывает набор на курс «Java-разработчик» - оплата обучения происходит только после трудоустройства. Первая зарплата - от 150 000 рублей. 💸 На курсе тебя ждут: - Java Core, JDBC, HIBERNATE, SPRING(Core, MVC, Security), SPRING BOOT, GIT, - погружение в процесс разработки на реальном проекте - от системы управления до тестирования, - подготовка к собеседованиям и гарантия трудоустройства: не нашел работу - ничего не должен, - помощь в составлении резюме и карьерные консультации, - сообщество студентов вашего уровня, которое не сгорает даже после прохождения обучения. Курс подойдет тем, кто хочет войти в IT, cтудентам ВУЗов и выпускникам образовательных программ, которые затрудняются найти работу. Junior- и Middle- программистам, которые хотят выйти на новый уровень дохода. Разработчикам из других ниш, которые хотят перейти в backend-разработку. 🔥 👉🏻 Переходи на сайт, чтобы оставить заявку на обучение и подробнее ознакомиться с программой. Количество мест ограничено. Рассматриваются кандидаты от 18 до 50 лет. »Перейти на сайт Реклама. ИП Тюльников ИНН 526223159257.

⌨️ Class Loaders В Java, Class Loader (загрузчик классов) является частью Java Runtime Environment (JRE), которая ответственн
⌨️ Class Loaders В Java, Class Loader (загрузчик классов) является частью Java Runtime Environment (JRE), которая ответственна за загрузку классов в виртуальную машину Java (JVM) во время выполнения программы. Class Loader осуществляет поиск и загрузку классов в память JVM по их именам. Class Loader имеет иерархическую структуру и состоит из трех основных типов: 1️⃣ Bootstrap Class Loader (Загрузчик базовых классов): Этот загрузчик является частью ядра JVM и отвечает за загрузку системных классов Java, таких как java.lang.Object, java.lang.String и другие. Он является самым высоким в иерархии загрузчиком. 2️⃣ Extension Class Loader (Загрузчик расширений): Этот загрузчик наследуется от Bootstrap Class Loader и загружает классы из расширенной библиотеки Java (расположенной в директории jre/lib/ext). 3️⃣ Application Class Loader (Загрузчик приложений): Также известный как System Class Loader, этот загрузчик загружает классы из путей, указанных в переменной окружения CLASSPATH. Он также загружает классы из текущего рабочего каталога приложения. Когда Java-программа запускается, система Class Loader следует иерархии загрузки классов. Если класс не найден в одном загрузчике, система пытается найти его в следующем в иерархии. Процесс загрузки класса включает в себя три этапа: 1️⃣ Загрузка (Loading): Загрузчик находит байт-код класса и загружает его в память. 2️⃣ Связывание (Linking): На этом этапе проводится проверка байт-кода, выделение памяти для статических полей, и разрешение ссылок на другие классы. 3️⃣ Инициализация (Initialization): Выполняются статические блоки кода и инициализируются статические переменные. Класс ClassLoader предоставляет методы для динамической загрузки классов во время выполнения. Работа с Class Loader'ами может быть полезной, например, при реализации механизмов плагинов и динамической загрузки классов.

Не трогайте, это на Новый год! Профессия «Java-разработчик» 🎁 🎊 Получите скидку до 30 000 р. и кэшбек на карту до 25 000 р.
Не трогайте, это на Новый год! Профессия «Java-разработчик» 🎁 🎊 Получите скидку до 30 000 р. и кэшбек на карту до 25 000 р. при успешном прохождении обучения! Освойте язык крупного бизнеса и финансовых технологий и научитесь разрабатывать веб-приложения на фреймворке Spring. Уже во время обучения вы вступите в программу «Карьерный трек», чтобы найти свою первую работу в IT.  Вы научитесь подбирать правильные структуры для хранения и обработки данных, познакомитесь с автоматизированным тестированием и напишите свои первые модульные тесты. 📌 Пройдите 5 бесплатных уроков и поймите, подходит ли вам профессия! Реклама. АНПОО "ХЕКСЛЕТ КОЛЛЕДЖ". ИНН 7839056670.

JIT-компилятор На начальном этапе выполнения программы байт-код интерпретируется JVM. Это позволяет быстро запускать программы без необходимости предварительной компиляции в машинный код. JIT-компилятор является ключевым элементом виртуальной машины Java (JVM). Он компилирует байт-код часто вызываемых методов в машинный код во время выполнения. Следовательно, он отвечает за оптимизацию программ Java. JVM автоматически отслеживает, какие методы выполняются. Как только метод становится пригодным для JIT-компиляции, его планируется компилировать в машинный код. Этот метод так же известен как горячий метод. Эта компиляция в машинный код происходит в отдельном потоке JVM. В результате он не прерывает выполнение текущей программы. После компиляции в машинный код, метод работает быстрее. Таким образом, JIT-компиляция в Java позволяет достичь компромисса между портативностью байт-кода и производительностью машинного кода. Этот механизм позволяет Java-приложениям быть эффективными на различных платформах, так как байт-код может быть выполнен на любой машине, в то время как JIT-компиляция обеспечивает высокую производительность приложений в процессе их выполнения.