Посібник із Stream.reduce ()

Посібник із Stream.reduce ()

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

Детальніше

   Весняний підручник з MVC

Весняний підручник з MVC

1. Огляд Це простий підручник Spring MVC, який показує, як налаштувати проект Spring MVC, як із конфігурацією на основі Java, так і з конфігурацією XML. Залежності Maven для проекту Spring MVC докладно описані в статті про залежності Spring MVC. 2. Що таке Spring MVC? Як випливає з назви, це модуль фреймворку Spring, що має справу з Model-View-Controller або шаблоном MVC . Він поєднує в собі

Детальніше

   Весняний підручник

Весняний підручник

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

Детальніше

   Різниця між очікуванням та сном у Java

Різниця між очікуванням та сном у Java

1. Огляд У цій короткій статті ми розглянемо стандартні методи sleep () і wait () в основній Java, а також зрозуміємо відмінності та подібності між ними. 2. Загальні відмінності між очікуванням та сном Простіше кажучи, wait () - це метод екземпляра, який використовується для синхронізації потоків. Його можна викликати на будь-якому об'єкті, як це визначено прямо на java.lang.Object, але його можна викликати лише з синхронізованого блоку . Він звільняє замок на об’єкті, щоб інша нитка могла застрибнути і придбати

Детальніше

   Сортування злиття на Java

Сортування злиття на Java

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

Детальніше

   Порівняльний і порівнянний в Java

Порівняльний і порівнянний в Java

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

Детальніше

   Ініціалізація масивів у Java

Ініціалізація масивів у Java

1. Огляд У цьому короткому навчальному посібнику ми побачимо різні способи ініціалізації масиву та незначні відмінності між ними. 2. По одному елементу Почнемо з простого методу на основі циклу: for (int i = 0; i < array.length; i++) { array[i] = i + 2; } І давайте також побачимо, як ми можемо ініціалізувати багатовимірний масив по одному елементу: for (int i = 0; i < 2; i+

Детальніше

   OutOfMemoryError: Перевищено ліміт накладних витрат GC

OutOfMemoryError: Перевищено ліміт накладних витрат GC

1. Огляд Простіше кажучи, JVM піклується про звільнення пам’яті, коли об’єкти більше не використовуються; цей процес називається Збір сміття (GC). Верхня межа Exceeded ОЙ помилка одна з сімейства java.lang.OutOfMemoryError і є показником ресурсу (пам'ять) виснаження. У цій короткій статті ми розглянемо причини того, що спричиняє помилку java.lang.

Детальніше

   Генерація випадкових чисел у діапазоні на Java

Генерація випадкових чисел у діапазоні на Java

1. Огляд У цьому підручнику ми дослідимо різні способи генерації випадкових чисел у межах діапазону. 2. Генерування випадкових чисел у діапазоні 2.1. Math.random Math.random дає випадкове подвійне значення , яке більше або дорівнює 0,0 і менше 1,0. Давайте використаємо метод Math.random для генерації випадкового числа у заданому діапазоні: public int getRandomNumber(int min, int max) { return (int) ((Math.random() *

Детальніше

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

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

1. Огляд У цьому уроці ми розглянемо кілька способів перетворення строкових об'єктів в Даті об'єкти . Ми почнемо з нового API дати часу - java.time, який був введений в Java 8, перш ніж розглядати старий тип даних java.util.Date, який також використовувався для представлення дат. На завершення ми також розглянемо деякі зовнішні бібліотеки для перетворення за допомогою

Детальніше

   Дізнайся Spring Boot

Дізнайся Spring Boot

Spring Boot - це самовпевнене, просте для початку доповнення до платформи Spring - дуже корисне для створення окремих програм виробничого рівня з мінімальними зусиллями. У цій серії ми спочатку розглянемо основи Spring Boot. Читач дізнається, як розпочати роботу, чим Spring Boot відрізняється від Spring, як налаштувати та протестувати програму. Потім ми розглянемо деякі вибрані роз

Детальніше

   Вступ до інверсії контролю та впорскування залежності з пружиною

Вступ до інверсії контролю та впорскування залежності з пружиною

1. Огляд У цій статті ми представимо поняття IoC (інверсія контролю) та DI (ін’єкція залежності), а потім поглянемо, як вони реалізовані в рамках Spring. 2. Що таке інверсія контролю? Інверсія управління - це принцип у програмній інженерії, за допомогою якого управління об’єктами або частинами програми передається

Детальніше

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

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

1. Огляд У цьому короткому посібнику ми побачимо, як ми можемо змінити рядок у Java. Ми почнемо робити цю обробку, використовуючи прості рішення Java. Далі ми розглянемо варіанти, які пропонують сторонні бібліотеки, такі як Apache Commons. Крім того, ми продемонструємо, як змінити порядок слів у реченні . 2. Традиційний для петлі Ми знаємо, що рядки є незмінними в Java. Незмінний об'єкт - це об'єкт, внутріш

Детальніше

   Впровадження алгоритму швидкого сортування в Java

Впровадження алгоритму швидкого сортування в Java

1. Огляд У цьому посібнику ми детально дослідимо алгоритм QuickSort, зосередившись на його реалізації Java. Ми також обговоримо його переваги та недоліки, а потім проаналізуємо його складність у часі. 2. Алгоритм швидкого сортування Quicksort - це алгоритм сортування, який використовує принцип поділу і перемоги. Він має середню складність O (n log n

Детальніше

   Алгоритм двійкового пошуку на Java

Алгоритм двійкового пошуку на Java

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

Детальніше

   Оператор Modulo в Java

Оператор Modulo в Java

1. Огляд У цьому короткому навчальному посібнику ми покажемо, що таке оператор modulo та як ми можемо використовувати його з Java для деяких типових випадків використання. 2. Оператор Modulo Почнемо з недоліків простого поділу в Java. Якщо операнди з обох сторін оператора ділення мають тип int , рез

Детальніше

   Таймер Java

Таймер Java

1. Таймер - основи Timer і TimerTask - це утилітні класи Java, які використовуються для планування завдань у фоновому потоці. Кілька слів - TimerTask - це завдання, яке виконує, а Timer - планувальник . 2. Складіть план завдання один раз 2.1. Після заданої затримки Почнемо з простого запуску одного завдання за допомогою та

Детальніше

   Основи Java Generics

Основи Java Generics

1. Вступ Java Generics були введені в JDK 5.0 з метою зменшення помилок та додавання додаткового рівня абстракції над типами. Ця стаття - короткий вступ до Generics в Java, мети, що стоїть за ними, і того, як їх можна використовувати для покращення якості нашого коду. 2. Потреба у дженериках Давайте уявимо сценарій, коли ми хочемо створити список на Java для зберігання Integer ; ми можемо спокуситися написати: List list = new LinkedList(); list.a

Детальніше

   Нові можливості в Java 8

Нові можливості в Java 8

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

Детальніше

   Стек пам’яті та простору купи в Java

Стек пам’яті та простору купи в Java

1. Вступ Щоб запустити програму оптимальним чином, JVM ділить пам’ять на стекову та кучу пам’яті. Кожного разу, коли ми оголошуємо нові змінні та об'єкти, викликаємо новий метод, оголошуємо String або виконуємо подібні операції, JVM призначає пам'ять для цих операцій або з пам'яті стека, або з кучи простору. У цьому підручнику ми обговоримо ці моделі пам'яті. Ми перелічимо деякі ключові відмінності між ними, як вони зберігаються в оперативній пам’яті, функції, які вони пропонують, і де їх використовувати. 2. Стек пам'яті в Java Пам'ять стек

Детальніше

   Інтернет-компілятори Java

Інтернет-компілятори Java

1. Вступ Інтернет-компілятор - це інструмент, який дозволяє нам компілювати вихідний код і виконувати його в Інтернеті . Це чудовий варіант, особливо для нових студентів Java, репетиторів або інтерв'юерів. Крім того, надзвичайно просто ділитися кодом або співпрацювати в приватних або групових сесіях. Крім того, нам не потрібно встановлювати JDK або IDE . У цій ста

Детальніше