Ръководство за Java 8 forEach

Ръководство за Java 8 forEach

1. Общ преглед Представен в Java 8, цикълът forEach предоставя на програмистите нов, кратък и интересен начин за итерация в колекция . В тази статия ще видим как да използваме forEach с колекции, какъв аргумент е необходим и как този цикъл се различава от подобрения for-loop . Ако трябва да изчистите някои концепции на Java 8, имаме колекция от статии, които могат да ви помогнат. 2. Основи на forEach В Java интерфейсът Collection има Iterable като супер интерфейс - и

Прочетете още

   Форматиране с printf () в Java

Форматиране с printf () в Java

1. Въведение В този урок ще демонстрират различни примери за форматиране с ФОРМАТ () метод . Методът е част от класа java.io.PrintStream и осигурява форматиране на String, подобно на функцията printf () в C. 2. Синтаксис Можем да използваме един от следните методи PrintStream за форматиране на изхода: System.out.printf(format, argument

Прочетете още

   Ръководство за статичната ключова дума в Java

Ръководство за статичната ключова дума в Java

1. Въведение В тази статия ще разгледаме подробно статичната ключова дума на езика Java. Ще открием как можем да приложим статична ключова дума към променливи, методи, блокове, вложени класове и каква е разликата. 2. Анатомията на статичната ключова дума В езика за програмиране Java ключовата дума static показва, че конкретният член принадлежи на самия тип, а не на екземпляр от

Прочетете още

   Добавяне на символ на нов ред към низ в Java

Добавяне на символ на нов ред към низ в Java

1. Общ преглед Форматирането на низове и генерирането на изходен текст често се появяват по време на програмиране. В много случаи е необходимо да добавите нов ред към низ, за ​​да форматирате изхода. Нека да обсъдим как да използваме символи от нов ред. 2. Добавяне на символи от нов ред в низ Операционните системи имат специални символи, обозначаващи началот

Прочетете още

   Въпроси за интервю за пролетно зареждане

Въпроси за интервю за пролетно зареждане

1. Въведение От представянето си Spring Boot е ключов играч в пролетната екосистема. Този проект значително улеснява живота ни с възможностите си за автоматично конфигуриране. В този урок ще разгледаме някои от най-често срещаните въпроси, свързани с Spring Boot, които могат да възникнат по време на интервю за

Прочетете още

   Java - Запис във файл

Java - Запис във файл

1. Общ преглед В този урок ще проучим различни начини за писане във файл с помощта на Java. Ние ще се възползват от BufferedWriter , PrintWriter , FileOutputStream , DataOutputStream , RandomAccessFile , FileChannel, и Java 7 Файлове полезност клас. Също така ще разгледаме заключването на файла по време на писане и ще обсъдим някои окончателни решения з

Прочетете още

   Не можах да намеря или заредя грешка на основния клас

Не можах да намеря или заредя грешка на основния клас

1. Въведение Понякога, когато стартираме програма на Java, може да видим „Не може да се намери или зареди основен клас“. Лесно е да се отгатне причината: JVM не успя да намери основния клас и даде тази грешка. Но защо не може? В този урок ще обсъдим вероятните причини за неуспех да намерим основния клас. Също така ще видим как да ги поправим. 2. Примерна програма Щ

Прочетете още

   Урок за API 8 Stream API

Урок за API 8 Stream API

1. Общ преглед В този задълбочен урок ще преминем през практическото използване на Java 8 Streams от създаването до паралелното изпълнение. За да разберат този материал, читателите трябва да имат основни познания за Java 8 (ламбда изрази, незадължителни, препратки към методите) и за API на Stream. Ако не сте запознати с тези теми, моля, разгледайте предишните ни статии - Нови функции в Java 8 и Въведение в Java 8 Streams. 2. Създаване на поток Има много начини за създаване на екземпляр на поток от различни из

Прочетете още

   Водещи въпроси за интервю за пролетната рамка

Водещи въпроси за интервю за пролетната рамка

Тази статия е част от поредица: • Въпроси за интервю за Java Collections • Въпроси за интервю за система тип Java • Въпроси за интервю за съвпадение на Java (+ отговори) • Структура на Java клас и въпроси за интервю за инициализация • Въпроси за интервю за Java 8 (+ отговори) • Управление на паметта в Java Интервю въпроси (+ отговори) • Въпроси за интервю за Java Generics (+ отговори) • Въпроси за интервю за Java Flow Control (+ отговори) • Въпроси за интервю за Java Exceptions (+ отговори) • Въпроси за интервю за Java Annotations (+ отговори) • Най-добрите пролетни интервю въпроси (

Прочетете още

   Въпроси за интервю за Java 8 (+ отговори)

Въпроси за интервю за Java 8 (+ отговори)

Тази статия е част от поредица: • Въпроси за интервю за Java Collections • Въпроси за интервю за система тип Java • Въпроси за интервю за съвпадение на Java (+ отговори) • Структура на Java клас и въпроси за интервю за инициализация • Въпроси за интервю за Java 8 (+ отговори) (текуща статия) • Управление на паметта в въпроси за интервю за Java (+ отговори) • Въпроси за интервю за Java Generics (+ отговори) • Въпроси за интервю за Java Flow Control (+ отговори) • Въпроси за интервю за Java Exceptions (+ отговори) • Въпроси за интервю за Java Annotations (+ отговори) • Топ пролетни въпр

Прочетете още

   Преобразуване между масив и списък в Java

Преобразуване между масив и списък в Java

1. Общ преглед Тази бърза статия ще покаже как да конвертирате между масив и списък с помощта на основните Java библиотеки, колекции от Guava или Apache Commons. Тази статия е част от поредицата „Java - Back to Basic“ тук на Baeldung. 2. Преобразуване на списък в масив 2.1. Използване на обикновена Java Нека започнем с преобразуването от Списък в масив, използвайки обикнове

Прочетете още

   Ръководство за hashCode () в Java

Ръководство за hashCode () в Java

1. Общ преглед Хеширането е основно понятие на компютърните науки. В Java ефективните алгоритми за хеширане стоят зад някои от най-популярните колекции, които имаме на разположение - като HashMap (за задълбочен поглед към HashMap , не се колебайте да проверите тази статия) и HashSet. В тази статия ще се съсредоточим върху това как работи hashCode () , как се възпроизвежда в колекции и как да го приложим правилно. 2. Използване на hashCode () в Структурите на данни Най-простите опера

Прочетете още

   Какво причинява java.lang.reflect.InvocationTargetException?

Какво причинява java.lang.reflect.InvocationTargetException?

1. Общ преглед Когато работите с Java Reflection API, често се среща java.lang.reflect.InvocationTargetException . В този урок ще го разгледаме и как да се справим с един прост пример . 2. Причина за InvocationTargetException Това се случва главно, когато работим с отражателния слой и се опитваме да извикаме метод или конструктор, който хвърля основното изключение. Отражателният слой обгръща действителното изключение, хвърлено от метода, с InvocationTargetException . Нека се опитаме да го разберем с пример. Нека напишем клас с метод, който умишлено хвърля изключение: public c

Прочетете още

   Как да закръглим число до N десетични места в Java

Как да закръглим число до N десетични места в Java

1. Общ преглед В тази кратка статия ще разгледаме как да закръглим число до n десетични знаци в Java. 2. Десетични числа в Java Java предоставя два примитивни типа, които могат да се използват за съхраняване на десетични числа: float и double . Double е типът, използван по подразбиране: double PI = 3.1415; И двата типа обаче никога не трябва да се използват за точни стойности , като валути. За това, а също и

Прочетете още

   Внедряване на двоично дърво в Java

Внедряване на двоично дърво в Java

1. Въведение В тази статия ще разгледаме изпълнението на двоично дърво в Java. За целите на тази статия ще използваме сортирано двоично дърво, което ще съдържа int стойности . 2. Двоично дърво Двоичното дърво е рекурсивна структура от данни, където всеки възел може да има най-много 2 деца. Често срещан тип

Прочетете още

   Как да чета файл в Java

Как да чета файл в Java

1. Общ преглед В този урок ще изследваме различни начини за четене от файл в Java . Първо ще видим как да заредим файл от пътя на класа, URL или от JAR файл, използвайки стандартни Java класове. На второ място, ще видим как да се чете съдържанието с BufferedReader , скенер , StreamTokenizer , DataInputStream , SequenceInputStream

Прочетете още

   Операторът XOR в Java

Операторът XOR в Java

1. Общ преглед В този кратък урок ще научим за оператора Java XOR . Ще преминем през малко теория за XOR операциите и след това ще видим как да ги приложим в Java. 2. Операторът XOR Нека започнем с малко напомняне за семантиката на операцията XOR . В XOR Логическата операция, или изключително или , се извършва по два булеви операнди и се връща вярно, ако и само ако величините са различни. По този начин връща false, ако

Прочетете още

   Ръководство за Stream.reduce ()

Ръководство за Stream.reduce ()

1. Общ преглед API на Stream предоставя богат репертоар от междинни, редукционни и терминални функции, които също поддържат успоредяване. По-конкретно, операциите за намаляване на потока ни позволяват да създадем един-единствен резултат от поредица от елементи , чрез многократно прилагане на комбинирана операция към елементите в последователността. В този урок ще разгледаме операцията Stream.reduce () с общо предназначение и ще я видим в някои конкретни случаи на използване. 2. Ключовите понятия: Идентичност, акумулатор и комбиниран Преди да разгледаме по-задълбочено използването на операци

Прочетете още

   Пролетен урок за 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

Разлика между чакане и сън в Java

1. Общ преглед В тази кратка статия ще разгледаме стандартните методи sleep () и wait () в основната Java и ще разберем разликите и приликите между тях. 2. Общи разлики между чакане и сън Просто казано, wait () е метод на екземпляр, който се използва за синхронизация на нишки. Той може да бъде извикан за всеки обект, както е дефиниран точно в java.lang.Object, но може да бъде извикан само от синхронизиран блок . Освобождава ключалката на обекта, за да може друга нишка д

Прочетете още

   Сливане на сортиране в Java

Сливане на сортиране в Java

1. Въведение В този урок ще разгледаме алгоритъма Merge Sort и прилагането му в Java . Сливането на обединяване е една от най-ефективните техники за сортиране и се основава на парадигмата „разделяй и владей“. 2. Алгоритъмът Сливането на обединяване е алгоритъм „разделяй и владей“, при който първо разделяме проблема на подпроблеми. Когато решенията за подзадачите

Прочетете още

   Проверете дали низът е цифров в Java

Проверете дали низът е цифров в Java

1. Въведение Често докато работим над String s, трябва да разберем дали String е валидно число или не. В този урок ще изследваме множество начини да открием дали даден низ е цифров , първо използвайки обикновена 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++) { f

Прочетете още

   OutOfMemoryError: Превишен лимит на режима на GC

OutOfMemoryError: Превишен лимит на режима на GC

1. Общ преглед Просто казано, JVM се грижи за освобождаването на паметта, когато обектите вече не се използват; този процес се нарича Събиране на боклук (GC). В надземната Надвишен лимит GC Грешката е един от семейството на java.lang.OutOfMemoryError и е индикация за ресурс (памет) изтощение. В тази кратка статия ще разгледаме какво причинява грешката java.lang.OutOfMemoryError: GC Overhead Limit

Прочетете още

   Генериране на случайни числа в диапазон в 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

Прочетете още

   Ръководство за пролетта @Autowired

Ръководство за пролетта @Autowired

1. Общ преглед Започвайки с Spring 2.5, рамката въвежда инжектиране на зависимостта, управлявано от анотации . Основната анотация на тази функция е @Autowired . Позволява на Spring да разрешава и инжектира боб, който си сътрудничи, в нашия боб. В този урок първо ще разгледаме как да активираме автоматично свързване иразличниначини за автоматично свързване на зърна. След това ще говорим за разрешаване на конфликти

Прочетете още

   Преобразуване на низ в дата в Java

Преобразуване на низ в дата в Java

1. Общ преглед В този урок ще проучим няколко начина за конвертиране на String обекти в Date обекти . Ще започнем с новия API за дата и час - java.time, който е въведен в Java 8, преди да разгледаме стария тип данни java.util.Date, също използван за представяне на дати. За финал ще разгледаме и някои външни библиотеки за преобразуване с помощта на Joda-Time и

Прочетете още

   Научете Spring Boot

Научете Spring Boot

Spring Boot е опитно, лесно за стартиране допълнение към платформата Spring - изключително полезно за създаване на самостоятелни, производствени приложения с минимални усилия. В тази поредица първо ще разгледаме основите на Spring Boot. Читателят ще научи как да започнете, как Spring Boot се различава от S

Прочетете още

   Въведение в инверсията на управлението и впръскването на зависимостта с пружина

Въведение в инверсията на управлението и впръскването на зависимостта с пружина

1. Общ преглед В тази статия ще представим понятията IoC (инверсия на контрола) и DI (инжектиране на зависимост) и след това ще разгледаме как те се прилагат в рамката на Spring. 2. Какво представлява инверсията на контрола? Inversion of Control е принцип в софтуерното инженерство, чрез който управлението

Прочетете още

   Как да обърнете низ в Java

Как да обърнете низ в Java

1. Общ преглед В този бърз урок ще видим как можем да обърнем низ в Java. Ще започнем да правим тази обработка, използвайки обикновени Java решения. След това ще разгледаме опциите, които предоставят библиотеките на трети страни като Apache Commons. Освен това ще демонстрираме как да обърнем реда на думите в изречение . 2. Традиционен за Loop Знаем, че низовете са неизменни в Java. Неизменим обект е обект, чието вътрешно със

Прочетете още

   Внедряване на алгоритъм за бърз сорт в Java

Внедряване на алгоритъм за бърз сорт в Java

1. Общ преглед В този урок ще разгледаме подробно алгоритъма QuickSort, фокусирайки се върху неговото изпълнение на Java. Също така ще обсъдим неговите предимства и недостатъци и след това ще анализираме неговата сложност във времето. 2. Алгоритъм за бързо сортиране Quicksort е алгоритъм за сортиране, който използва принципа на разделяй и владей. Той има средна сложност на O (n log n) и е един от най-използвани

Прочетете още

   Алгоритъм на двоично търсене в Java

Алгоритъм на двоично търсене в Java

1. Общ преглед В тази статия ще разгледаме предимствата на бинарното търсене пред простото линейно търсене и ще разгледаме неговото внедряване в Java. 2. Нужда от ефективно търсене Да приемем, че сме в бизнеса с продажба на вино и милиони купувачи посещават нашето приложение всеки ден. Чрез нашето приложение клиент може да филтрира артикули с цена под n долара, да избере бутилка от резултатите от търсенето и да ги добави в количката си. Имаме милиони потребители, които търсят вина с ценова граница всяка секунд

Прочетете още

   Операторът Modulo в Java

Операторът Modulo в Java

1. Общ преглед В този кратък урок ще покажем какво представлява модулният оператор и как можем да го използваме с Java за някои често използвани случаи. 2. Операторът Modulo Нека започнем с недостатъците на простото разделяне в Java. Ако операндите от двете страни на оператора за разделяне имат тип int , резултатът от операцията е друг int: @Test public void whenIntegerDivision_thenLosesRemainder() { ass

Прочетете още

   Java таймер

Java таймер

1. Таймер - основите Timer и TimerTask са Java util класове, използвани за планиране на задачи във фонова нишка. С няколко думи - TimerTask е задачата за изпълнение, а Timer е планировщикът . 2. Планирайте задача веднъж 2.1. След дадено забавяне Нека започнем с просто изпълнение на една задача с помощт

Прочетете още

   Основите на Java Generics

Основите на Java Generics

1. Въведение Java Generics бяха въведени в JDK 5.0 с цел намаляване на грешките и добавяне на допълнителен слой абстракция над типовете. Тази статия е кратко въведение в Generics в Java, целта зад тях и как те могат да бъдат използвани за подобряване на качеството на нашия код. 2. Необходимостта от генерични лекарства Нека си представим сценарий, в който искаме да създадем списък в Java за съхраняване на Integer ; можем да се изкушим да напишем: List list = new Linke

Прочетете още

   Ръководство за Java ExecutorService

Ръководство за Java ExecutorService

1. Общ преглед ExecutorService е рамка, предоставена от JDK, която опростява изпълнението на задачите в асинхронен режим. Най-общо казано, ExecutorService автоматично предоставя пул от нишки и API за присвояване на задачи към него. 2. Инсталиране на ExecutorService 2.1. Фабрични методи от класа на изпълнителите Най-лесният начин да създадете ExecutorService е да използвате един от

Прочетете още

   Нови функции в Java 8

Нови функции в Java 8

1. Общ преглед В тази статия ще разгледаме набързо някои от най-интересните нови функции в Java 8. Ще говорим за: интерфейс по подразбиране и статични методи, справка за метода и по избор. Вече разгледахме някои функции на изданието на Java 8 - API на потока, ламбда изрази и функционални интерфейси - тъй като те са изчерпателни те

Прочетете още

   Стек памет и куп пространство в Java

Стек памет и куп пространство в Java

1. Въведение За да стартира приложение по оптимален начин, JVM разделя паметта на стек и куп памет. Винаги, когато декларираме нови променливи и обекти, извикваме нов метод, декларираме String или изпълняваме подобни операции, JVM обозначава памет към тези операции от Stack Memory или Heap Space. В този урок ще обсъдим тези модели памет. Ще изброим някои ключови разлики между тях, как те се съхраняват в RAM, функциите, които предлагат, и къде да ги използваме. 2. Стек памет в Java Stack Memory в Java

Прочетете още

   Онлайн компилатори на Java

Онлайн компилатори на Java

1. Въведение Онлайн компилаторът е инструмент, който ни позволява да компилираме изходния код и да го изпълним онлайн . Това е чудесна опция, особено за нови студенти, преподаватели или интервюиращи Java. Освен това е изключително лесно да споделяте кода или да си сътрудничите в частни или групови сесии. Освен това не е необходимо да инсталираме JDK или IDE . В т

Прочетете още

   Ръководство за BufferedReader

Ръководство за BufferedReader

1. Общ преглед BufferedReader е клас, който опростява четенето на текст от поток за въвеждане на символи. Той буферира символите, за да позволи ефективно четене на текстови данни. В този урок ще разгледаме как да използваме класа BufferedReader . 2. Кога да се използва BufferedReader По принцип BufferedRead

Прочетете още

   Как да направя дълбоко копие на обект в Java

Как да направя дълбоко копие на обект в Java

1. Въведение Когато искаме да копираме обект в Java, има две възможности, които трябва да разгледаме - плитко копие и дълбоко копие. Плиткото копиране е подходът, когато копираме само стойности на полета и следователно копирането може да зависи от оригиналния обект. При подхода за дълбоко копиране се уверяваме, че всички обекти в дървото са дълбоко копирани, така че копието не зависи от по-ранни съществуващи обекти, които някога могат да се променят. В тази статия ще сравним

Прочетете още

   Как да копирате масив в Java

Как да копирате масив в Java

1. Общ преглед В тази бърза статия ще обсъдим различни методи за копиране на масиви в Java. Копирането на масив може да изглежда като тривиална задача, но може да доведе до неочаквани резултати и програмно поведение, ако не се направи внимателно. 2. Система Class Нека започнем с основната библиотека на Java - System.arrayCopy () ; това копира масив от масив източник в целеви масив, като започва действието за копиране от позицията източн

Прочетете още

   Java - Генериране на произволен низ

Java - Генериране на произволен низ

В този урок ще покажем как да генерираме произволен низ в Java - първо като използваме стандартните библиотеки на Java, след това използваме вариант на Java 8 и накрая използваме библиотеката Apache Commons Lang. Тази статия е част от поредицата „Java - Back to Basic“ тук на Baeldung. 1. Генерирайте произволен неограничен низ с обикновена Java Нека запо

Прочетете още

   изчакайте и уведомете () Методи в Java

изчакайте и уведомете () Методи в Java

1. Въведение В тази статия ще разгледаме един от най-фундаменталните механизми в Java - синхронизация на нишки. Първо ще обсъдим някои съществени термини и методологии, свързани със съвпадението. И ние ще разработим просто приложение - където ще се справим с проблеми на едновременността, с цел по-добро разбиране wait () и notify (). 2. Синхронизаци

Прочетете още

   Алгоритъм на краткия път на Dijkstra в Java

Алгоритъм на краткия път на Dijkstra в Java

1. Общ преглед Акцентът в тази статия е проблемът с най-краткия път (SPP), който е един от основните теоретични проблеми, известни в теорията на графовете, и как алгоритъмът Dijkstra може да бъде използван за решаването му. Основната цел на алгоритъма е да определи най-краткия път между начален възел и останалата част от графиката. 2. Най-кратък проблем с пътя с Dijkstra Като се има пр

Прочетете още

   Използване на двойки в Java

Използване на двойки в Java

1. Общ преглед В тази кратка статия ние обсъждаме изключително полезната концепция за програмиране, известна като Pair . Двойките осигуряват удобен начин за работа с прост асоцииране на ключ към стойност и са особено полезни, когато искаме да върнем две стойности от метод. Една проста реализация на Pair е достъпна в основните Java библиотеки. Освен това някои библиотеки на трети страни като Apache Commons и Vavr са изложили тази функционалност в съответните си API. 2. Основна реализация

Прочетете още

   Сравнение между пролетта и пролетта

Сравнение между пролетта и пролетта

1. Общ преглед В това описание ще разгледаме разликите между стандартните Spring Spring и Spring Boot. Ще се съсредоточим върху и ще обсъдим как модулите на Spring, като MVC и Security, се различават, когато се използват в основната Spring в сравнение, когато се използват с Boot. 2. Какво е пролетта? Най-просто казано, Spring рамката предоставя цялостна инфраструктурна поддръжка за разработване на Java приложения . Той е пълен с някои приятни функции

Прочетете още

   Ръководство за синхронизираната ключова дума в Java

Ръководство за синхронизираната ключова дума в Java

1. Общ преглед Тази кратка статия ще бъде въведение в използването на синхронизирания блок в Java. Най-просто казано, в среда с много нишки, състояние на състезанието възниква, когато две или повече нишки се опитват да актуализират изменяеми споделени данни едновременно. Java предлага механизъм за избягване на състезателни условия чрез синхронизиране на достъпа на нишки до споделени данни. Част от логиката, маркирана със синхронизирано, се превръща в синхронизиран блок, позволяващ да с

Прочетете още

   Въведение в JSON-Java (org.json)

Въведение в JSON-Java (org.json)

1. Въведение в JSON-Java JSON (съкращение от JavaScript Object Notation) е лек формат за обмен на данни и най-често се използва за комуникация клиент-сървър. Лесен е за четене / писане и не зависи от езика. Стойността на JSON може да бъде друг JSON обект, масив, номер, низ, логическо (вярно / невярно) или нулево. В този урок ще в

Прочетете още

   Как да инсталирам Maven на Windows, Linux, Mac

Как да инсталирам Maven на Windows, Linux, Mac

1. Общ преглед Просто казано, Maven е инструмент за команден ред за изграждане на Java приложения. Проектът Maven предоставя прост ZIP файл, съдържащ предварително компилирана версия на Maven за ваше удобство. Няма инсталатор. От вас зависи да настроите вашите предпоставки и среда, за да стартирате Maven. Инсталирането на Apache Maven е прост процес на извл

Прочетете още

   Въведение в Javatuples

Въведение в Javatuples

1. Общ преглед Кортежът е колекция от няколко елемента, които могат или не могат да бъдат свързани помежду си. С други думи, кортежите могат да се считат за анонимни обекти. Например, [„RAM“, 16, „Astra“] е кортеж, съдържащ три елемента. В тази статия ще разгледаме набързо една наистина проста библиотека, ко

Прочетете още

   Инжектиране на пролетна зависимост

Инжектиране на пролетна зависимост

Инжектирането на зависимости е основен аспект на Spring структурата , чрез която Spring контейнерът „инжектира“ обекти в други обекти или „зависимости“. Най-просто казано, това позволява свободно свързване на компонентите и прехвърля отговорността за управление на компонентите върху контейнера. Нека разгледаме DI с Spring още тук. Основи на DI Въведение в инверсията на управлението и впръскването на зависимостта с пружина Впръскване на зависимостта на конструктора през пролетта Ръководство за пролетта @Autowired Окабеляване

Прочетете още

   Въведение в Java 8 API за дата и час

Въведение в Java 8 API за дата и час

1. Общ преглед Java 8 представи нови API за дата и час, за да отстрани недостатъците на по-старите java.util.Date и java.util.Calendar . Като част от тази статия, нека започнем с проблемите в съществуващите приложни програмни интерфейси (API) за дата и календар и нека обсъдим как новите приложни програмни интерфейси (API) за дата и час на Java 8 ги адресират. Ние също така ще разгледаме някои от основните класове на новата Java 8 проекта, които са част от java.time пакета като LOCALDATE , LOCALTIME, LocalDateTime, ZonedDateTime, Период, продължителност и техните поддържаните интерфейси. 2. П

Прочетете още

   Хибернация за много анотации Урок

Хибернация за много анотации Урок

1. Въведение Този бърз урок за хибернация ще ни преведе през пример за картографиране един към много с помощта на JPA анотации, алтернатива на XML. Също така ще научим какво представляват двупосочните отношения, как те могат да създадат несъответствия и как идеята за собственост може да помогне. 2. Описание Най-просто казано, съпоставяне един към много означава, че един ред в таблица се преобразува в множество редове в друга таблица. Нека да разгледаме следната диаграма на връзката на обекта, за да видим асоциация един към мн

Прочетете още

   Преобразуване на низ в байтов масив и обратно в Java

Преобразуване на низ в байтов масив и обратно в Java

1. Въведение Често трябва да конвертираме между String и байт масив в Java. В този урок ще разгледаме подробно тези операции. Първо ще разгледаме различни начини за преобразуване на String в байтов масив. След това ще разгледаме подобни операции в обратен ред. 2. Преобразуване на низ в байтов масив A String се съхранява като масив от Unicode символи в

Прочетете още

   Кастинг на тип обект в Java

Кастинг на тип обект в Java

1. Общ преглед Системата тип Java се състои от два вида типове: примитиви и препратки. В тази статия разгледахме примитивни преобразувания и ще се съсредоточим върху препратките тук, за да разберем добре как Java обработва типовете. 2. Примитивен срещу референтен Въпреки че примитивните преобразувания и леенето на референтни променливи може да изглеждат сходни, те са доста различни концепции. И в двата случая

Прочетете още

   Какво е POJO клас?

Какво е POJO клас?

1. Общ преглед В този кратък урок ще проучим дефиницията на „Plain Old Java Object“ или POJO за кратко. Ще разгледаме как POJO се сравнява с JavaBean и как превръщането на нашите POJO в JavaBeans може да бъде полезно. 2. Обикновени стари Java обекти 2.1. Какво е POJO ? Когато говорим за POJO, това, което описваме, е ясен тип, без препратки къ

Прочетете още

   Тернарен оператор в Java

Тернарен оператор в Java

1. Общ преглед Третичния условен оператор ? Ни позволява да се определи изрази в Java. Това е съкратена форма на оператора if-else , която също връща стойност. В този урок ще научим кога и как да използваме тройна конструкция. Ще започнем, като разгледаме неговия синтаксис, последван от проучване на неговото използване. 2. Синтаксис Третичния оператор : в Java е единственият оператор, който

Прочетете още

   Функционални интерфейси в Java 8

Функционални интерфейси в Java 8

1. Въведение Тази статия е ръководство за различни функционални интерфейси, присъстващи в Java 8, техните общи случаи на употреба и използване в стандартната библиотека JDK. 2. Ламбди в Java 8 Java 8 донесе мощно ново синтактично подобрение под формата на ламбда изрази. Ламбда е анонимна функция, която мож

Прочетете още

   Въведение в проект Ломбок

Въведение в проект Ломбок

1. Избягвайте повтарящия се код Java е чудесен език, но понякога става твърде многословен за неща, които трябва да правите в кода си за общи задачи или за съответствие с някои рамкови практики. Те много често не носят реална стойност за бизнес страна на вашите програми - и тук е Lombok тук, за да направи живота ви по-щастлив и себе си по-проду

Прочетете още

   Използване на Java Assertions

Използване на Java Assertions

1. Въведение Ключовата дума Java assert позволява на разработчиците бързо да проверят определени предположения или състояние на програма. В тази статия ще разгледаме как да използваме ключовата дума Java assert . 2. История на твърденията на Java Ключовата дума Java assert е въведена в Java 1.4, така че съществува от доста време. Въпреки това, тя остава малко извест

Прочетете още

   Екземпляр на Java на оператор

Екземпляр на Java на оператор

1. Въведение В този бърз урок ще научим за оператора на instanceof в Java. 2. Какво представлява инстанцията на Оператора? instanceof е двоичен оператор, използван за тестване дали даден обект е от даден тип. Резултатът от операцията е или вярно, или невярно . Той е известен също като оператор за сравнение на типове, защото сравнява екземпляра с тип

Прочетете още

   Сортиране в Java

Сортиране в Java

1. Общ преглед Тази статия ще илюстрира как да приложите сортирането към масив , списък , набор и карта в Java 7 и Java 8. 2. Сортиране с масив Нека започнем със сортиране на целочислени масиви първо с помощта на метода Arrays.sort () . Ще дефинираме следните масиви int в метод @Before jUnit: @Before public void initVariables () { toSort = new int[] { 5, 1, 89, 255, 7, 88, 200, 123, 6

Прочетете още

   Въведение в Jackson ObjectMapper

Въведение в Jackson ObjectMapper

1. Общ преглед Този урок се фокусира върху разбирането на класа Jackson ObjectMapper и как да сериализирате Java обекти в JSON и десериализирате JSON низ в Java обекти. За да разберете повече за библиотеката на Джаксън като цяло, Урокът за Джаксън е добро начало. 2. Зависимости Нека първо добавим следните зависимости към pom.xml : com.fasterxml.jackson.core jackson-databind 2.11.1 Тази зависимост също ще добави преходно следните библи

Прочетете още

   Не можах да запазя достатъчно място за купчина обекти

Не можах да запазя достатъчно място за купчина обекти

1. Общ преглед В този урок ще научим причината за грешката „Не може да запази достатъчно място за купчина обекти“ , докато преглеждаме някои възможни сценарии. 2. Симптоми „Не може да запази достатъчно място за купчина обект“ е специфична JVM грешка, която се появява, когато Java процесът не може да създаде виртуалната машина поради ограничения на паметта, срещнати в работещата система: java -Xms4G -Xmx4G -jar HelloWorld.jar Error occurred during initialization of VM Could not reserve enough space for object heap Error: Could not create the Java Virtual Machine. Error: A fatal exception has

Прочетете още

   Ръководство за Java 8 По избор

Ръководство за Java 8 По избор

1. Общ преглед В този урок ще покажем незадължителния клас, въведен в Java 8. Целта на класа е да осигури решение на ниво тип за представяне на незадължителни стойности вместо нулеви препратки. За да разберете по-задълбочено защо трябва да се интересуваме от класа по избор , разгледайте официалната статия на Oracle. 2. Създаване на незадължи

Прочетете още

   Създайте персонализирано изключение в Java

Създайте персонализирано изключение в Java

1. Въведение В този урок ще разгледаме как да създадем персонализирано изключение в Java . Ще покажем как дефинираните от потребителя изключения се прилагат и използват както за проверени, така и за непроверени изключения. 2. Необходимостта от персонализирани изключения Изключенията на Java обхващат почти всички общи изключения, които непременно ще се случат при програмирането. Понякога обаче тря

Прочетете още

   Ръководството за RestTemplate

Ръководството за RestTemplate

1. Общ преглед В този урок ще илюстрираме широкия набор от операции, при които Spring REST Client - RestTemplate - може да бъде използван и използван добре. За страната на API на всички примери ще стартираме услугата RESTful оттук. 2. Известие за оттегляне От Spring Framework 5, заедно със стека WebFlux, Spring представи нов HTTP клиент, наречен WebClient . WebClient е моде

Прочетете още

   Ръководство за XML в Java

Ръководство за XML в Java

1. Общ преглед Това е ръководство за работа с XML в Java . Ще разгледаме най-често срещаните Java XML библиотеки за обработка - както за анализиране, така и за свързване. 2. DOM парсери Най-просто казано, DOM парсер работи върху целия XML документ, зарежда го в паметта и изгражда дървесно представяне на документа. Полезни ресурси Как да чета XML файл в Java - (DOM Parser) Java DOM Parser - Анализиране на XML документ Java XML DOM парсер Пример настойнически Лесно анализиране на DOM в Java 3. SAX парсер Анализаторът SAX е базир

Прочетете още

   Графики в Java

Графики в Java

1. Общ преглед В този урок ще разберем основните понятия на графика като структура на данните . Също така ще проучим прилагането му в Java заедно с различни операции, възможни на графика. Също така ще обсъдим Java библиотеките, предлагащи реализации на графики. 2. Структура на графичните данни Графиката е структура от данни за съх

Прочетете още

   Java е равна на () и hashCode () договори

Java е равна на () и hashCode () договори

1. Общ преглед В този урок ще представим два метода, които са тясно свързани: equals () и hashCode () . Ще се съсредоточим върху връзката им помежду си, как правилно да ги заменим и защо трябва да заменим и двете, или нито едното, нито другото. 2. е равно () Класът Object дефинира както методите equals (), така и hashCode () - което означава, че тези два метода са имплицитно дефинирани във всеки клас Java, включ

Прочетете още

   Итерация над карта в Java

Итерация над карта в Java

1. Общ преглед В тази бърза статия ще разгледаме различните начини за итерация през записите на карта в Java. Най-просто казано, можем да извлечем съдържанието на карта, използвайки keySet (), valueSet () или entrySet () . Тъй като това са всички набори, подобни принципи на итерация се прилагат за всички тях. В Map.entrySet API връща колекция изглед на картата, чиит

Прочетете още

   Стартирайте Java приложение от командния ред

Стартирайте Java приложение от командния ред

1. Общ преглед Обикновено всяко значимо приложение включва един или повече JAR файлове като зависимости. Има случаи обаче, че самият JAR файл представлява самостоятелно приложение или уеб приложение. Ще се съсредоточим върху самостоятелния сценарий на приложение в тази статия. По-нататък ще го наричаме JAR заявление. В този урок първо ще научим как да създ

Прочетете още

   „Последната“ ключова дума в Java

„Последната“ ключова дума в Java

1. Общ преглед Докато наследяването ни позволява да използваме повторно съществуващия код, понякога трябва да зададем ограничения за разширяемостта по различни причини; на финалната дума ни позволява да правим точно това. В този урок ще разгледаме какво означава последната ключова дума за класове, методи и променливи. 2. Заключителни класове Класовете, означени като окончателни, не могат да бъдат удъл

Прочетете още

   Анотациите на Spring @Controller и @RestController

Анотациите на Spring @Controller и @RestController

1. Общ преглед В този бърз урок ще обсъдим разликата между @Controller и @RestController анотациите в Spring MVC. Първата анотация се използва за традиционните контролери Spring и е част от рамката от много дълго време. В @RestController анотацията е въведена през пролетта на 4.0 да се опрости създаването на спокоен уеб услуги. Това е удобна анотация, коят

Прочетете още

   Преброяване на появите на Char в низ

Преброяване на появите на Char в низ

1. Общ преглед Има много начини да се преброи броя на появите на знак в String в Java. В тази бърза статия ще се съсредоточим върху няколко примера за това как да броим символи, първо, с основната библиотека на Java, а след това и с други библиотеки и рамки като Spring и Guava. 2. Използване на Core Java Lib 2 .1. Императивен подход Някои разработчици може да предпочетат да използват основната Java. Има много начини за преброяване на броя появявания на знак в низ.

Прочетете още

   Четене на CSV файл в масив

Четене на CSV файл в масив

1. Общ преглед Най-просто казано, CSV (разделени със запетая стойности) файл съдържа организирана информация, разделена със запетая. В този урок ще разгледаме различни начини за четене на CSV файл в масив. 2. BufferedReader в java.io На първо място, ние ще прочетете записи ред по ред, използвайки Readline () в BufferedReader . След това ще разделим реда на симв

Прочетете още

   Твърдо ръководство за ТВЪРДИ Принципи

Твърдо ръководство за ТВЪРДИ Принципи

1. Въведение В този урок ще обсъдим SOLID принципите на обектно-ориентирания дизайн. Първо ще започнем с изследването на причините, поради които са възникнали, и защо трябва да ги вземем предвид при проектирането на софтуер. След това ще очертаем всеки принцип заедно с примерния код, за да подчертаем въпроса. 2. Причината за ТВЪРДИТЕ Принципи Принципите SOLID са концептуализирани за първи път от Ро

Прочетете още

   Обединяване на низове в Java

Обединяване на низове в Java

1. Въведение Java предоставя значителен брой методи и класове, посветени на обединяването на низове. В този урок ще се потопим в няколко от тях, както и ще очертаем някои често срещани клопки и лоши практики. 2. StringBuilder Първо е скромният StringBuilder. Този клас предоставя набор от String- изграждане на комунални услуги , които прави лесно работа на String манип

Прочетете още

   Ръководство за сокети на Java

Ръководство за сокети на Java

1. Общ преглед Терминът програмиране на сокети се отнася до програми за писане, които се изпълняват на множество компютри, в които всички устройства са свързани помежду си с помощта на мрежа. Има два комуникационни протокола, които може да се използва за програмиране на сокети: Протокол за потребителски дейтаграми (UDP) и Протокол за управление

Прочетете още

   Транзакции с Spring и JPA

Транзакции с Spring и JPA

1. Общ преглед Този урок ще обсъди правилния начин за конфигуриране на пролетните транзакции , как да използвате анотацията @Transactional и често срещани клопки. За по-задълбочена дискусия относно основната конфигурация за постоянство, вижте урока Spring with JPA. По принцип има два различни начина за конфигуриране на транзакции - анотации и AOP - всеки със своите предимства. Тук ще обсъдим по-често срещаните конфигурации за пояснения. 2. Конфигуриране

Прочетете още

   Сингълтони в Java

Сингълтони в Java

1. Въведение В тази кратка статия ще обсъдим двата най-популярни начина за внедряване на Singletons в обикновена Java. 2. Сингълтон, базиран на класа Най-популярният подход е да се внедри Singleton, като се създаде редовен клас и се увери, че той има: Частен конструктор Статично поле, съдържащо единствения му екземпляр Статичен фабричен метод за получаване на екземпляра Ще добавим и свойство за информация, само за по-късна употреба. И така, нашето изпълнение ще изглежда така: public final class ClassSingleton { private static ClassSingleton INSTANCE; private String info = "Initial in

Прочетете още

   Въведение в Javadoc

Въведение в Javadoc

1. Общ преглед Добрата документация за API е един от многото фактори, допринасящи за цялостния успех на софтуерен проект. За щастие всички съвременни версии на JDK предоставят инструмента Javadoc - за генериране на API документация от коментари, присъстващи в изходния код. Предпоставки: JDK 1.4 (JDK 7+ се препоръчва за последната версия на приставката Maven Javadoc) Папката JDK / bin е добавена към променливата на средата PATH (По избор) IDE, който с вградени инструменти

Прочетете още

   Декомпилиране на класове в Java

Декомпилиране на класове в Java

1. Въведение В този урок ще обсъдим декомпилирането на Java класове. Когато изходният код не е наличен, декомпилирането на Java класове помага за отстраняване на грешки и разбиране на поведението на изходния код. Нека да разгледаме различните налични опции. 2. Декомпилиране в IDE Тъй като повечето разработки се извършват в интегрирана среда за разработка (IDE), има смисъл д

Прочетете още

   Обработка на изключения в Java

Обработка на изключения в Java

1. Общ преглед В този урок ще разгледаме основите на обработката на изключения в Java, както и някои от неговите проблеми. 2. Първи принципи 2.1. Какво е? За да разберем по-добре изключенията и обработката на изключения, нека направим сравнение в реалния живот. Представете си, че поръчваме продукт онлайн, но докато пътуваме, има грешка в доставката. Добра компания може да се справи с този проблем и грациозно да пренасочи пакета ни, така че все пак да пристиг

Прочетете още

   Изчислете факториал в Java

Изчислете факториал в Java

1. Общ преглед Като се има предвид отрицателно цяло число n , факториалът е произведението на всички положителни цели числа, по-малки или равни на n . В този бърз урок ще проучим различни начини за изчисляване на факториал за дадено число в Java . 2. Факториал за числа до 20 2.1. Факториал с помощта на for Loop Нека да видим основен факториален алгоритъм, използващ цикъл for : public long factorialUsingForLoop(int n) { long fact =

Прочетете още

   Хибернацията не можа да инициализира прокси - няма сесия

Хибернацията не можа да инициализира прокси - няма сесия

1. Общ преглед Работейки с Hibernate, може да сме срещнали грешка, която казва: org.hibernate.LazyInitializationException: не може да инициализира прокси - няма сесия . В този бърз урок ще разгледаме по-отблизо първопричината за грешката и ще научим как да я избегнем. 2 Разбиране на грешката Достъпът до лениво натоварен обект извън контекста на отворена сесия на хибернация ще доведе до това изключение. Важно е да разберете какво е

Прочетете още

   Как да проверите дали Java е инсталирана

Как да проверите дали Java е инсталирана

1. Общ преглед В този кратък урок ще разгледаме няколко начина да определим дали Java е инсталирана на машина. 2. Команден ред Първо, нека отворим команден прозорец или терминал и въведем: > java -version Ако Java е инсталирана и PATH е конфигуриран правилно, изходът ни ще бъде подобен на: java version "1.8.0_31" Java(TM) SE Runtime Environment (build 1.8.0_31-b13) Java HotSpot(TM) Client VM (build 25.31-b07, mixed mode, sharing) В противен случай ще видим съобщение за грешка като това по-долу и трябва да про

Прочетете още

   Проверете дали String е Palindrome в Java

Проверете дали String е Palindrome в Java

1. Въведение В тази статия ще видим как можем да проверим дали даден низ е палиндром с помощта на Java. Палиндромът е дума, фраза, число или други последователности от знаци, които четат същото назад като напред , като „мадам“ или „състезателен автомобил“. 2. Решения В следващите раздели ще разгледаме различните начини за проверка дали даден низ е палиндром или не. 2.1. Прост подход Можем едновременно да започнем итерация на дадения низ напред и назад, ед

Прочетете още

   Ръководство за финализиране на метода в Java

Ръководство за финализиране на метода в Java

1. Общ преглед В този урок ще се съсредоточим върху основен аспект на езика Java - методът за финализиране , предоставен от основния клас Object . Най-просто казано, това се извиква преди събирането на боклука за определен обект. 2. Използване на финализатори Методът finalize () се нарича финализатор. Финализаторите се извикват, когато JVM установи, че този конкретен екземпляр трябва да бъде събра

Прочетете още

   Сравняване на низове в Java

Сравняване на низове в Java

1. Общ преглед В тази статия ще говорим за различните начини за сравняване на низове в Java. Тъй като String е един от най-използваните типове данни в Java, това естествено е много често използвана операция. 2. String сравнение с String клас 2.1. Използване на оператор за сравнение “==” Използването на оператора “==” за сравняване на текстови стойности е

Прочетете още

   DAO моделът в Java

DAO моделът в Java

1. Общ преглед Шаблонът за обект на достъп до данни (DAO) е структурен модел, който ни позволява да изолираме приложението / бизнес слоя от персистентния слой (обикновено релационна база данни, но това може да бъде всеки друг механизъм за трайност), използвайки абстрактна API . Функционалността на този API е да скрие от приложението всички сложности, свързани с извършването на CRUD операции в основния механизъм за съхранение. Това позволява и двата слоя да се развиват отделно, без да знаят

Прочетете още

   Как да премахна последния знак от низ?

Как да премахна последния знак от низ?

1. Общ преглед В тази бърза статия ще проверим и обсъдим различни техники за премахване на последния знак от низ. 2. Използване на String.substring () Най-лесният начин е да се използва вграденият метод substring () от класа String . За да премахнем последния знак от даден низ, трябва да използваме два параметъра: 0 като начален индекс и индекс на предпоследния знак. Ние можем да по

Прочетете още

   Заредители на клас в Java

Заредители на клас в Java

1. Въведение в Class Loaders Зареждащите класове са отговорни за зареждането на Java класове по време на изпълнение динамично в JVM (Java Virtual Machine). Също така те са част от JRE (Java Runtime Environment). Следователно JVM не трябва да знае за основните файлове или файлови системи, за да стартира Java програми б

Прочетете още

   Ръководство за летливата ключова дума в Java

Ръководство за летливата ключова дума в Java

1. Общ преглед При липса на необходими синхронизации, компилаторът, времето за изпълнение или процесорите могат да прилагат всякакви оптимизации. Въпреки че тези оптимизации са полезни през повечето време, понякога те могат да причинят фини проблеми. Кеширането и пренареждането са сред онези оптимизации, които могат да ни изненадат в едновременен контекст. Java и JVM осигуряват много начини за контрол на реда на паметта, а променливата ключова дума е еди

Прочетете още

   Направете проста HTTP заявка в Java

Направете проста HTTP заявка в Java

1. Общ преглед В този бърз урок представяме начин за изпълнение на HTTP заявки в Java - с помощта на вградения Java клас HttpUrlConnection. Имайте предвид, че като се започне с JDK 11, Java предоставя нов API за извършване на заявки за HTTP, които се означават като заместител на HttpUrlConnection, на HttpClient API. 2. HttpUrlConnection Класът HttpUrlConnection ни позволява да изпълняваме основни HTTP заявки без използването на допълнителни библиотеки. Всички класове, от които се нуждаем, са

Прочетете още