Мураха проти Мейвена проти Градла

Мураха проти Мейвена проти Градла

Ця стаття є частиною серії: • Вступ до Gradle • Ant проти Maven проти Gradle (поточна стаття) • Написання користувацьких плагінів Gradle • Створення жирної банки в Gradle 1. Вступ У цій статті ми розглянемо три інструменти автоматизації побудови Java, які домінували в екосистемі JVM - Ant, Maven та Gradle . Ми представимо кожен із них і дослідимо, як розвивалися інструменти автоматизації побудови Java. 2. Мураха-апач На початку, Make був єдиним інструментом автоматизації збірки, доступним, крім власн

Детальніше

   Підключення навесні: @Autowired, @Resource та @Inject

Підключення навесні: @Autowired, @Resource та @Inject

1. Огляд Ця стаття Spring Framework продемонструє використання анотацій, пов’язаних із введенням залежностей, а саме анотації @Resource , @Inject та @Autowired . Ці анотації надають класам декларативний спосіб вирішення залежностей. Наприклад: @Autowired ArbitraryClass arbObject; на відміну від створення їх безпосередньо (імперативний спосіб), наприклад: ArbitraryClass arbObject = n

Детальніше

   Як вбити нитку Java

Як вбити нитку Java

1. Вступ У цій короткій статті ми розглянемо зупинку Thread в Java - що не так просто, оскільки метод Thread.stop () застарілий. Як пояснюється в цьому оновленні від Oracle, stop () може призвести до пошкодження відстежуваних об'єктів. 2. Використання прапора Почнемо з класу, який створює і запускає ланцюжок. Це завдання не закінчиться само по собі, тому нам потрібен якийсь спосіб зупин

Детальніше

   Створення користувацької анотації в Java

Створення користувацької анотації в Java

1. Вступ Анотації Java - це механізм додавання інформації про метадані до нашого вихідного коду. Вони є потужною частиною Java і були додані в JDK5. Анотації пропонують альтернативу використанню дескрипторів XML та інтерфейсів маркерів. Хоча ми можемо приєднати їх до пакетів, класів, інтерфейсів, методів та полів, анотації самі по собі не впливають на виконання програми. У цьому підручнику ми зосередимося на тому

Детальніше

   Перетворення списку в рядок на Java

Перетворення списку в рядок на Java

1. Вступ У цій короткій статті ми розглянемо, як перетворити список елементів у рядок . Це може бути корисно в певних сценаріях, таких як друк вмісту на консолі у зручній для читання формі для перевірки / налагодження. 2. Стандартний toString () у списку Один з найпростіших способів - це просто викликати метод toString () зі Списку : @Test public void whenListToString_thenPrintDefault()

Детальніше

   Посібник з кодування / декодування URL-адрес Java

Посібник з кодування / декодування URL-адрес Java

1. Вступ Простіше кажучи, кодування URL-адреси переводить спеціальні символи з URL-адреси у подання, яке відповідає специфікації та може бути правильно зрозуміле та інтерпретоване. У цій статті ми зупинимося на тому, як кодувати / декодувати URL-адресу або дані форми, щоб вона відповідала специфікаціям і передавала по мере

Детальніше

   Вступ до JAX-WS

Вступ до JAX-WS

1. Огляд Java API для веб-служб XML (JAX-WS) - це стандартизований API для створення та споживання веб-служб SOAP (Simple Object Access Protocol). У цій статті ми створимо веб-службу SOAP і підключимося до неї за допомогою JAX-WS. 2. МИЛО SOAP - це специфікація XML для надсилання повідомлень через мережу. Повідомлення SOAP не залежать від будь-якої о

Детальніше

   Як виправити java.lang.UnsupportedClassVersionError

Як виправити java.lang.UnsupportedClassVersionError

