Разлики между Final, Final и Finalize в Java

Разлики между Final, Final и Finalize в Java

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

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

   Как да използвам Spring FactoryBean?

Как да използвам Spring FactoryBean?

1. Общ преглед В контейнера за пролетни зърна има два вида боб: обикновен боб и фабричен боб. Spring използва първото директно, докато второто може да създаде самите обекти, които се управляват от рамката. И просто казано, можем да изградим фабричен боб, като внедрим org.springframework.beans.factory.FactoryBean интерфейс. 2. Основите на фабричните зърна 2.1.

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

   Как да се справя с Java SocketException

Как да се справя с Java SocketException

1. Въведение В този бърз урок ще научим причините за SocketException с пример. Също така, разбира се, ще обсъдим как да се справим с изключението. 2. Причини за SocketException Най-честата причина за SocketException е запис или четене на данни към или от затворена връзка на сокет. Друга причина за това е затваряне на връзката преди четене на всички данни в буфера на сокета. Нека разгледаме по-отблизо някои често срещани основни причини. 2.1. Бавна мрежа Л

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

   Използване на JNA за достъп до естествени динамични библиотеки

Използване на JNA за достъп до естествени динамични библиотеки

1. Общ преглед В този урок ще видим как да използваме библиотеката на Java Native Access (накратко JNA) за достъп до родните библиотеки, без да пишем код на JNI (Java Native Interface). 2. Защо JNA? В продължение на много години Java и други езици, базирани на JVM, до голяма степен са изпълнили мотото си

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

   Клиент на Java за API на WebSockets

Клиент на Java за API на WebSockets

1. Въведение HTTP (Hypertext Transfer Protocol) е протокол за заявка-отговор без гражданство. Неговият опростен дизайн го прави много мащабируем, но неподходящ и неефективен за силно интерактивни уеб приложения в реално време поради размера на режийните разходи, които трябва да бъдат предадени заедно с всяка заявка / отговор. Тъй като HTTP е синхронен и приложенията в реално време трябва да бъдат асинхронни, всякакви решения като анкетиране или дълго анкетиране (Comet) са склонни да бъдат сложни и неефективни. За да разрешим горепосочения проблем, ни трябва ста

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

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

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

1. Общ преглед API на Activiti е система за управление на работния процес и бизнес процесите. Можем да дефинираме процес в него, да го изпълним и да го манипулираме по различни начини, използвайки услугите, предоставяни от API. Изисква JDK 7+. Разработката с помощта на API може да се направи във всяка IDE, но за да използваме Activiti Designer, ни трябва Eclipse. Можем да определим процес в н

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

   Ръководство за настройка на EJB

Ръководство за настройка на EJB

1. Общ преглед В тази статия ще обсъдим как да започнем с разработката на Enterprise JavaBean (EJB). Enterprise JavaBeans се използват за разработване на мащабируеми, разпределени компоненти от страна на сървъра и обикновено капсулират бизнес логиката на приложението. Ще използваме WildFly 10.1.0 като предпочитано сървърно решение, но можете да използвате всеки сървър за приложения на Java Enterprise по ваш избор. 2. Настройка Нека да започнем,

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

   Java с ANTLR

Java с ANTLR

1. Общ преглед В този урок ще направим бърз преглед на генератора на синтактичен анализатор ANTLR и ще покажем някои реални приложения. 2. ANTLR ANTLR (ANother Tool for Language Recognition) е инструмент за обработка на структуриран текст. Това прави това, като ни дава достъп до примитиви за обработка на език като лексери, граматики и парсери, както и по време на изпълнение за обраб

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

   Краставица и сценарий

Краставица и сценарий

1. Въведение Краставицата е рамка за тестване на BDD (Behavioral Driven Development). Използването на рамката за писане на повтарящи се сценарии с различни пермутации на входовете / изходите може да отнеме доста време, да се поддържа трудно и разбира се разочароващо. Краставицата дойде с решение за намаляване на това усилие, като използва концепцията за Сценариен контур, съчетана с примери . В раздела по-долу ще се опитаме да вземем пример и да видим

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

   Collections.emptyList () спрямо екземпляр от нов списък

Collections.emptyList () спрямо екземпляр от нов списък

1. Въведение В този кратък урок ще илюстрираме разликата между Collections.emptyList () и нов екземпляр на списък. 2. Неизменност Основната разлика между java.util.Collections.emptyList () и нов списък, например нов ArrayList () е неизменността. Collections.emptyList () връща списък ( java.util.Collections.EmptyList ), който не може да бъде модифициран. Когато създавате нов екзем

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

   Java 8 Stream findFirst () срещу findAny ()

