Java Ready | Программирование
8.88K subscribers
1.22K photos
61 videos
1 file
600 links
Авторский канал по разработке на Java.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/java_ready
Download Telegram
👩‍💻 Разбираемся с Runtime — прямой доступ к JVM!

Получай объект среды, узнавай число процессоров, следи за памятью, запускай системные процессы и вызывай сборщик мусора. Стандартный API который даёт очень много контроля.

👉 Java Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥137👍4👎1
Парсинг HTML через Jsoup!

Собираем данные со страниц: тянем заголовки и ссылки, удобно для ботов, парсеров и быстрых утилит.

Устанавливаем библиотеку:
implementation "org.jsoup:jsoup:1.17.2"


Извлекаем заголовки h1..h3:
var url = "https://java.com";
var doc = org.jsoup.Jsoup.connect(url).get();

doc.select("h1, h2, h3").forEach(h -> {
System.out.println(h.tagName() + ": " + h.text());
});
// h1: Example Domain
// h2:


Собираем ссылки с текстами:
doc.select("a[href]").forEach(a -> {
var href = a.attr("abs:href"); // абсолютная ссылка
var text = a.text();
System.out.println(text + " -> " + href);
});


Массовый парсинг нескольких страниц:
var urls = java.util.List.of(
"https://example.com",
"https://example.org"
);
for (var u : urls) {
var d = org.jsoup.Jsoup.connect(u).get();
System.out.println("== " + u + " ==");
d.select("title").forEach(t -> System.out.println(t.text()));
}


🔥 Быстро вытягиваем метаданные, заголовки и ссылки: идеально для агрегаторов, мониторинга и автосборки контента.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍5🔥4
👩‍💻 Поворот квадратной матрицы на 90° по часовой!

Чтобы повернуть матрицу, можно обойтись без дополнительного массива. Для этого выполняются два шага: транспонирование и разворот строк.

В этой задаче:
Задаём квадратную матрицу N×N;

Меняем местами элементы относительно главной диагонали;

Разворачиваем каждую строку.


Так поворот выполняется на месте что эффективно и удобно в определённых случаях.

👉 Java Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍73🤝1
Считаем количество созданных объектов!

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

Создаём класс с счётчиком:
class User {
static int count = 0;
// общее поле для всех экземпляров


Увеличиваем значение при создании:
User() {
count++;
}


Проверяем результат:
public static void main(String[] args) {
new User();
new User();
new User();
System.out.println("Создано объектов: " + User.count);
}}


🔥 Переменная static принадлежит классу, а не объекту. Благодаря этому можно считать экземпляры без хранения списка..

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4🔥3
👩‍💻 Как получить путь к jar-файлу?

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

В этом посте:
Получим путь к jar;

Извлечём директорию;

Загрузим конфиг.


Так программа сама понимает, где лежат нужные файлы — без ручного указания путей.

👉 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥94👍4
This media is not supported in your browser
VIEW IN TELEGRAM
JavaTpoint — подробный справочник по Java, охватывающий как базовые, так и продвинутые темы, с примерами и практическими упражнениями.

📌 Оставляю ссылочку: javatpoint.com

👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3
👩‍💻 Многие об этом не знают или почти не используют!

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

try (FileReader fr = new FileReader("data.txt")) {
System.out.println((char) fr.read());
}


Если внутри блока произойдёт исключение — поток всё равно корректно закроется.

Чтобы использовать несколько ресурсов, просто перечисли их через точку с запятой:
try (
FileReader fr = new FileReader("data.txt");
BufferedReader br = new BufferedReader(fr)
) {
System.out.println(br.readLine());
}


🔥 И всё это без finally и без ручного close(). Главное — чтобы класс ресурса реализовывал интерфейс AutoCloseable.

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4🔥4