Java Portal | Программирование
12.3K subscribers
1.34K photos
108 videos
41 files
1.35K links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
Download Telegram
Одинарные и двойные кавычки

В Java есть такое понятие, как символ (Char). Это определённая буква, цифра, эмодзи и т.д. Несколько таких символов уже составляют строку (String).

Так вот, в одинарных кавычках мы записываем только один символ, а в двойных кавычках мы создаём строку.

С этим нужно быть очень осторожным, поскольку пытаясь получить "MY", выполняя 'M' + 'Y', вы получите 166.

#java #lesson #theory
Перегрузка функций

Если у вас есть несколько функций с одним и тем же именем, но они принимают разные типы, то будет вызван тот что больше всего подходит.

Перегрузка позволяет нам менять поведение функции в зависимости от типа или кол-ва параметров, которые мы получили.

Самой простой пример — System.out.println(). Если вы посмотрите определение метода, то увидите что он принимает и String, и char, и int.

#java #lesson #overloading
В чём разница между абстрактными классами и интерфейсами?

С первого взгляда эти два объекта выполняют одну и тоже функцию — планирование классов. Однако не всё так очевидно.

Абстрактные классы — это такие же обычные классы, но некоторые их методы можно «оставить на потом». Другими словами метод объявленный ключевым словом abstract не надо реализовывать, он будет реализован в дочерних объектах.

Интерфейсы же являются описанием структуры методов класса, которые нужно реализовать. В интерфейсах нельзя объявлять переменные.

#java #lesson #oop
😁2
Класс LinkedList

Это структура данных в виде связанного списка. Таким образом мы можем быстро добавлять элементы, но нам будет проблематично брать данные по индексу.

У него есть все методы, которые определены в интерфейсах List, Queue, Deque.

addFirst() / offerFirst() — добавляет элемент в начало списка. addLast() / offerLast() — в конец.

removeFirst() / pollFirst() — удаляет первый элемент из начала списка. removeLast() / pollLast() — с конца списка.

getFirst() / peekFirst(); getLast() / peekLast() — возвращает первый/последний элемент списка.

📌 Документация

#java #lesson #collections
2🌚2
Теория дженериков в Java

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

Использовать дженерики можно в классах и методы. Обозначаются они стрелочными скобками и именем типа <T> (примеры вы можете увидеть выше).

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

#java #lesson #oop
Аннотация FunctionalInterface

С версии Java 1.8 были добавлены лямбда-выражения. Они позволяют в короткой форме описать действия метода, который был описан в функциональном интерфейсе.

Такой интерфейс имеет лишь один метод, который и будет реализован как лямбда-выражение. Именно на наличие такого метода проверяет аннотация FunctionalInterface. Если в интерфейсе будет больше чем одного метода или вовсе их не будет, то при компиляции будет выведена ошибка.

Для создания функциональных интерфейсов не обязательно использования этой аннотации, но с ней редактор кода будет лучше понимать как обрабатывать данный интерфейс.

#java #lesson #annotations
Нужно быстро отправить файлы с одного компьютера на другой?

Важное условие, чтобы они были в одной локальной сети. Вы можете запустить сервер на Java и перекинуть файлы с одного компьютера на другой.

Для этого вводите: jwebserver -b 0.0.0.0, а на другом компьютере открываете сервер по IP, выбираете и загружаете нужный вам файл.

📌 Документация

Доступно с Java 18

#java #lesson #tricks
this

Ключевое слово, которое указывает на себя. Например, написав this.a мы получим значение свойства a.

Само по себе очень редко используется, но спасает, когда у вас локальная переменная и свойство названы одинаково.

#java #lesson #theory
Media is too big
VIEW IN TELEGRAM
Сохраняй огромный сборник задач на практику по разным языкам включая Java + Код и статьи к проектам

🟢Парсинг
🟢Боты для популярных соц.сетей
🟢Веб-приложения на Django и Flask
🟢Big data и Machine learning
🟢Компьютерное зрение
🟢Глубокое обучение и много чего интересного

🔜 Ссылка: тык

👉 Java Portal | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🌭2🔥1
Совет по Java : Если нужно посчитать количество вхождений элемента в списке, можно использовать Collections.frequency(...).

#Java #Collections

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123
Java 21 открывает новую эпоху конкурентности с виртуальными потоками — лёгкими потоками, управляемыми JVM, которые значительно повышают производительность I/O-bound приложений.

Подробнее - https://lttr.ai/Ap1Np

#Java #MongoDB #VirtualThread

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#Java Совет: вы можете откатить транзакцию БД, созданную аннотацией @Transactional, получив текущий TransactionStatus через класс TransactionAspectSupport и установив для него rollback через setRollbackOnly();. Таким образом, не нужно выбрасывать исключение.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102🔥1🤣1
Java: используйте WeakHashMap для кэширования, когда ключи без ссылок должны удаляться сборщиком мусора.

В HashMap, пока существует сама мапа, ключи и связанные с ними значения не будут удаляться сборщиком мусора.

В WeakHashMap ключи хранятся через слабые ссылки, и если на ключ больше нет сильных ссылок в программе, сборщик мусора может его удалить, и он автоматически исчезнет из мапы.

Пример:

Map<User, String> map = new WeakHashMap<>();

User u1 = new User("Mick");
map.put(u1, "Cached data");
...
u1 = null;

// С этого момента ключ u1 доступен для сборки мусора.


#Java #JavaDev

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73
JavaDoc получил реальное улучшение удобства использования в Java 24.

Парень написал практический туториал, который показывает, как использовать JavaDoc с Markdown через комментарии /// в небольшой библиотеке на Maven + JUnit, включая документацию пакетов, записи, запечатанные типы, генерацию JavaDoc и всплывающие подсказки в IDE.

http://buff.ly/RmaVWSt

#Java #Java24 #Javadoc #Maven

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Совет по Java: можно избежать чрезмерного количества параметров метода, сгруппировав связанные значения в объекты. #Java #РазработкаПО

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72😁2👀2
В Java можно использовать Optional.orElseThrow() для реализации так называемого fail-fast поведения.

Fail-fast означает, что ошибки фиксируются ближе к месту возникновения, за счёт чего стек вызовов проще читать и анализировать
#Java #РазработкаПО

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
Совет по Java: удаляйте неиспользуемые импорты и переменные — это улучшает читаемость кода.

До:

import java.util.Date;   // неиспользуемый импорт
import java.util.Scanner;

public class Greeting {
private int age; // неиспользуемая переменная

public void sayHello() {
Scanner sc = new Scanner(System.in);
System.out.println("Hello, world!");
sc.close();
}
}


После:

import java.util.Scanner;

public class Greeting {

public void sayHello() {
Scanner sc = new Scanner(System.in);
System.out.println("Hello, world!");
sc.close();
}
}


#Java #CleanCode

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Используй Files.isSameFile(path1, path2), чтобы проверить, указывают ли два пути на один и тот же файл. Метод также резолвит симлинки.

Проверяет, ссылаются ли два объекта Path на один и тот же реальный файл в файловой системе.
#Java #РазработкаПО

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
image_2026-05-02_07-05-20.png
291.1 KB
Паттерны в Java: паттерн «Строитель» позволяет гибко и прозрачно конструировать сложные объекты. #Java #ПаттерныПроектирования

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Java-совет : можно использовать List.of() и Set.of() для создания неизменяемых коллекций.

Это быстрый способ создать немодифицируемые списки и множества без использования Collections.unmodifiableList().

#Java #Коллекции

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM