Получай объект среды, узнавай число процессоров, следи за памятью, запускай системные процессы и вызывай сборщик мусора. Стандартный API который даёт очень много контроля.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤7👍4👎1
Парсинг HTML через Jsoup!
Собираем данные со страниц: тянем заголовки и ссылки, удобно для ботов, парсеров и быстрых утилит.
Устанавливаем библиотеку:
Извлекаем заголовки h1..h3:
Собираем ссылки с текстами:
Массовый парсинг нескольких страниц:
🔥 Быстро вытягиваем метаданные, заголовки и ссылки: идеально для агрегаторов, мониторинга и автосборки контента.
👉 Java Ready | #практика
Собираем данные со страниц: тянем заголовки и ссылки, удобно для ботов, парсеров и быстрых утилит.
Устанавливаем библиотеку:
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()));
}
🔥 Быстро вытягиваем метаданные, заголовки и ссылки: идеально для агрегаторов, мониторинга и автосборки контента.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍5🔥4
Чтобы повернуть матрицу, можно обойтись без дополнительного массива. Для этого выполняются два шага: транспонирование и разворот строк.
В этой задаче:
• Задаём квадратную матрицу N×N;
• Меняем местами элементы относительно главной диагонали;
• Разворачиваем каждую строку.
Так поворот выполняется на месте что эффективно и удобно в определённых случаях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍7❤3🤝1
Считаем количество созданных объектов!
Иногда нужно отследить, сколько экземпляров класса было создано. Для этого используют статическое поле, общее для всех объектов.
Создаём класс с счётчиком:
Увеличиваем значение при создании:
Проверяем результат:
🔥 Переменная
👉 Java Ready | #практика
Иногда нужно отследить, сколько экземпляров класса было создано. Для этого используют статическое поле, общее для всех объектов.
Создаём класс с счётчиком:
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 принадлежит классу, а не объекту. Благодаря этому можно считать экземпляры без хранения списка..Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥3
Иногда приложению нужно знать, где оно запущено: чтобы загрузить конфиг, логи или ресурсы. В Java это можно сделать встроенными средствами.
В этом посте:
• Получим путь к jar;
• Извлечём директорию;
• Загрузим конфиг.
Так программа сама понимает, где лежат нужные файлы — без ручного указания путей.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤4👍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.Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍4🔥4
В этой шпаргалке — методы для работы со стеком, организации данных по принципу LIFO и управления элементами. Они помогают писать лаконичный, логичный и предсказуемый код при работе с последовательными структурами.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤9👍3