1. Вступ У цьому короткому посібнику ми дізнаємося, що спричиняє помилку виконання Java java.lang.UnsupportedClassVersionError: Непідтримувана версія major.minor та як це виправити. 2. Погляд на помилку Почнемо з розгляду прикладу помилки: Exception in thread "main" java.lang.UnsupportedClassVersionError: com/baeldung/MajorMinorApp has been compiled by a more recent version of the Java Runtime (class file version 55.0

Детальніше

   Вкладання значень у Java Enum

Вкладання значень у Java Enum

1. Вступ Тип перечислення Java забезпечує підтримуваний мовою спосіб створення та використання константних значень. Визначаючи кінцевий набір значень, перерахування є більш безпечним для типу, ніж постійні літеральні змінні, такі як String або int . Однак, перераховуються значення повинні бути допустимими ідентифікаторами , і ми рекомендується використовувати SCREAMING_SNAKE_CASE за угодою. З огляду на ці обмеження, перерахування значення

Детальніше

   Підручник з Apache Maven

Підручник з Apache Maven

1. Вступ Побудова програмного проекту зазвичай складається з таких завдань, як завантаження залежностей, розміщення додаткових банок на шляху до класу, компіляція вихідного коду в двійковий код, запуск тестів, упаковка скомпільованого коду в розгортаються артефакти, такі як файли JAR, WAR та ZIP, та розгортання цих артефактів на сервер додатків або сховище. Apache Maven автоматизує ці завдання, мінімізуючи ризик помилок людей під час побудови програмного забезпечення вручну та відокремлюючи роботу зі складання та упаковки нашого коду від роботи з побудови коду. У цьому посібнику ми збираємось

Детальніше

   Кількість цифр у цілому числі в Java

Кількість цифр у цілому числі в Java

1. Вступ У цьому короткому посібнику ми розглянемо різні способи отримання кількості цифр в Integer в Java. Ми також проаналізуємо ці різні методи і з’ясуємо, який алгоритм найкраще підходить для нашої ситуації. 2. Кількість цифр у цілому числі Для обговорених тут методів ми розглядаємо лише натуральні числа. Якщо ми очікуємо будь-якого негативного введення, то спочатку м

Детальніше

   Способи ітерації над списком на Java

Способи ітерації над списком на Java

1. Вступ Перегляд елементів списку - одне з найпоширеніших завдань програми. У цьому підручнику ми розглянемо різні способи зробити це в Java. Ми зосередимося на перегляді списку по порядку, хоча рухатися навпаки теж просто. 2. для Петлі Під - перше, давайте розглянемо деякі для варіантів циклу. Почнемо з визначення списку країн для наших прикладів: List countries = Arrays.asList("Germany", "Panam

Детальніше

   Посібник по java.util.concurrent.Future

Посібник по java.util.concurrent.Future

1. Огляд У цій статті ми збираємось дізнатись про майбутнє . Інтерфейс, який існує з Java 1.5 і може бути дуже корисним при роботі з асинхронними викликами та одночасною обробкою. 2. Створення майбутнього Простіше кажучи, клас Future представляє майбутній результат асинхронних обчислень - результат, який з часом з

Детальніше

   Огляд типів каскаду JPA / Hibernate

Огляд типів каскаду JPA / Hibernate

1. Вступ У цьому підручнику ми обговоримо, що таке каскадування в JPA / Hibernate. Потім ми розглянемо різні доступні типи каскаду, а також їх семантику. 2. Що таке каскадне? Взаємозв'язки суб'єктів господарювання часто залежать від існування іншої сутності - наприклад, відносини Особа - адреса . Без обличчя , то адреса підприємство не має ніякого значення своїх власних. Коли ми видаляємо сутність Person , наша сутність Address також повинна бути видалена. Каскад - це спосіб цього досягти. Коли ми виконуємо якусь ді

Детальніше

   Статичні та стандартні методи в інтерфейсах на Java

Статичні та стандартні методи в інтерфейсах на Java

1. Огляд Java 8 представила до таблиці кілька абсолютно нових функцій, включаючи лямбда-вирази, функціональні інтерфейси, посилання на методи, потоки, необов’язкові та статичні та за замовчуванням методи в інтерфейсах. Деякі з них вже були висвітлені в цій статті. Тим не менше, статичні методи та методи за замовчуванням в інтерфейсах заслуговують на більш глибокий розгляд самостійно. У цій с

Детальніше

   Читання та запис користувацького введення в Java

Читання та запис користувацького введення в Java

1. Вступ У цьому короткому навчальному посібнику ми продемонструємо кілька способів використання консолі для введення та виведення даних в Java . Ми розглянемо кілька методів класу Scanner для обробки введення, а потім покажемо кілька простих результатів за допомогою System.out . Нарешті, ми побачимо, як використовувати консольний клас, доступний з Java 6, як для введення, так і для виводу консолі. 2. Читання з System.in Для перших прикладів ми будемо використовувати клас Scanner у

Детальніше

   Вступ до Spring Batch

Вступ до Spring Batch

1. Вступ У цій статті ми зосередимося на практичному введенні Spring Batch, орієнтованому на код. Spring Batch - це система обробки, призначена для надійного виконання завдань. Це поточна версія 3.0, яка підтримує Spring 4 та Java 8. Вона також вміщує JSR-352, що є новою специфікацією Java для пакетної обробки. Ось декілька цікавих

Детальніше

   Розуміння витоків пам'яті в Java

Розуміння витоків пам'яті в Java

1. Вступ Однією з основних переваг Java є автоматизоване управління пам’яттю за допомогою вбудованого збірника сміття (або скорочено GC ). GC неявно піклується про розподіл і звільнення пам'яті, і, отже, здатний вирішити більшість проблем з витоками пам'яті. Хоча GC ефективно обробляє значну частину пам'яті, це не гарантує надійного рішення для витоку пам'яті. GC досить розумний, але не бездоганний. Витоки пам’яті все одно можуть підкрастись навіть у додатк

Детальніше

   Посібник із виразів Cron

Посібник із виразів Cron

1. Огляд Простіше кажучи, cron - це основна утиліта, доступна в системах на базі Unix. Це дозволяє користувачам планувати періодичне виконання завдань у визначену дату / час. І, природно, це чудовий інструмент для автоматизації багатьох процесів, які в іншому випадку потребували б людського втручання. Cr

Детальніше

   Перевірені та не позначені винятки в Java

Перевірені та не позначені винятки в Java

1. Огляд Винятки Java діляться на дві основні категорії: перевірені винятки та неперевірені винятки . У цій статті ми надамо кілька зразків коду про те, як ними користуватися. 2. Перевірені винятки Загалом, перевірені винятки представляють помилки поза контролем програми. Наприклад, конструктор FileInputStream

Детальніше

   Пошук найбільшого спільного дільника в Java

Пошук найбільшого спільного дільника в Java

1. Огляд У математиці GCD двох цілих чисел, які є ненульовими, є найбільшим додатним цілим числом, яке ділить кожне з цілих чисел рівномірно. У цьому підручнику ми розглянемо три підходи до пошуку Найбільшого спільного дільника (GCD) двох цілих чисел. Далі ми розглянемо їх реалізацію на Java. 2. Груба сила Для нашого першого підходу ми повторюємо від 1 до найменшого заданого числа та перевіряємо, чи ці дані діляться на індекс. Найбільшим індек

Детальніше

   Керівництво до повного майбутнього

Керівництво до повного майбутнього

1. Вступ Цей підручник - посібник із функціональних можливостей та випадків використання класу CompletableFuture, який був представлений як вдосконалення Java 8 Concurrency API. 2. Асинхронне обчислення в Java Про асинхронні обчислення важко міркувати. Зазвичай ми хочемо розглядати будь-яке обчислення як ряд кроків, але у випадку асинхронного обчислення дії, представлені у вигляді зворотних викликів, як правило, розкидан

Детальніше

   Короткий посібник із сфери використання весняних бобів

Короткий посібник із сфери використання весняних бобів

1. Огляд У цьому короткому підручнику ви дізнаєтесь про різні типи сфери використання квасолі в рамках Spring. Сфера використання квасолі визначає життєвий цикл та видимість цього зерна в контексті, в якому він використовується. Остання версія Spring framework визначає 6 типів областей застосування: синглтон прототип запит сесія застосування веб-розетка Останні чотири сфери згаданого запиту, сеансу

Детальніше

   Уникайте перевірки наявності null-виписки в Java

Уникайте перевірки наявності null-виписки в Java

1. Огляд Як правило, нульові змінні, посилання та колекції досить складно обробляти в коді Java. Їх не тільки важко визначити, але й складно мати з ними справу. По суті, будь-яка помилка у роботі з null не може бути ідентифікована під час компіляції, і це призводить до NullPointerException під час виконання. У цьому підручнику ми розглянемо необхідність перевіряти наявність нуля в Java та різні альтернативи, які допомагають нам уникнути нульових перевірок у нашому коді. 2. Що таке NullPointerException? Згідно з Javadoc дл

Детальніше

   Весняний привід завантажувача

Весняний привід завантажувача

1. Огляд У цій статті ми представляємо Spring Boot Actuator. Спочатку ми розглянемо основи, а потім детально обговоримо, що доступно у Spring Boot 2.x проти 1.x. Ми дізнаємося, як користуватися, налаштовувати та розширювати цей інструмент моніторингу в Spring Boot 2.x та WebFlux, скориставшись моделлю реактивного програмування. Потім ми обговоримо, як зробити те саме за допомогою Boot 1.x. Spring Boot Actuator доступний з квітня 2014 ро

Детальніше

   Кеш-пам’ять другого рівня

Кеш-пам’ять другого рівня

1. Огляд Однією з переваг рівнів абстракції бази даних, таких як фреймворки ORM (об'єктно-реляційне відображення), є їх здатність прозоро кешувати дані, отримані з базового сховища. Це допомагає усунути витрати на доступ до бази даних для часто доступних даних. Приріст продуктивності може бути значним, якщо коефіцієнт чита

Детальніше

   Додавання символу до рядка в заданій позиції

Додавання символу до рядка в заданій позиції

1. Вступ У цьому короткому посібнику ми продемонструємо, як додати символ у будь-якій заданій позиції в рядку на Java . Ми представимо три реалізації простої функції, яка приймає вихідний рядок, символ і позицію, де нам потрібно його додати. Оскільки клас String є остаточним і незмінним, функція повинна повернути новий String із доданим символом. 2. Використання символьного масиву Тут ідея полягає в тому, щоб створити новий м

Детальніше

   Вступ до сервлетів Java

Вступ до сервлетів Java

1. Огляд У цій статті ми розглянемо основний аспект веб-розробки в Java - сервлети. 2. Сервлет і контейнер Простіше кажучи, сервлет - це клас, який обробляє запити, обробляє їх і відповідає відповіддю. Наприклад, ми можемо використовувати сервлет для збору вхідних даних користувача через форму HTML, запитів записів з бази даних та динамічного створення

Детальніше

   JSON на Java

JSON на Java

Джексон Топ Я щойно оголосив про новий курс Learn Spring , орієнтований на основи Spring 5 та Spring Boot 2: >> ПЕРЕВІРИТИ КУРС 1. Огляд Робота з даними JSON на Java може бути простою , але - як і більшість інших процесів на Java - існує безліч варіантів та бібліотек, з яких ми можемо вибрати. Цей посібник повинен полегшити цей вибір та дати вам глибоке розуміння екосистеми вже зараз. Ми обговоримо найпоширеніші бібліотеки обробки JSON в Java: Джексон Гсон json-io Генсон

Детальніше

   Перевантаження та перевизначення методів у Java

Перевантаження та перевизначення методів у Java

1. Огляд Перевантаження та перевизначення методів є ключовими поняттями мови програмування Java, і як такі, вони заслуговують на детальний розгляд. У цій статті ми вивчимо основи цих понять і побачимо, в яких ситуаціях вони можуть бути корисними. 2. Метод Перевантаження Перевантаження методів - це потужний механізм, який дозволяє нам визначати API згуртованого класу. Щоб краще зрозуміти, чому перевантаження методів є такою цінною функцією,

Детальніше

   Початок роботи з властивостями Java

Початок роботи з властивостями Java

1. Огляд Більшості додатків Java у певний момент потрібно використовувати властивості, як правило, для зберігання простих параметрів як пар ключ-значення, поза компільованим кодом. І тому мова має першокласну підтримку властивостей - java.util.Properties - клас утиліти, призначений для обробки файлів конфігурації цього типу.

Детальніше

   Просте керівництво по об’єднанню з’єднань у Java

Просте керівництво по об’єднанню з’єднань у Java

1. Огляд Пул з'єднань - це добре відомий шаблон доступу до даних, основною метою якого є зменшення накладних витрат, пов'язаних із виконанням з'єднань з базою даних та операціями читання / запису бази даних. У двох словах, пул підключень є, на найосновнішому рівні, реалізацією кешу підключення до бази даних , який можна налаштувати відповідно до конкретних вимог. У ць

Детальніше

   Основи перевірки Java Bean

Основи перевірки Java Bean

1. Огляд У цьому короткому навчальному посібнику ми висвітлюємо основи перевірки Java-компонента за допомогою стандартного фреймворку - JSR 380, також відомого як Bean Validation 2.0 . Перевірка введення користувачем є надзвичайно поширеною вимогою в більшості програм. А рамка перевірки Java Bean стала фа

Детальніше

   Зимовий сплячий підручник з анотацій

Зимовий сплячий підручник з анотацій

1. Вступ У цьому короткому посібнику ми коротко розглянемо, як анотацію @ManyToMany можна використовувати для вказівки цього типу відносин у режимі глибокого сну. 2. Типовий приклад Почнемо з простої діаграми взаємовідносин сутності, яка показує взаємозв'язок між багатьма працівниками та проектом: У цьому сценарії будь-який співробітник може бути призначений для кількох проектів, і проект може мати декількох співробітників, які працюють на нього, що призводить до асоціації багато-до-багатьох між ними. Ми маємо співробітник таблицю з employee_id в якості первинного ключа і проект таблиці з

Детальніше

   Використання оператора Not Not в умовах If у Java

Використання оператора Not Not в умовах If у Java

1. Вступ У операторах if-else Java ми можемо вчинити певну дію, коли вираз є істинним , і альтернативне, коли воно є хибним . У цьому підручнику ми дізнаємося про те, як змінити логіку за допомогою оператора not . 2. якщо-інакше S tatement Почнемо з простого твердження if-else : boolean isValid = true; if (isValid) { System.out.println("Valid"); } else { System.

Детальніше

   Перевірте REST API за допомогою curl

Перевірте REST API за допомогою curl

1. Огляд Цей посібник дає короткий огляд тестування REST API за допомогою curl. curl - це інструмент командного рядка для передачі даних і підтримує близько 22 протоколів, включаючи HTTP. Ця комбінація робить його дуже хорошим спеціальним інструментом для тестування наших послуг REST. 2. Параметри командного рядка c

Детальніше

   Перетворити дату на LocalDate або LocalDateTime і назад

Перетворити дату на LocalDate або LocalDateTime і назад

1. Огляд Починаючи з Java 8, у нас є новий API дати: java.time . Однак іноді нам все одно потрібно виконувати перетворення між новим та старим API та працювати з поданнями дат з обох. 2. Перетворення java.util.Date у java.time.LocalDate Почнемо з перетворення старого подання дати на нове. Тут ми можемо

Детальніше

   Анотація Spring @Qualifier

Анотація Spring @Qualifier

1. Огляд У цій статті ми дослідимо, у чому нам може допомогти анотація @Qualifier , які проблеми вона вирішує та як із нею користуватися. Ми також пояснимо, чим це відрізняється від анотації @Primary та від автоматичного підключення по імені. 2. Потрібна автоматична провідність для неоднозначності @Autowired анотації є відмінним способом зробити необхідність надати залежність навесні явними. І хоча це корисно, існую

Детальніше

   Посібник з інтерфейсу черги Java

Посібник з інтерфейсу черги Java

1. Вступ У цьому підручнику ми обговоримо інтерфейс Java Queue . По- перше, ми будемо приймати швидкий погляд на те , що чергу робить, і деякі з його основних методів . Далі ми розглянемо ряд реалізацій, які Java пропонує в якості стандарту. Нарешті, ми поговоримо про безпеку потоків, перш ніж обертати все це. 2. Візуалізація черги Почнемо з швидкої аналогії. Уявіть, що ми щойно відкрили свій перший бізнес - ст

Детальніше

   Вступ до використання чебрецю навесні

Вступ до використання чебрецю навесні

1. Вступ Thymeleaf - це механізм шаблонів Java для обробки та створення HTML, XML, JavaScript, CSS та тексту. У цій статті ми обговоримо, як використовувати Thymeleaf з Spring, а також деякі основні випадки використання в шарі подання програми Spring MVC. Бібліотека надзвичайно розширювана, і її природні можливості створення шаблонів гарантують, що шаблони можуть бути прототиповані без внутрішньої об

Детальніше

   Анотація заводу шаблон на Java

Анотація заводу шаблон на Java

1. Огляд У цій статті ми обговоримо шаблон дизайну абстрактних фабрик. У книзі "Шаблони дизайну: елементи багаторазового об'єктно-орієнтованого програмного забезпечення" зазначено, що "Фабрика абстрактних " забезпечує інтерфейс для створення сімей споріднених або залежних об'єктів без вказівки їх конкретних класів ". Іншими словами, ця модель дозволяє нам створювати об'єкти, які дотримуються загального зразка. Приклад шаблону проектування Abstract Factory в JDK є newInstance () з javax.xml.parsers.DocumentBuilderFactory класу. 2. Приклад абстрактного дизайну заводу У цьому

Детальніше

   Як скопіювати файл за допомогою Java

Як скопіювати файл за допомогою Java

1. Огляд У цій статті ми розглянемо поширені способи копіювання файлів на Java. Спочатку ми будемо використовувати стандартні API IO та NIO.2 , а також дві зовнішні бібліотеки: commons-io та guava. 2. IO API (до JDK7) Перш за все, щоб скопіювати файл за допомогою API java.io , нам потрібно відкрити потік, прокрутити вміст і з

Детальніше

   Розділіть рядок на Java

Розділіть рядок на Java

1. Вступ Розщеплення струн - дуже часта операція; цей короткий посібник зосереджений на деяких API, які ми можемо використовувати для цього просто на Java. 2. String.split () Почнемо з базової бібліотеки - сам клас String пропонує метод split () - що є дуже зручним та достатнім для більшості сценаріїв. Він просто розбиває даний рядок на основі роздільника, повертаючи масив рядків . Давайте розглянемо кілька прикладів. Ми почнемо з розділення через кому: String[] splitted = "peter,james,thomas".split(",");

Детальніше

   Структура даних Trie в Java

Структура даних Trie в Java

1. Огляд Структури даних представляють найважливіший актив у програмуванні комп’ютера, і дуже важливо знати, коли і навіщо їх використовувати. Ця стаття є коротким вступом до структури даних trie (вимовляється "спробувати"), їх реалізації та аналізу складності. 2. Тріє Трие - це дискретна структура даних, яка не зовсім відома або широко згадується в типових курсах алгоритмів, але тим не менш важлива. Trie (також відоме як цифрове дерево), а іноді навіть дерево radix

Детальніше

   Весна з Мейвен

Весна з Мейвен

Зміст Огляд Основні весняні залежності від Maven Весняна наполегливість з Мейвен Весняний MVC з Maven Весняна безпека з Maven Весняний тест з Maven Використання віх Використання знімків Висновок 1. Огляд Цей підручник ілюструє, як налаштувати залежності Spring через Maven . Останні весняні випуски можна знайти на Maven Central. 2. Основн

Детальніше

   Короткий посібник до Spring @Value

Короткий посібник до Spring @Value

1. Огляд У цьому короткому навчальному посібнику ми поглянемо на анотацію @Value Spring. Цю анотацію можна використовувати для введення значень у поля у керованих Spring елементах, і її можна застосувати на рівні поля або конструктора / параметра параметра. 2. Налаштування програми Щоб описати різні типи використання цієї анотації, нам потрібно налаштувати простий клас конфігурації програми Spring. Звичайно, нам знадобиться файл властивостей, щоб

Детальніше

   Склад, агрегація та асоціація на Java

Склад, агрегація та асоціація на Java

1. Вступ Об’єкти мають взаємозв’язки між собою як у реальному житті, так і в програмуванні. Іноді важко зрозуміти або реалізувати ці стосунки. У цьому підручнику ми зосередимося на вивченні Java трьох типів взаємозв’язків, що легко змішуються: композиція, агрегація та асоціація. 2. Склад Композиція - це тип відносин, що «належать». Це означає, що один із об’єктів є логічно більшою структурою, яка містить інший об’єкт. Іншими словами, це частина або член іншого об'єкта. Як варіант, ми часто називаємо ц

Детальніше

   Перевірте, чи два рядки є анаграмами на Java

Перевірте, чи два рядки є анаграмами на Java

1. Огляд Згідно з Вікіпедією, анаграма - це слово чи фраза, утворена шляхом перестановки букв іншого слова чи фрази. Ми можемо узагальнити це при обробці рядків, сказавши, що анаграма рядка - це інший рядок із точно такою ж кількістю кожного символу в ньому в будь-якому порядку . У цьому посібнику ми розглянемо виявлення цілих рядкових анаграм, де кількість кожного символу має бути рівною, включаючи не-альфа-символи, такі як пробіли та цифри. Наприклад, "! З низьким вмістом солі!" і “сов-лат !!” в

Детальніше

   Паралельність Java

Паралельність Java

Основи паралельності Java Огляд java.util.concurrent Посібник із синхронізованого ключового слова на Java Посібник з мінливого ключового слова на Java Посібник по java.util.concurrent.Future Вступ до ThreadLocal в Java Життєвий цикл нитки на Java Як вбити нитку Java Вступ до пулів пото

Детальніше

   Видалення або заміна частини рядка в Java

Видалення або заміна частини рядка в Java

1. Огляд У цьому підручнику ми розглянемо різні засоби, якими ми можемо видалити або замінити частину рядка в Java. Ми дослідимо видалення та / або заміну підрядка за допомогою String API, потім використання StringBuilder API і, нарешті, використання класу StringUtils бібліотеки Apache Commons. В якості бонусу, ми також розглянемо в заміні точного слова , використовуючи струнний API і Apache Commons RegExUtils клас . 2. Строковий API Одним з найпростіших і найпростіших методів з

Детальніше

   Вступ до алгоритму Minimax з реалізацією Java

Вступ до алгоритму Minimax з реалізацією Java

1. Огляд У цій статті ми обговоримо алгоритм Minimax та його застосування в ШІ. Оскільки це алгоритм теорії ігор, ми застосуємо просту гру, використовуючи його. Ми також обговоримо переваги використання алгоритму та побачимо, як його можна вдосконалити. 2. Вступ Minimax - це алгоритм прийняття рішень, який зазвичай використовується в покрокових іграх для двох гравців . Мета алгоритму - знайти оптимальний наступний хід. В алгоритмі один гравець нази

Детальніше

   Тестування в Spring Boot

Тестування в Spring Boot

1. Огляд У цьому підручнику ми розглянемо написання тестів із використанням фреймворку в Spring Boot. Ми розглянемо модульні тести, які можуть працювати ізольовано, а також інтеграційні тести, які запускатимуть контекст Spring перед виконанням тестів. Якщо ви новачок у Spring Boot, ознайомтеся з нашим вступом у Spring Boot. 2. Налаштування проекту Додаток, який ми будемо використовувати в цій статті, - це API, який надає деякі основні опер

Детальніше

   BigDecimal та BigInteger у Java

BigDecimal та BigInteger у Java

1. Огляд У цьому посібнику ми продемонструємо класи BigDecimal та BigInteger . Ми опишемо два типи даних, їх характеристики та сценарії їх використання. Ми також коротко розглянемо різні операції з використанням двох класів. 2. BigDecimal BigDecimal являє собою незмінне десяткове число з підписом довільної точності . Він складається з двох частин: Немасштабоване значення - ціле числ

Детальніше

   Посібник з Fork / Join Framework в Java

Посібник з Fork / Join Framework в Java

1. Огляд Фреймворк fork / join був представлений на Java 7. Він надає інструменти, що допомагають прискорити паралельну обробку, намагаючись використовувати всі доступні ядра процесора - що досягається за допомогою підходу розділити і завоювати . На практиці це означає, що фреймворк спочатку «розгалужується» , рекурсивно розбиваючи завдання на менші незалежні підзадачі, поки вони не стануть досить простими для виконання асинхронно.

Детальніше

   Практичні приклади Java для нотації Big O

Практичні приклади Java для нотації Big O

1. Огляд У цьому підручнику ми поговоримо про те, що означає Big O Notation. Ми розглянемо кілька прикладів, щоб дослідити його вплив на час роботи вашого коду. 2. Інтуїція великої нотації O Ми часто чуємо ефективність алгоритму, описаного за допомогою Big O Notation. Вивчення продуктивності алгоритмів - або алгоритмічної складності - потрапляє в область аналізу алгоритмів. Аналіз алгоритму відповідає на питання, скільки ресурсів, таких як дисковий прост

Детальніше

   Перетворення рядка в JsonObject за допомогою Gson

Перетворення рядка в JsonObject за допомогою Gson

1. Огляд Під час роботи з JSON на Java за допомогою бібліотеки Gson у нас є кілька можливостей для перетворення необробленого JSON в інші класи або структури даних, з якими ми можемо працювати простіше. Наприклад, ми можемо перетворити рядки JSON на карту або створити власний клас із зіставленнями. Однак іноді зручно мати можливість перетворити на

Детальніше

   Вступ до ThreadLocal в Java

Вступ до ThreadLocal в Java

1. Огляд У цій статті ми розглянемо конструкцію ThreadLocal із пакета java.lang . Це дає нам можливість зберігати дані окремо для поточного потоку - і просто обертати їх у спеціальний тип об’єкта. 2. API ThreadLocal TheadLocal конструкція дозволяє зберігати дані , які будуть доступні тільки по конкретній темі . Скажімо, ми хочемо ма

Детальніше

   Керівництво по ConcurrentMap

Керівництво по ConcurrentMap

1. Огляд Карти , природно, є одним із найпоширеніших стилів колекції Java. І, що важливо, HashMap не є поточно безпечною реалізацією, тоді як Hashtable забезпечує безпеку потоків шляхом синхронізації операцій. Незважаючи на те, що Hashtable є безпечним для потоків, він не дуже ефективний. Інша повністю синхронізована карта, Collections.synchronizedMap, тако

Детальніше

   Регулярні вирази \ s та \ s + у Java

Регулярні вирази \ s та \ s + у Java

1. Огляд Заміна рядків є стандартною операцією, коли ми обробляємо рядки на Java. Завдяки зручному методу replaceAll () у класі String , ми можемо легко виконати заміну рядків регулярними виразами. Однак іноді вирази можуть заплутати, наприклад, \ s та \ s +. У цьому короткому навчальному посібнику ми розглянемо різницю між двома регу

Детальніше

   Спадщина та склад (відносини Is-a проти Has-a) у Java

Спадщина та склад (відносини Is-a проти Has-a) у Java

1. Огляд Спадкування та композиція - поряд з абстракцією, інкапсуляцією та поліморфізмом - є наріжними каменями об’єктно-орієнтованого програмування (ООП). У цьому підручнику ми розглянемо основи успадкування та композиції, а також зосередимося на виявленні відмінностей між двома типами стосунків. 2. Основи спадщини Спадщина - це потужний, але зловживаний і зловживаний механізм. Простіше кажучи, з успадкуванням, базовий клас (він же базовий тип) визначає стан і поведінку, загальні для даного типу, і дозволяє підкласам (вони ж підтипи) надав

Детальніше

   Керівництво по API регулярних виразів Java

Керівництво по API регулярних виразів Java

1. Огляд У цій статті ми обговоримо API Java Regex API та те, як регулярні вирази можна використовувати в мові програмування Java. У світі регулярних виразів є безліч різних варіантів вибору, таких як grep, Perl, Python, PHP, awk та багато іншого. Це означає, що регулярний вираз, який працює на одній мові програмування, може не працювати на іншій. Синтаксис регулярних виразів у Java найбільш подібний

Детальніше

   Форматування чисел у Java

Форматування чисел у Java

1. Огляд У цьому підручнику ми розглянемо різні підходи до форматування чисел у Java та способи їх реалізації. 2. Основне форматування чисел у форматі String # Метод форматування String # дуже корисний для форматування чисел. Метод приймає два аргументи. Перший аргумент описує шаблон того, скільки десяткових місць ми хочемо бачити, а другий аргумент - це задане значення: double value = 4.

Детальніше

   Обробка помилок для REST з Spring

Обробка помилок для REST з Spring

REST Top Я щойно оголосив про новий курс Learn Spring , орієнтований на основи Spring 5 та Spring Boot 2: >> ПЕРЕВІРИТИ КУРС 1. Огляд Цей підручник проілюструє, як реалізувати обробку винятків із Spring для REST API. Ми також отримаємо трохи історичного огляду та побачимо, які нові варіанти представлені різними версіями. До версії 3.2 д

Детальніше

   Бажання / ліниве завантаження в сплячому режимі

Бажання / ліниве завантаження в сплячому режимі

Стійкість зверху Я щойно оголосив про новий курс Learn Spring , орієнтований на основи Spring 5 та Spring Boot 2: >> ПЕРЕВІРИТИ КУРС 1. Вступ Під час роботи з ORM отримання / завантаження даних можна класифікувати на два типи: нетерплячі та ліниві. У цій короткій статті ми вказамо на відмінності та покажемо, як їх можна використовувати в режимі глибокого сну. 2. Залежності Мейвена Для того, щоб використовува

Детальніше

   Завантажте файл із URL-адреси в Java

Завантажте файл із URL-адреси в Java

1. Вступ У цьому посібнику ми побачимо кілька методів, якими ми можемо скористатись для завантаження файлу. Ми розглянемо приклади, починаючи від базового використання Java IO до пакета NIO, а також деяких загальних бібліотек, таких як Async Http Client та Apache Commons IO. Нарешті, ми поговоримо про те, як ми можемо відновити завантаження, якщо наше з’єднання не вдасться, перш ніж буде прочитано весь файл. 2. Використання Java IO Найпростіший API, який

Детальніше

   Tomcat java.net.BindException: Адреса вже використовує помилку в Java

Tomcat java.net.BindException: Адреса вже використовує помилку в Java

1. Огляд У цьому короткому посібнику ми розглянемо, що спричиняє поширену помилку java.net.BindingException: Помилка адреси, яка вже використовується, та як ми можемо з цим боротися. 2. Коли виникає помилка? Як ми знаємо, сервер Apache Tomcat за замовчуванням використовує порт 8080. Номери портів варіюют

Детальніше

   Що таке безпека різьби та як її досягти?

Що таке безпека різьби та як її досягти?

1. Огляд Java підтримує багатопоточність із коробки. Це означає, що запустивши байт-код одночасно в окремих робочих потоках, JVM здатний покращити продуктивність програми. Хоча багатопотоковість є потужною функцією, вона має свою ціну. У багатопоточних середовищах нам потрібно писати реалізації безпечним

Детальніше

   Коли Java видає ExceptionInInitializerError?

Коли Java видає ExceptionInInitializerError?

1. Огляд У цьому короткому посібнику ми побачимо, що змушує Java викидати екземпляр винятку ExceptionInInitializerError . Ми почнемо з трохи теорії. Тоді ми побачимо кілька прикладів цього винятку на практиці. 2. Помилка ExceptionInInitializerError ExceptionInInitializerError вказує на те, що несподіване виключення відбулося в статичному ініціаліза

Детальніше

   Встановлення версії Java у Maven

Встановлення версії Java у Maven

1. Огляд У цьому короткому посібнику ми покажемо, як встановити версію Java у Maven . Перш ніж рухатися вперед, ми можемо перевірити версію Maven за замовчуванням JDK . Запуск команди mvn -v покаже версію Java, в якій працює Maven. 2. Використовуйте плагін компілятора Ми можемо вказати бажану версію Java у плагіні компілятора. 2.1. Плагін компілятора Перший варіант - встановленн

Детальніше

   Помилка StackOverflowEr в Java

Помилка StackOverflowEr в Java

1. Огляд StackOverflowError може дратувати розробників Java, оскільки це одна з найпоширеніших помилок виконання, з якими ми можемо зіткнутися. У цій статті ми побачимо, як може статися ця помилка, розглянувши різні приклади коду, а також те, як ми можемо з нею боротися. 2. Фрейми стека та як відбувається StackOverflowError Почнемо з основ. Коли викликається метод, у стеку викликів створюється новий кадр стека. Цей фрейм стека містить параметри викликаного методу

Детальніше

   Побітові оператори Java

Побітові оператори Java

1. Огляд Оператори використовуються в мові Java для роботи з даними та змінними. У цьому посібнику ми дослідимо побітові оператори та їх роботу в Java. 2. Побітові оператори Побітові оператори працюють над двійковими цифрами або бітами вхідних значень. Ми можемо застосувати їх до цілочисельних типів - long, int, short, char та byte. Перш ніж вивчати різні побітові оператори, давайте спочатку зрозуміємо, як вони працюють. Побітові оператори працюю

Детальніше

   Посібник з Java API для WebSocket

Посібник з Java API для WebSocket

1. Огляд WebSocket забезпечує альтернативу обмеженню ефективного спілкування між сервером та веб-браузером, забезпечуючи двонаправлений, повнодуплексний зв'язок клієнт / сервер у реальному часі. Сервер може відправити дані клієнту в будь-який час. Оскільки він працює за протоколом TCP, він також забезпечує низький рівень зв'язку та зменшує накладні

Детальніше

   Весняне сканування компонентів

Весняне сканування компонентів

1. Огляд У цьому посібнику ми розглянемо сканування компонентів навесні. Працюючи з Spring, ми можемо коментувати наші класи, щоб перетворити їх на Spring Spring. Але, крім цього, ми можемо сказати Spring, де шукати ці анотовані класи, оскільки не всі вони повинні стати бобами в цьому конкретному запуску. Звичайно, є деякі параметри за замовчуванням для сканування компонентів, але ми також можемо налаштувати пакунки для пошуку. Спочатку розглянемо налаштування за замовчуванням. 2. @ComponentScan без аргументів 2.1. Викори

Детальніше

   Керівництво по java.util.GregorianCalendar

Керівництво по java.util.GregorianCalendar

1. Вступ У цьому підручнику ми швидко поглянемо на клас GregorianCalendar . 2. Григоріанський Календар GregorianCalendar - це конкретна реалізація абстрактного класу java.util.Calendar . Не дивно, що Григоріанський календар є найбільш широко використовуваним цивільним календарем у світі. 2.1. Отримання екземпляра Існує два варіанти отримання екземпляра GregorianCalendar: Calendar.getInstance () та використання одного з конструкторів. Використання статичного фабричного мет

Детальніше

   Сканер Java

Сканер Java

1. Огляд сканера У цьому короткому підручнику ми проілюструємо, як використовувати клас Java Scanner - читати введення, знаходити та пропускати шаблони з різними роздільниками. 2. Відскануйте файл Спочатку - давайте подивимось, як читати файл за допомогою сканера . У наступному прикладі - ми читаємо файл, що

Детальніше

   Масиви на Java: Довідковий посібник

Масиви на Java: Довідковий посібник

1. Вступ У цьому підручнику ми глибоко заглибимося в основну концепцію мови Java - масиви. Спочатку ми побачимо, що таке масив, а потім, як ними користуватися; загалом, ми розглянемо, як: Почніть із масивів Читання та запис елементів масивів Цикл над масивом Трансформуйте масиви в інші об'єкти, такі як Список або Потоки Сортування, пошук та об’єднання масивів 2. Що таке масив? Перш за все, нам потрібно визначити, що таке масив? Згідно з документацією Java, масив - це об’єкт, що містить фіксовану кількість значень того самого типу . Елементи масиву індексуються, що означає, що ми мож

Детальніше

   Отримати підрядок із рядка на Java

Отримати підрядок із рядка на Java

1. Огляд У цьому короткому посібнику ми зосередимося на функціональності підрядків рядків у Java. Ми в основному будемо використовувати методи з класу String і кілька з класу StringUtils Apache Commons . У всіх наступних прикладах ми будемо використовувати цей простий рядок: String text = "Julia Evans was born on 25-09-1984. " + "She

Детальніше

   Varargs на Java

Varargs на Java

1. Вступ Varargs були введені в Java 5 і забезпечують короткий опис методів, що підтримують довільну кількість параметрів одного типу. У цій статті ми побачимо, як ми можемо використовувати цю основну функцію Java. 2. Перед Вараргами До Java 5, коли б ми не хотіли передавати довільну кількість аргументів, нам доводилося передавати всі аргументи в масив або реалізовувати

Детальніше

   Весняний черевик із зимовим сном

Весняний черевик із зимовим сном

1. Огляд У цій статті ми розглянемо, як використовувати Spring Boot з Hibernate. Ми створимо простий додаток Spring Boot і побачимо, наскільки легко інтегрувати його з Hibernate. 2. Початкове завантаження програми Ми використаємо Spring Initializr для завантаження програми Spring Boot. У цьому прикладі ми використовуватимемо лише необхідні конфігурації та залежності для інтеграції Hibernate, додаючи залежності Web , JPA та H2 . Ми пояснимо ці залежності в

Детальніше

   Весна @Pathvariable Анотація

Весна @Pathvariable Анотація

1. Огляд У цьому короткому посібнику ми дослідимо анотацію @PathVariable Spring . Простіше кажучи, @PathVariable анотацій може бути використаний для обробки змінних шаблону в запиті відображення URI , і використовувати їх в якості параметрів методу. Давайте подивимося, як використовувати @PathVariable та різні його атрибути. 2. Просте відображення Простим випадком використання анотації @PathVariable буде кінцева точк

Детальніше

   Створення PDF-файлів на Java

Створення PDF-файлів на Java

1. Вступ У цій короткій статті ми зосередимося на створенні PDF-документа з нуля на основі популярних бібліотек iText та PdfBox. 2. Залежності Мейвена Давайте подивимось на залежності Maven, які потрібно включити в наш проект: com.itextpdf itextpdf 5.5.10 org.apache.pdfbox pdfbox 2.0.4 Останню версію бібліотек можна знайти тут: iText та PdfBox. Необхідно додати одну додаткову залежність, якщ

Детальніше

   Сортування рядка в алфавітному порядку на Java

Сортування рядка в алфавітному порядку на Java

1. Огляд У цьому уроці ми покажемо, як сортувати рядок за алфавітом. Причин, за якими ми хотіли б це зробити, може бути багато - одне з них могло б бути підтвердженням, якщо два слова складаються з одного і того ж набору символів. Таким чином, ми перевіримо, чи є вони анаграмою. 2. Сортування рядка Внутрішньо String використовує масив символів для роботи. Тому ми можемо використовувати метод toCharArray (

Детальніше

   Короткий посібник з контролерів пружин

Короткий посібник з контролерів пружин

1. Вступ У цій статті ми зупинимося на основному понятті Spring MVC - контролери. 2. Огляд Почнемо з кроку назад і подивимось на концепцію фронтального контролера в типовій архітектурі Spring Model View Controller . На дуже високому рівні ось основні обов’язки, на які ми розглядаємо: Перехоплює вхідні запити Перетворює корисне навантаження запиту на

Детальніше

   Відмінності між Oracle JDK та OpenJDK

Відмінності між Oracle JDK та OpenJDK

1. Вступ У цій статті ми дослідимо відмінності між Oracle Java Development Kit та OpenJDK. Спочатку ми швидко розглянемо кожен із них, а потім зробимо порівняння. Після цього ми побачимо список інших реалізацій JDK. 2. Oracle JDK та Java SE History JDK (Java Development Kit) - це середовище розробки програмного забезпечення, що використовується в програ

Детальніше

   Як знайти елемент у списку за допомогою Java

Як знайти елемент у списку за допомогою Java

1. Огляд Пошук елемента у списку - дуже поширене завдання, з яким ми стикаємось як розробники. У цьому короткому посібнику ми розглянемо різні способи зробити це за допомогою Java. 2. Налаштування Спочатку давайте почнемо з визначення POJO для клієнта : public class Customer { private int id; private String name; // g

Детальніше

   Реалізація A * Pathfinding в Java

Реалізація A * Pathfinding в Java

1. Вступ Алгоритми пошуку шляхів - це методи навігації по картах , що дозволяють нам знаходити маршрут між двома різними точками. Різні алгоритми мають різні плюси і мінуси, часто з точки зору ефективності алгоритму та ефективності маршруту, який він генерує. 2. Що таке алгоритм пошуку шляхів? Алгоритм пошуку шляхів - це техніка для перетворення графа, що складається з вузлів і ребер, у маршрут через графік . Цей графік може бути будь-яким, що потребує обходу. У ці

Детальніше

   Семафори на Java

Семафори на Java

1. Огляд У цьому короткому посібнику ми вивчимо основи семафорів та мьютексів на Java. 2. Семафор Ми почнемо з java.util.concurrent.Semaphore. Ми можемо використовувати семафори, щоб обмежити кількість паралельних потоків, що отримують доступ до певного ресурсу. У наступному прикладі ми реалізуємо просту чергу входу, щоб обмежити кількість користувачів у системі: class LoginQueueUsingSemaphore { private Semaphore semaphore; public LoginQueue

Детальніше

   Шаблон адаптера в Java

Шаблон адаптера в Java

1. Огляд У цьому короткому посібнику ми розглянемо шаблон адаптера та його реалізацію Java. 2. Шаблон адаптера Шаблон адаптера діє як з'єднувач між двома несумісними інтерфейсами, які в іншому випадку неможливо підключити безпосередньо. Адаптер обгортає існуючий клас новим інтерфейсом, щоб він став сумісним з інтерфейсом клієнта. Основним мотивом використання цього шаблону є перетворення існуючого інтерфейсу в інший інтерфе

Детальніше

   Як знайти JAVA_HOME

Як знайти JAVA_HOME

1. Вступ У цьому короткому дописі ми дізнаємось, як знайти JAVA_HOME у Windows, Mac та Linux. Як ми всі знаємо, JAVA_HOME - це змінна середовища, яку ми зазвичай використовуємо для пошуку виконуваних файлів Java, таких як java та javac . 2. Спеціальні для Windows способи пошуку JAVA_HOME Якщо ми використовуємо Windows як операційну систему, спочатку нам потрібно відкрити наш

Детальніше

   Хеш-карта Java під капотом

Хеш-карта Java під капотом

1. Огляд У цій статті ми збираємось детальніше вивчити найпопулярнішу реалізацію інтерфейсу Map з Java Collections Framework, продовжуючи те, де зупинилася наша вступна стаття. Перш ніж ми почнемо з реалізації, важливо зазначити, що первинні інтерфейси колекції List та Set розширюють Collection, але Map - ні. Простіше кажучи, HashMap зберігає значення за ключем та надає API для додавання, отримання та управління збереженими даними різними способами. Впровадження базується на принципах хеш-таблиці , яка спочатку з

Детальніше

   Приховування змінних та методів у Java

Приховування змінних та методів у Java

1. Вступ У цьому підручнику ми збираємось дізнатись про приховування змінних та методів у мові Java . По-перше, ми зрозуміємо концепцію та мету кожного з цих сценаріїв. Після цього ми заглибимося у варіанти використання та розглянемо різні приклади. 2. Змінне приховування Приховування змінних відб

Детальніше

   Посібник із забезпеченням відпочинку

Посібник із забезпеченням відпочинку

Джексон Топ Я щойно оголосив про новий курс Learn Spring , орієнтований на основи Spring 5 та Spring Boot 2: >> ПЕРЕВІРИТИ КУРС 1. Вступ REST-assured був розроблений для спрощення тестування та перевірки REST API, і на нього впливають методи тестування, що використовуються в динамічних мовах, таких як Ruby та Groovy. Бібліотека має надійну підтримку HTTP, починаючи, звичайно, з дієслів та стандартних операцій HTTP, але також виходячи далеко за межі цих основ. У цьому посібнику ми збираємось дослідити REST- assu

Детальніше

   Підключіть Java до бази даних MySQL

Підключіть Java до бази даних MySQL

Java Top Я щойно оголосив про новий курс Learn Spring , орієнтований на основи Spring 5 та Spring Boot 2: >> ПЕРЕВІРИТИ КУРС 1. Огляд Існує багато способів підключення до бази даних MySQL з Java, і в цьому посібнику ми розглянемо кілька варіантів, щоб побачити, як цього досягти. Для початку ми розглянемо, мабуть, найпопулярніші варіанти за допомогою JDBC та Hibernate. Потім ми також розглянемо деякі зовнішні бібліотеки, включаючи MyBatis, Apache Caye

Детальніше

   FileNotFoundException у Java

FileNotFoundException у Java

1. Вступ У цій статті ми поговоримо про дуже поширений виняток у Java - FileNotFoundException . Ми розглянемо випадки, коли це може статися, можливі способи лікування та деякі приклади. 2. Коли кидається виняток? Як зазначено в документації щодо API Java, цей виняток може виникнути, коли: Файл із зазначе

Детальніше

   Робота з Microsoft Excel на Java

Робота з Microsoft Excel на Java

1. Вступ У цьому підручнику ми продемонструємо використання API Apache POI та JExcel для роботи з електронними таблицями Excel . Обидві бібліотеки можна використовувати для динамічного читання, запису та модифікації вмісту електронної таблиці Excel та забезпечувати ефективний спосіб інтеграції Microsoft Excel у додаток Java. 2. Залежності Мейвена Для початку нам потрібно буде додати такі залежності до нашого файлу pom.xml : org.apache.poi poi 3.15 org.apache.poi poi-ooxml 3.15 Останні версії poi-ooxml та jxls-jexcel можна завантажити з Maven Centr

Детальніше

   Питання та відповіді на інтерв’ю Java String

Питання та відповіді на інтерв’ю Java String

1. Вступ Клас String - це один із найбільш широко використовуваних класів в Java, що спонукало дизайнерів мов звернутися до нього спеціально. Ця особлива поведінка робить його однією з найгарячіших тем інтерв’ю на Java. У цьому посібнику ми розглянемо деякі найпоширеніші запитання щодо інтерв’ю про String . 2. Струнні основи Цей розділ складається з питань, що стосуються внутрішнь

Детальніше

   Захоплення дам-потоку Java

Захоплення дам-потоку Java

1. Огляд У цьому підручнику ми обговоримо різні способи захоплення дампа потоку програми Java. Дамп потоку - це знімок стану всіх потоків процесу Java . Стан кожного потоку подається зі стеком стека, що показує вміст стека потоку. Дамп потоку корисний для діагностики проблем, оскільки відображає активність потоку. Дампи ниток написані простим текстом, тому ми можемо зберегти їх вміст у файл і переглянути ї

Детальніше

   Вступ до SLF4J

Вступ до SLF4J

1. Огляд Простий журнальний фасад для Java (скорочено SLF4J) - діє як фасад для різних систем реєстрації (наприклад, java.util.logging, logback, Log4j). Він пропонує загальний API, що робить ведення журналу незалежним від фактичної реалізації. Це дозволяє співіснувати різні системи реєстрації. Це також допомагає переходити з одного фреймворку на інший. Нарешті, окрім стандартизованого API, він та

Детальніше

   Mockito Verify Cookbook

Mockito Verify Cookbook

1. Огляд Ця кулінарна книга ілюструє, як використовувати перевірку Mockito у різних випадках. Формат куховарської книги є приклад зосереджений і практичний - не стороння подробиць і пояснення необхідності. Ми будемо глузувати із простої реалізації списку : public class MyList extends AbstractList { @Override public String get(final int index) { return null; } @Overr

Детальніше

   Рекурсія на Java

Рекурсія на Java

1. Вступ У цій статті ми зупинимося на основному понятті будь-якої мови програмування - рекурсії. Ми пояснимо характеристики рекурсивної функції та покажемо, як використовувати рекурсію для вирішення різних проблем на Java. 2. Зрозумійте рекурсію 2.1. Визначення У Java механізм виклику функції підтримує можливість самого виклику методу . Ця функціональність відома як рекурсія . Наприклад, припустим

Детальніше