Java 8 Stream findFirst () срещу findAny ()

1. Въведение API на Java 8 Stream представи два метода, които често се разбират погрешно: findAny () и findFirst () . В този бърз урок ще разгледаме разликата между тези два метода и кога да ги използваме. 2. Използване на Stream.findAny () Както подсказва името, методът findAny () ви позволява да намерите всеки елемент от поток .

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

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

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

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

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

   Шаблонни двигатели за пролетта

Шаблонни двигатели за пролетта

1. Общ преглед Уеб рамката Spring е изградена около шаблона MVC (Model-View-Controller), което улеснява разделянето на проблемите в приложение. Това дава възможност за използване на различни технологии за преглед, от добре утвърдената JSP технология до различни шаблони. В тази статия ще разгледаме основните механизми за шаблони, които могат да се използват с Spring, тяхната конфигурация и примери за употреба. 2. Spring View Technologies Като се има предвид

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

   Промяна на Tomcat HTTP порт на 80

Промяна на Tomcat HTTP порт на 80

1. Общ преглед По подразбиране Apache Tomcat работи на порт 8080 . В някои случаи този порт може вече да е взет от друг процес или изискванията могат да посочват, че трябва да използваме различен порт. В тази бърза статия ще покажем как да промените HTTP порта на сървъра на Apache Tomcat. В нашите примери ще използваме порт 80 , въпреки че про

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

   Spring BeanDefinitionStoreException

Spring BeanDefinitionStoreException

1. Общ преглед В тази статия ще обсъдим Spring org.springframework.beans.factory.BeanDefinitionStoreException - това обикновено е отговорност на BeanFactory, когато определението на боб е невалидно, зареждането на този боб е проблематично. Статията ще обсъди най-честите причини за това изключение заедно с решението за всяка една. 2. Причина: java.io.FileNotFound

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

   Задайте часовия пояс на датата в Java

Задайте часовия пояс на датата в Java

1. Общ преглед В този бърз урок ще видим как да зададете часовата зона на датата, използвайки Java 7, Java 8 и библиотеката Joda-Time. 2. Използване на Java 8 Java 8 представи нов API за дата и час за работа с дати и часове, който до голяма степен беше базиран на библиотеката Joda-Time. Класът Instant от Java Date Time API моделира една моментна точка на времевата линия в UTC. Това представлява броят на наносекунди от епохата на първия момент от 1970 UTC. Първо ще п

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

   XML-базирано инжектиране през пролетта

XML-базирано инжектиране през пролетта

1. Въведение В този основен урок ще научим как да правим проста XML-базирана конфигурация на боб с Spring Framework. 2. Общ преглед Нека започнем с добавяне на зависимостта на библиотеката на Spring в pom.xml : org.springframework spring-context 5.1.4.RELEASE Най-новата версия на зависимостта Spring може да бъде намерена тук. 3. Инжектир

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

   Въведение в FindBugs

Въведение в FindBugs

1. Общ преглед FindBugs е ​​инструмент с отворен код, използван за извършване на статичен анализ на Java код. В тази статия ще разгледаме настройката на FindBugs в проект на Java и интегрирането му в IDE и компилацията на Maven. 2. Приставка FindBugs Maven 2.1. Maven конфигурация За да започнем да генерираме отчети за статичен анализ, първо трябва да добавим приставката FindBug

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

   Общи конструктори в Java

Общи конструктори в Java

1. Общ преглед По-рано обсъдихме основите на Java Generics. В този урок ще разгледаме Generic Constructors в Java. Генеричен конструктор е конструктор, който има поне един параметър от родов тип. Ще видим, че общите конструктори не трябва да са в общ клас и не всички конструктори в общ клас трябва да са общи. 2. Нег

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

   Пролетна сигурност с Maven

Пролетна сигурност с Maven

1. Общ преглед В тази статия ще обясним как да настроим Spring Security с Maven и ще разгледаме конкретни случаи на използване на зависимостите Spring Security. Можете да намерите най-новите версии на Spring Security в Maven Central. Това е продължение на предишната статия Spring with Maven, така че за независимите пролетни зависимости това е мястото да започнете

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

   Въведение в мустаците

Въведение в мустаците

1. Общ преглед В тази статия ще се съсредоточим върху шаблоните на Mustache и ще използваме един от неговите Java API за създаване на динамично HTML съдържание. Mustache е механизъм за шаблони без логика за създаване на динамично съдържание като HTML, конфигурационни файлове и други неща. 2. Въведение Най-просто казано, двигателят е класифициран като без логика, тъй като няма конструкции, които поддържат if-else изрази и за цикли. Шаблоните за мустаци се състоят от имена на маркери, заобик

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