Przewodnik po Javie 8 forEach

Przewodnik po Javie 8 forEach

1. Przegląd Wprowadzona w Javie 8 pętla forEach zapewnia programistom nowy, zwięzły i interesujący sposób na iterację kolekcji . W tym artykule zobaczymy, jak używać forEach z kolekcjami, jakiego rodzaju argumentu używa i jak ta pętla różni się od rozszerzonej pętli for . Jeśli chcesz odświeżyć niektóre pojęcia dotyczące języka Java 8, mamy zbiór artykułów, które mogą Ci pomóc. 2. Podstawy forEach W Javi

Czytaj więcej

   Formatowanie za pomocą printf () w Javie

Formatowanie za pomocą printf () w Javie

1. Wstęp W tym tutorialu, będziemy wykazywać różne przykłady formatowania z printf () metody . Metoda jest częścią klasy java.io.PrintStream i zapewnia formatowanie ciągów podobne do funkcji printf () w języku C. 2. Składnia Możemy użyć jednej z następujących metod PrintStream , aby sformatować dane wyjściowe: System.out.printf(format, a

Czytaj więcej

   Przewodnik po statycznym słowie kluczowym w Javie

Przewodnik po statycznym słowie kluczowym w Javie

1. Wstęp W tym artykule szczegółowo omówimy statyczne słowo kluczowe języka Java. Dowiemy się, jak możemy zastosować słowo kluczowe static do zmiennych, metod, bloków, klas zagnieżdżonych i jakie ma to znaczenie. 2. Anatomia statycznego słowa kluczowego W języku programowania Java słowo kluczowe static wskazuje, że dany element członkowski należy do samego typu, a nie do instancji tego typu . Oznacza to, że tw

Czytaj więcej

   Dodawanie znaku nowego wiersza do ciągu w Javie

Dodawanie znaku nowego wiersza do ciągu w Javie

1. Przegląd Formatowanie ciągów znaków i generowanie tekstu wyjściowego często pojawia się podczas programowania. W wielu przypadkach istnieje potrzeba dodania nowej linii do ciągu w celu sformatowania danych wyjściowych. Omówmy, jak używać znaków nowej linii. 2. Dodawanie znaków nowego wiersza do ciągu Systemy operacyjne mają specjalne znaki oznaczające początek nowego wiersza. Na przykład w Lin

Czytaj więcej

   Pytania do wywiadu wiosennego

Pytania do wywiadu wiosennego

1. Wstęp Od momentu wprowadzenia Spring Boot był kluczowym graczem w ekosystemie Spring. Ten projekt znacznie ułatwia nam życie dzięki możliwości autokonfiguracji. W tym samouczku omówimy niektóre z najczęstszych pytań dotyczących Spring Boot, które mogą pojawić się podczas rozmowy kwalifikacyjnej. 2. Pytania Q1

Czytaj więcej

   Java - zapis do pliku

Java - zapis do pliku

1. Przegląd W tym samouczku poznamy różne sposoby zapisu do pliku przy użyciu języka Java. Będziemy wykorzystywać BufferedWriter , PrintWriter , FileOutputStream , DataOutputStream , RandomAccessFile , FileChannel, a Java 7 Files klasie użytkowej. Przyjrzymy się również blokowaniu pliku podczas pisania i omówimy ostateczne wnioski dotyczące zapisywania do pliku. Ten samoucz

Czytaj więcej

   Nie można znaleźć lub załadować błędu klasy głównej

Nie można znaleźć lub załadować błędu klasy głównej

1. Wstęp Czasami, gdy uruchamiamy program w języku Java, możemy zobaczyć komunikat „Nie można znaleźć lub załadować klasy głównej”. Łatwo odgadnąć przyczynę: maszyna JVM nie znalazła klasy głównej i podała ten błąd. Ale dlaczego nie mógł? W tym samouczku omówimy prawdopodobne przyczyny niepowodzenia znalezienia klasy głównej. Zobaczymy również, jak je nap

Czytaj więcej

   Samouczek Java 8 Stream API

Samouczek Java 8 Stream API

1. Przegląd W tym szczegółowym samouczku omówimy praktyczne wykorzystanie strumieni Java 8 od ich utworzenia do równoległego wykonania. Aby zrozumieć ten materiał, czytelnicy muszą posiadać podstawową znajomość języka Java 8 (wyrażenia lambda, opcjonalne, odwołania do metod) oraz interfejsu API Stream. Jeśli nie jeste

Czytaj więcej

   Najważniejsze pytania do wywiadów Spring Framework

Najważniejsze pytania do wywiadów Spring Framework

Ten artykuł jest częścią serii: • Pytania dotyczące kolekcji Java • Pytania do wywiadu dotyczącego systemu typów Java • Pytania do wywiadu dotyczącego współbieżności języka Java (+ odpowiedzi) • Pytania dotyczące struktury klas Java i inicjalizacji • Pytania do wywiadu dotyczące Java 8 (+ odpowiedzi) • Zarządzanie pamięcią w pytaniach do wywiadów Java (+ odpowiedzi) • Pytania do wywiadu dotyczącego generycznych programów Java (+ odpowiedzi) • Pytania do wywiadu Java Flow Control (+ odpowiedzi) • Pytania do wywiadu dotyczącego wyjątków Java (+ odpowiedzi) • Pytania do wywiadów z adnota

Czytaj więcej

   Pytania do wywiadu Java 8 (+ odpowiedzi)

Pytania do wywiadu Java 8 (+ odpowiedzi)

Ten artykuł jest częścią serii: • Pytania dotyczące kolekcji Java • Pytania do wywiadu dotyczącego systemu typów Java • Pytania do wywiadu dotyczącego współbieżności języka Java (+ odpowiedzi) • Pytania dotyczące struktury klas Java i inicjalizacji • Pytania do wywiadów Java 8 (+ odpowiedzi) (bieżący artykuł) • Zarządzanie pamięcią w pytaniach do wywiadów w języku Java (+ odpowiedzi) • Pytania do wywiadu dotyczącego generycznych programów Java (+ odpowiedzi) • Pytania do wywiadu Java Flow Control (+ odpowiedzi) • Pytania do wywiadu dotyczącego wyjątków Java (+ odpowiedzi) • Pytania do

Czytaj więcej

   Konwersja między tablicą a listą w języku Java

Konwersja między tablicą a listą w języku Java

1. Przegląd Ten krótki artykuł pokaże, jak konwertować między tablicą a listą przy użyciu podstawowych bibliotek Java, kolekcji Guava lub Apache Commons. Ten artykuł jest częścią serii „Java - Back to Basic” tutaj w Baeldung. 2. Konwertuj listę na tablicę 2.1. Korzystanie ze zwykłej Java Zacznijmy od konwersji z listy na tablicę przy użyciu zwykłej Javy : @Test public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect() { List sourceList = Arrays.asList(0, 1, 2, 3, 4, 5

Czytaj więcej

   Przewodnik po hashCode () w Javie

Przewodnik po hashCode () w Javie

1. Przegląd Haszowanie to podstawowa koncepcja informatyki. W Javie wydajne algorytmy haszujące stoją za niektórymi z najpopularniejszych dostępnych kolekcji - takich jak HashMap (aby uzyskać dogłębne spojrzenie na HashMap , przeczytaj ten artykuł) i HashSet. W tym artykule skupimy się na tym , jak działa funkcja hashCode () , jak działa w kolekcjach i jak poprawnie ją zaimplementować. 2. Wykorzyst

Czytaj więcej

   Co powoduje wyjątek java.lang.reflect.InvocationTargetException?

Co powoduje wyjątek java.lang.reflect.InvocationTargetException?

1. Przegląd Podczas pracy z interfejsem API Java Reflection często występuje wyjątek java.lang.reflect.InvocationTargetException . W tym samouczku przyjrzymy się temu i jak sobie z tym poradzić na prostym przykładzie . 2. Przyczyna wyjątku InvocationTargetException Występuje głównie, gdy pracujemy z warstwą odbicia i próbujemy wywołać metodę lub konstruktor, który sam zgłasza podstawowy wyjątek. Warstwa odbicia o

Czytaj więcej

   Implementacja drzewa binarnego w Javie

Implementacja drzewa binarnego w Javie

1. Wstęp W tym artykule zajmiemy się implementacją drzewa binarnego w Javie. Na potrzeby tego artykułu użyjemy posortowanego drzewa binarnego, które będzie zawierało wartości int . 2. Drzewo binarne Drzewo binarne to rekurencyjna struktura danych, w której każdy węzeł może mieć maksymalnie 2 dzieci. Powszechnym t

Czytaj więcej

   Jak czytać plik w Javie

Jak czytać plik w Javie

1. Przegląd W tym samouczku poznamy różne sposoby czytania z pliku w Javie . Najpierw zobaczymy, jak załadować plik ze ścieżki klas, adresu URL lub z pliku JAR, używając standardowych klas Java. Po drugie, zobaczymy, jak czytać zawartość za pomocą BufferedReader , Scanner , StreamTokenizer , DataInputStream , SequenceInputStream i FileChannel . Omówimy równ

Czytaj więcej

   Operator XOR w Javie

Operator XOR w Javie

1. Przegląd Z tego krótkiego samouczka dowiemy się o operatorze Java XOR . Omówimy trochę teorii na temat operacji XOR , a następnie zobaczymy, jak zaimplementować je w Javie. 2. Operator XOR Zacznijmy od małego przypomnienia semantyki operacji XOR . Operacja logiczna XOR , lub wyłączne lub , przyjmuje dwa operandy boolowskie i zwraca prawdę wtedy i tylko wtedy, gdy argumenty są różne. W związku z t

Czytaj więcej

   Przewodnik po Stream.reduce ()

Przewodnik po Stream.reduce ()

1. Przegląd Stream API zapewnia bogaty repertuar funkcji pośrednich, redukcyjnych i terminalowych, które również obsługują równoległość. Mówiąc dokładniej, operacje na strumieniu redukcji pozwalają nam uzyskać jeden wynik z sekwencji elementów , poprzez wielokrotne stosowanie operacji łączenia do elementów w sekwencji. W tym samouczku pr

Czytaj więcej

   Samouczek Spring MVC

Samouczek Spring MVC

1. Przegląd To jest prosty samouczek Spring MVC pokazujący, jak skonfigurować projekt Spring MVC, zarówno z konfiguracją opartą na Javie, jak iz konfiguracją XML. Zależności Maven dla projektu Spring MVC opisano szczegółowo w artykule o zależnościach Spring MVC. 2. Co to jest Spring MVC? Jak sama na

Czytaj więcej

   Samouczek wiosenny

Samouczek wiosenny

Spring Framework to dojrzała, potężna i bardzo elastyczna platforma skupiająca się na tworzeniu aplikacji internetowych w Javie. Jedną z głównych zalet Spring jest to, że zajmuje się większością niskopoziomowych aspektów budowania aplikacji, abyśmy mogli skupić się na funkcjach i logice biznesowej . Kolejną mocną s

Czytaj więcej

   Sortuj przez scalanie w Javie

Sortuj przez scalanie w Javie

1. Wstęp W tym samouczku przyjrzymy się algorytmowi sortowania przez scalanie i jego implementacji w Javie . Sortowanie przez scalanie jest jedną z najbardziej wydajnych technik sortowania i opiera się na paradygmacie „dziel i rządź”. 2. Algorytm Sortowanie przez scalanie to algorytm „dziel i rządź”, w którym najpierw dzielimy problem na podproblemy. Gdy rozwiązania

Czytaj więcej

   Sprawdź, czy ciąg jest numeryczny w Javie

Sprawdź, czy ciąg jest numeryczny w Javie

1. Wstęp Często działając na String s, musimy dowiedzieć się, czy String jest prawidłową liczbą, czy nie. W tym samouczku zbadamy wiele sposobów wykrywania, czy dany ciąg jest liczbowy , najpierw przy użyciu zwykłej Javy, następnie wyrażeń regularnych, a na końcu przy użyciu bibliotek zewnętrznych. Gdy skończymy oma

Czytaj więcej

   Komparator i porównywalny w Javie

Komparator i porównywalny w Javie

1. Wstęp Porównania w Javie są dość łatwe - dopóki nie są. Podczas pracy z typami niestandardowymi lub próbując porównać obiekty, które nie są bezpośrednio porównywalne, musimy skorzystać ze strategii porównania. Możemy go zbudować w prosty sposób, ale korzystając z interfejsów Komparatora lub Porównywalnych . 2. Konfigurowanie przy

Czytaj więcej

   Inicjowanie tablic w Javie

Inicjowanie tablic w Javie

1. Przegląd W tym krótkim samouczku zobaczymy różne sposoby inicjalizacji tablicy i subtelne różnice między nimi. 2. Jeden element na raz Zacznijmy od prostej metody opartej na pętli: for (int i = 0; i < array.length; i++) { array[i] = i + 2; } Zobaczmy także, jak możemy zainicjować wielowymiarową tablicę po jednym elemencie na raz: for (int i = 0; i < 2; i++) { for (int j = 0; j < 5; j++) { array[i][j] = j + 1; } } 3. W chwili zło

Czytaj więcej

   OutOfMemoryError: Przekroczono limit narzutów GC

OutOfMemoryError: Przekroczono limit narzutów GC

1. Przegląd Mówiąc najprościej, JVM dba o zwolnienie pamięci, gdy obiekty nie są już używane; ten proces nazywa się Garbage Collection (GC). GC Głowica Przekroczenie limitu błędu jest jednym z rodziny java.lang.OutOfMemoryError i wskazania zasobu (pamięć), wyczerpania. W tym krótkim artykule przyjrzymy się, co powoduje błąd java.lang.OutOfMemoryEr

Czytaj więcej

   Generowanie liczb losowych w zakresie w Javie

Generowanie liczb losowych w zakresie w Javie

1. Przegląd W tym samouczku zbadamy różne sposoby generowania liczb losowych w określonym zakresie. 2. Generowanie liczb losowych w zakresie 2.1. Math.random Math.random nadaje losowy podwójną wartość, która jest większa niż lub równa 0,0, a poniżej 1,0. Użyjmy metody Math.random do wygenerowania liczby losowej z podanego zakresu: public int getRandomNumber(int min, int max) { return (int) ((Math.random() * (ma

Czytaj więcej

   Przewodnik po wiośnie @Autowired

Przewodnik po wiośnie @Autowired

1. Przegląd Począwszy od Spring 2.5, framework wprowadził Dependency Injection oparty na adnotacjach . Główna adnotacja dotycząca tej funkcji to @Autowired . Pozwala Springowi na rozwiązanie i wstrzyknięcie współpracujących ziaren do naszej fasoli. W tym samouczku najpierw przyjrzymy się, jak włączyć automatyczne okablowanie iróżnysposoby na autowire fasoli. Później porozmaw

Czytaj więcej

   Konwertuj ciąg na datę w Javie

Konwertuj ciąg na datę w Javie

1. Przegląd W tym tutorialu, będziemy badać kilka sposobów konwersji String przedmiotów do data obiektów . Zaczniemy od nowego API Date Time - java.time, które zostało wprowadzone w Javie 8, zanim przyjrzymy się starym typom danych java.util.Date używanym również do reprezentowania dat. Na koniec przyjrzymy się także niektórym zewnętrznym bibliotekom do konwersji przy użyciu Joda-Time i klasy Apache Commons Lang DateUtils . 2. Konwersja St

Czytaj więcej

   Dowiedz się Spring Boot

Dowiedz się Spring Boot

Spring Boot to uparty, łatwy do uruchomienia dodatek do platformy Spring - bardzo przydatny do tworzenia samodzielnych aplikacji klasy produkcyjnej przy minimalnym wysiłku. W tej serii najpierw omówimy podstawy Spring Boot. Czytelnik dowie się, jak zacząć, czym różni się Spring Boot od Spring, jak dostosować i przetestować aplikację. Następnie

Czytaj więcej

   Wprowadzenie do inwersji kontroli i iniekcji zależności w Spring

Wprowadzenie do inwersji kontroli i iniekcji zależności w Spring

1. Przegląd W tym artykule przedstawimy koncepcje IoC (Inversion of Control) i DI (Dependency Injection), a następnie przyjrzymy się, jak są one implementowane we frameworku Spring. 2. Co to jest odwrócenie kontroli? Odwrócenie kontroli to zasada w inżynierii oprogramowania, dzięki której kontrola obiektów lub części programu jest przenoszona do kontenera lub struktury. Jest najczę

Czytaj więcej

   Jak odwrócić ciąg znaków w Javie

Jak odwrócić ciąg znaków w Javie

1. Przegląd W tym krótkim samouczku zobaczymy, jak możemy odwrócić ciąg znaków w Javie. Zaczniemy to przetwarzanie przy użyciu zwykłych rozwiązań Java. Następnie przyjrzymy się opcjom udostępnianym przez biblioteki innych firm, takie jak Apache Commons. Ponadto pokażemy, jak odwrócić kolejność słów w zdaniu . 2. Tradycyjny dla p

Czytaj więcej

   Implementacja algorytmu Quicksort w Javie

Implementacja algorytmu Quicksort w Javie

1. Przegląd W tym samouczku szczegółowo omówimy algorytm QuickSort, koncentrując się na jego implementacji w języku Java. Omówimy również jego zalety i wady, a następnie przeanalizujemy jego złożoność czasową. 2. Algorytm QuickSort Quicksort to algorytm sortowania, który wykorzystuje zasadę dziel i rządź. Ma średnią złożonoś

Czytaj więcej

   Algorytm wyszukiwania binarnego w Javie

Algorytm wyszukiwania binarnego w Javie

1. Przegląd W tym artykule omówimy zalety wyszukiwania binarnego w porównaniu z prostym wyszukiwaniem liniowym i omówimy jego implementację w Javie. 2. Potrzeba wydajnego wyszukiwania Powiedzmy, że zajmujemy się sprzedażą win i codziennie miliony kupujących odwiedzają naszą aplikację. Dzięki nasz

Czytaj więcej

   Operator modulo w Javie

Operator modulo w Javie

1. Przegląd W tym krótkim samouczku pokażemy, czym jest operator modulo i jak możemy go używać z Javą w niektórych typowych przypadkach użycia. 2. Operator modulo Zacznijmy od niedociągnięć prostego podziału w Javie. Jeśli operandy po obu stronach operatora dzielenia mają typ int , wynikiem operacji jest inna int: @Test public void whenIntegerDivision_thenLosesRemainder() { assertThat(11 / 4).isEqualTo(2); }

Czytaj więcej

   Java Timer

Java Timer

1. Timer - podstawy Timer i TimerTask to klasy wykorzystujące java używane do planowania zadań w wątku w tle. W kilku słowach - TimerTask to zadanie do wykonania, a Timer to harmonogram . 2. Zaplanuj zadanie raz 2.1. Po określonym opóźnieniu Zacznijmy od uruchomienia pojedynczego zadania za pomocą timera : @Test public void givenUsingTimer_whenSchedulingTaskOnce_thenCorrect() { TimerTask task = new TimerTask() { public void run() { System.out.print

Czytaj więcej

   Podstawy Java Generics

Podstawy Java Generics

1. Wstęp Java Generics zostały wprowadzone w JDK 5.0 w celu ograniczenia liczby błędów i dodania dodatkowej warstwy abstrakcji nad typami. Ten artykuł to krótkie wprowadzenie do typów generycznych w Javie, ich celu oraz tego, jak można je wykorzystać do poprawy jakości naszego kodu. 2. Potrzeba generyków Wyobraźmy sobie scenariusz, w którym chcemy utworzyć listę w Javie do przechowywania liczby całkowitej ; można pokusić się o napisanie: List list = new LinkedList(); list.add(new Integer(1));

Czytaj więcej

   Przewodnik po usłudze Java ExecutorService

Przewodnik po usłudze Java ExecutorService

1. Przegląd ExecutorService to framework udostępniany przez JDK, który upraszcza wykonywanie zadań w trybie asynchronicznym. Ogólnie rzecz biorąc, ExecutorService automatycznie udostępnia pulę wątków i API do przypisywania do niej zadań. 2. Tworzenie instancji ExecutorService 2.1. Metody fabryczne klasy wykonawców Najłatwiejszym sposobem utworzenia ExecutorService jest użycie jednej z metod fabrycznych klasy Executors . Na przykład

Czytaj więcej

   Nowe funkcje w Javie 8

Nowe funkcje w Javie 8

1. Przegląd W tym artykule szybko przyjrzymy się niektórym z najciekawszych nowych funkcji języka Java 8. Porozmawiamy o: domyślnych metodach interfejsu i metodach statycznych, odwołaniu do metod i opcjonalnych. Omówiliśmy już niektóre funkcje wydania Java 8 - strumieniowe API, wyrażenia lambda i funkcjonalne interfejsy - ponieważ są to obszerne tematy, które zasługują na osobne spojrzenie. 2. Metody domy

Czytaj więcej

   Pamięć stosu i miejsce na sterty w Javie

Pamięć stosu i miejsce na sterty w Javie

1. Wstęp Aby uruchomić aplikację w optymalny sposób, JVM dzieli pamięć na pamięć stosu i sterty. Za każdym razem, gdy deklarujemy nowe zmienne i obiekty, wywołujemy nową metodę, deklarujemy String lub wykonujemy podobne operacje, JVM wyznacza pamięć do tych operacji z pamięci stosu lub przestrzeni sterty. W tym samoucz

Czytaj więcej

   Kompilatory Java online

Kompilatory Java online

1. Wstęp Kompilator online to narzędzie, które pozwala nam skompilować kod źródłowy i wykonać go online . To świetna opcja, szczególnie dla nowych studentów, wykładowców lub ankieterów Java. Ponadto bardzo łatwo jest udostępniać kod lub współpracować w sesjach prywatnych lub grupowych. Poza tym nie musim

Czytaj więcej

   Przewodnik po BufferedReader

Przewodnik po BufferedReader

1. Przegląd BufferedReader to klasa, która upraszcza odczytywanie tekstu ze strumienia wejściowego znaku. Buforuje znaki, aby umożliwić efektywny odczyt danych tekstowych. W tym samouczku przyjrzymy się, jak używać klasy BufferedReader . 2. Kiedy używać BufferedReader Ogólnie BufferedReader przydaje się, jeśli chcemy czytać tekst z dowolnego źródła wejściowego, czy to plików, gniazd, czy czegoś innego. Mówiąc najprościej

Czytaj więcej

   Jak zrobić głęboką kopię obiektu w Javie

Jak zrobić głęboką kopię obiektu w Javie

1. Wstęp Kiedy chcemy skopiować obiekt w Javie, musimy wziąć pod uwagę dwie możliwości - płytką kopię i głęboką kopię. Płytka kopia to podejście, w którym kopiujemy tylko wartości pól, a zatem kopia może być zależna od oryginalnego obiektu. W podejściu do głębokiego kopiowania upewniamy się, że wszystkie obiekty w drzewie są głęboko kopiowane, więc kopia nie jest zależna od żadnego wcześniej istniejącego obiektu, który może kiedykolwiek ulec zmianie. W tym artykule porównamy te dwa pod

Czytaj więcej

   Wprowadzenie do serializacji Java

Wprowadzenie do serializacji Java

1. Wstęp Serializacja to konwersja stanu obiektu na strumień bajtów; deserializacja działa odwrotnie. Mówiąc inaczej, serializacja to konwersja obiektu Java na statyczny strumień (sekwencję) bajtów, który można następnie zapisać w bazie danych lub przesłać przez sieć. 2. Serializacja i deserializacja Proces serializacji jest niezależny od instancji, co oznacza, że ​​obiekty mogą być serializowane na jednej platformie i deserializowane na innej. Klasy kwalifikujące się

Czytaj więcej

   Jak skopiować tablicę w Javie

Jak skopiować tablicę w Javie

1. Przegląd W tym krótkim artykule omówimy różne metody kopiowania tablic w Javie. Kopiowanie tablicowe może wydawać się trywialnym zadaniem, ale może spowodować nieoczekiwane wyniki i zachowanie programu, jeśli nie zostanie wykonane ostrożnie. 2. Klasa systemu Zacznijmy od podstawowej biblioteki Java - System.arrayCopy ()

Czytaj więcej

   Korzystanie z Math.pow w Javie

Korzystanie z Math.pow w Javie

1. Przegląd Potęga liczby oznacza, ile razy należy użyć liczby w mnożeniu. Można to łatwo obliczyć w Javie. 2. Przykład Math.pow Zanim spojrzymy na przykład, przyjrzyjmy się sygnaturze metody: public double pow(double a, double b) Metoda podnosi a do potęgi b i zwraca wynik jako podwójny . Innymi słowy,

Czytaj więcej

   Java - generuj losowy ciąg

Java - generuj losowy ciąg

W tym samouczku pokażemy, jak wygenerować losowy ciąg w Javie - najpierw przy użyciu standardowych bibliotek Java, następnie przy użyciu wariantu Java 8, a na końcu przy użyciu biblioteki Apache Commons Lang. Ten artykuł jest częścią serii „Java - Back to Basic” tutaj w Baeldung. 1. Wygeneruj losow

Czytaj więcej

   wait and notify () Metody w Javie

wait and notify () Metody w Javie

1. Wstęp W tym artykule przyjrzymy się jednemu z najbardziej podstawowych mechanizmów w Javie - synchronizacji wątków. Najpierw omówimy kilka podstawowych terminów i metodologii związanych ze współbieżnością. Opracujemy też prostą aplikację - w której zajmiemy się problemami współbieżności, mając na celu lepsze zrozumienie funkcji wait () i notify (). 2. Synchronizacja wąt

Czytaj więcej

   Algorytm najkrótszej ścieżki Dijkstry w Javie

Algorytm najkrótszej ścieżki Dijkstry w Javie

1. Przegląd W tym artykule położono nacisk na problem najkrótszej ścieżki (SPP), będący jednym z fundamentalnych problemów teoretycznych znanych w teorii grafów, oraz sposób wykorzystania algorytmu Dijkstry do jego rozwiązania. Podstawowym celem algorytmu jest wyznaczenie najkrótszej ścieżki między węzłem początkowym a resztą wykresu. 2. Problem najkrót

Czytaj więcej

   Używanie par w Javie

Używanie par w Javie

1. Przegląd W tym krótkim artykule omówimy bardzo przydatną koncepcję programowania znaną jako para . Pary zapewniają wygodny sposób obsługi prostego skojarzenia klucza z wartością i są szczególnie przydatne, gdy chcemy zwrócić dwie wartości z metody. Prosta implementacja pary jest dostępna w podstawowych bibliotekach Java. Poza tym niektór

Czytaj więcej

   Porównanie butów wiosennych i wiosennych

Porównanie butów wiosennych i wiosennych

1. Przegląd W tym artykule przyjrzymy się różnicom między standardowymi frameworkami Spring i Spring Boot. Skoncentrujemy się i omówimy, w jaki sposób moduły Spring, takie jak MVC i Security, różnią się, gdy są używane w rdzeniu Spring, a gdy są używane z Boot. 2. Co to jest wiosna? Mówiąc najprośc

Czytaj więcej

   Przewodnik po zsynchronizowanych słowach kluczowych w Javie

Przewodnik po zsynchronizowanych słowach kluczowych w Javie

1. Przegląd Ten krótki artykuł będzie wprowadzeniem do korzystania z zsynchronizowanego bloku w Javie. Mówiąc najprościej, w środowisku wielowątkowym sytuacja wyścigu występuje, gdy dwa lub więcej wątków próbuje zaktualizować modyfikowalne dane udostępnione w tym samym czasie. Java oferuje mechanizm pozwalający uniknąć sytuacji wyścigu poprzez synchronizację dostępu wątków do udostępnionych danych. Fragment logiki oznaczon

Czytaj więcej

   Wprowadzenie do JSON-Java (org.json)

Wprowadzenie do JSON-Java (org.json)

1. Wprowadzenie do JSON-Java JSON (skrót od JavaScript Object Notation) to lekki format wymiany danych i jest najczęściej używany do komunikacji klient-serwer. Jest zarówno łatwy do czytania / pisania, jak i niezależny od języka. Wartość JSON może być innym obiektem JSON , tablicą, liczbą, ciągiem znaków, wartością logiczną (prawda / fałsz) lub wartością null. W tym samouczku zoba

Czytaj więcej

   Jak zainstalować Maven w systemie Windows, Linux, Mac

Jak zainstalować Maven w systemie Windows, Linux, Mac

1. Przegląd Mówiąc najprościej, Maven to narzędzie wiersza poleceń do tworzenia aplikacji Java. Projekt Maven udostępnia prosty plik ZIP zawierający wstępnie skompilowaną wersję Maven dla Twojej wygody. Nie ma instalatora. To od Ciebie zależy, czy skonfigurujesz wymagania wstępne i środowisko, aby uruchomić Maven. Instalacja Ap

Czytaj więcej

   Wprowadzenie do Javatuples

Wprowadzenie do Javatuples

1. Przegląd Krotka to zbiór kilku elementów, które mogą, ale nie muszą być ze sobą powiązane. Innymi słowy, krotki można uznać za obiekty anonimowe. Na przykład [„RAM”, 16, „Astra”] to krotka zawierająca trzy elementy. W tym artykule przyjrzymy się bardzo prostej bibliotece, która pozwala nam pracować ze strukturami danych opartymi na krotkach o nazwie javatuples . 2. Wbudowane klasy Java

Czytaj więcej

   Spring Dependency Injection

Spring Dependency Injection

Dependency Injection jest podstawowym aspektem środowiska Spring , za pomocą którego kontener Spring „wstrzykuje” obiekty do innych obiektów lub „zależności”. Mówiąc najprościej, pozwala to na luźne łączenie komponentów i przenosi odpowiedzialność za zarządzanie komponentami na pojemnik. Przyjrzyjmy się bliżej

Czytaj więcej

   Wprowadzenie do Java 8 Date / Time API

Wprowadzenie do Java 8 Date / Time API

1. Przegląd Java 8 wprowadziła nowe interfejsy API dla daty i godziny, aby wyeliminować wady starszych java.util.Date i java.util.Calendar . W ramach tego artykułu zacznijmy od problemów występujących w istniejących interfejsach API daty i kalendarza i omówmy, w jaki sposób rozwiązują je nowe interfejsy API daty i czasu Java 8 . Będziemy t

Czytaj więcej

   Hibernuj samouczek adnotacji jeden do wielu

Hibernuj samouczek adnotacji jeden do wielu

1. Wstęp Ten krótki samouczek dotyczący Hibernacji poprowadzi nas przez przykład mapowania jeden do wielu przy użyciu adnotacji JPA, alternatywy dla XML. Dowiemy się również, czym są relacje dwukierunkowe, jak mogą powodować niespójności i jak może pomóc idea własności. 2. Opis Mówiąc najprościej, mapowanie jeden do wielu oznacza, że ​​jeden wiersz w tabeli jest mapowany na wiele wierszy w innej tabeli. Przyjrzyjmy się poniższ

Czytaj więcej

   Rzutowanie typów obiektów w Javie

Rzutowanie typów obiektów w Javie

1. Przegląd System typów Java składa się z dwóch rodzajów typów: prymitywów i referencji. W tym artykule omówiliśmy konwersje prymitywne i skupimy się tutaj na rzutowaniu odwołań, aby dobrze zrozumieć, jak Java obsługuje typy. 2. Prymityw a odniesienie Chociaż pierwotne konwersje i rzutowanie zmiennych referencyjnych mogą wyglądać podobnie, są to zupełnie różne koncepcje. W obu przypadkach „zm

Czytaj więcej

   Co to jest klasa POJO?

Co to jest klasa POJO?

1. Przegląd W tym krótkim tutorialu przyjrzymy się definicji „zwykłego starego obiektu Java” lub w skrócie POJO. Przyjrzymy się, jak POJO porównuje się z JavaBean i jak pomocne może być przekształcenie naszych POJO w JavaBeans. 2. Zwykłe stare obiekty Java 2.1. Co to jest POJO ? Kiedy mówimy o POJO, to, co opisujemy, jest prostym typem bez odniesień do żadnych konkretnych frameworków. POJO nie ma konwenc

Czytaj więcej

   Operator trójskładnikowy w Javie

Operator trójskładnikowy w Javie

1. Przegląd Trójskładnikowy operator warunkowy ?: Pozwala nam definiować wyrażenia w Javie. Jest to skondensowana forma instrukcji if-else , która również zwraca wartość. W tym samouczku dowiemy się, kiedy i jak używać konstrukcji trójskładnikowej. Zaczniemy od przyjrzenia się jego składni, a następnie zbadania jego zastosowania. 2. Składnia Ope

Czytaj więcej

   Interfejsy funkcjonalne w Javie 8

Interfejsy funkcjonalne w Javie 8

1. Wstęp Ten artykuł jest przewodnikiem po różnych interfejsach funkcjonalnych obecnych w Javie 8, ich ogólnych przypadkach użycia i zastosowaniu w standardowej bibliotece JDK. 2. Lambdy w Javie 8 Java 8 przyniosła nowe, potężne ulepszenie składni w postaci wyrażeń lambda. Lambda to anonimowa funkcja, która może być obsługiwana jako obywatel języka pierwszej klasy, na przykład przekazywana lub zwracana z metody. Przed Java 8 zwy

Czytaj więcej

   Wprowadzenie do projektu Lombok

Wprowadzenie do projektu Lombok

1. Unikaj powtarzającego się kodu Java to świetny język, ale czasami robi się zbyt rozwlekły w przypadku rzeczy, które musisz zrobić w swoim kodzie dla typowych zadań lub zgodności z niektórymi praktykami ramowymi. Bardzo często nie wnoszą one żadnej realnej wartości do biznesowej strony programów - i właśnie tutaj Lombok jest tutaj, aby uczynić Twoje życie szczęśliwszym, a Ciebie bardziej produktywnym. Sposób, w jaki to dz

Czytaj więcej

   Korzystanie z asercji Java

Korzystanie z asercji Java

1. Wstęp Słowo kluczowe Java assert pozwala programistom szybko zweryfikować pewne założenia lub stan programu. W tym artykule przyjrzymy się, jak używać słowa kluczowego assert w języku Java . 2. Historia asercji Java Słowo kluczowe Java assert zostało wprowadzone w Javie 1.4, więc istnieje od dłuższego czasu. Jednak pozosta

Czytaj więcej

   Instancja operatora Java

Instancja operatora Java

1. Wstęp Z tego krótkiego samouczka dowiemy się o operatorze instanceof w Javie. 2. Co to jest instancja Operatora? instanceof jest operatorem binarnym używanym do testowania, czy obiekt jest danego typu. Wynik operacji to prawda lub fałsz . Jest również znany jako operator porównania typów, ponieważ porównuje wystąpienie z typem. Przed rzuc

Czytaj więcej

   Sortowanie w Javie

Sortowanie w Javie

1. Przegląd Ten artykuł ilustruje, jak zastosować sortowanie do tablicy , listy , zestawu i mapy w Javie 7 i Java 8. 2. Sortowanie z tablicą Zacznijmy od sortowania tablic całkowitych najpierw przy użyciu metody Arrays.sort () . Zdefiniujemy następujące tablice int w metodzie @Before jUnit: @Before public void initVariables () { toSort = new int[] { 5, 1, 89, 255, 7, 88, 200, 123, 66 }; sortedInts = new int[] {1, 5, 7, 66, 88, 89, 123, 200, 255}; sortedRangeInts = new int[] {5, 1, 89, 7, 88, 200, 255, 123, 66}; ... } 2.

Czytaj więcej

   Wprowadzenie do Jackson ObjectMapper

Wprowadzenie do Jackson ObjectMapper

1. Przegląd Ten samouczek koncentruje się na zrozumieniu klasy Jackson ObjectMapper i sposobach serializacji obiektów Java do formatu JSON oraz deserializacji ciągu JSON na obiekty Java. Aby dowiedzieć się więcej o bibliotece Jacksona, dobrym miejscem do rozpoczęcia jest samouczek Jacksona. 2. Zal

Czytaj więcej

   Nie udało się zarezerwować wystarczającej ilości miejsca na stertę obiektów

Nie udało się zarezerwować wystarczającej ilości miejsca na stertę obiektów

1. Przegląd W tym samouczku poznamy przyczynę błędu „Nie można zarezerwować wystarczającej ilości miejsca na stertę obiektów” , przechodząc przez kilka możliwych scenariuszy. 2. Objawy „Nie można zarezerwować wystarczającej ilości miejsca na stertę obiektów” to specyficzny błąd maszyny JVM, który jest zgłaszany, gdy proces Java nie może utworzyć maszyny wirtualnej z powodu ograniczeń pamięci napotkanych w działającym systemie: java -Xms4G -Xmx4G -jar HelloWorld.jar Error occurred during initializa

Czytaj więcej

   Przewodnik po Javie 8 Opcjonalny

Przewodnik po Javie 8 Opcjonalny

1. Przegląd W tym samouczku pokażemy klasę Optional, która została wprowadzona w Javie 8. Celem tej klasy jest zapewnienie rozwiązania na poziomie typu do reprezentowania wartości opcjonalnych zamiast odwołań o wartości null . Aby lepiej zrozumieć, dlaczego powinniśmy obchodzić się z klasą Optional , zapoznaj się z oficjalnym artykułem Oracle. 2. Tworzenie ob

Czytaj więcej

   Utwórz wyjątek niestandardowy w języku Java

Utwórz wyjątek niestandardowy w języku Java

1. Wstęp W tym samouczku omówimy, jak utworzyć niestandardowy wyjątek w Javie . Pokażemy, jak wyjątki zdefiniowane przez użytkownika są implementowane i używane zarówno dla wyjątków zaznaczonych, jak i niezaznaczonych. 2. Potrzeba niestandardowych wyjątków Wyjątki w języku Java obejmują prawie wszystkie ogólne wyjątki, które mogą wystąpić w programowaniu. Czasami jednak musimy

Czytaj więcej

   Przewodnik po RestTemplate

Przewodnik po RestTemplate

1. Przegląd W tym samouczku zamierzamy zilustrować szeroki zakres operacji, w których klient Spring REST - RestTemplate - może być używany i dobrze używany. Po stronie API wszystkich przykładów będziemy tutaj uruchamiać usługę RESTful. 2. Powiadomienie o wycofaniu Począwszy od Spring Framework 5, obok stosu WebFlux, Spring wprowadził nowego klienta HTTP o nazwie WebClient . WebClient to

Czytaj więcej

   Przewodnik po XML w Javie

Przewodnik po XML w Javie

1. Przegląd To jest przewodnik po pracy z XML w Javie . Omówimy najpopularniejsze biblioteki przetwarzania Java XML - zarówno do analizowania, jak i wiązania. 2. Parsery DOM Mówiąc najprościej, parser DOM działa na całym dokumencie XML, ładuje go do pamięci i tworzy drzewiastą reprezentację dokumentu. Przydatne z

Czytaj więcej

   Wykresy w Javie

Wykresy w Javie

1. Przegląd W tym samouczku zrozumiemy podstawowe pojęcia dotyczące wykresu jako struktury danych . Zbadamy również jego implementację w Javie wraz z różnymi operacjami możliwymi na wykresie. Omówimy również biblioteki Java oferujące implementacje grafów. 2. Wykres struktury danych Wykres to struktura danych służąca do przechowywania połączonych danych, podobnie jak sieć osób na platformie mediów społecznościowych. Graf składa się z wier

Czytaj więcej

   Java equals () i hashCode () Kontrakty

Java equals () i hashCode () Kontrakty

1. Przegląd W tym samouczku przedstawimy dwie metody, które ściśle do siebie pasują : equals () i hashCode () . Skoncentrujemy się na ich wzajemnych relacjach, na tym, jak poprawnie je zastąpić i dlaczego powinniśmy zastąpić oba lub żadne. 2. równa się () Do obiektu klasa definiuje zarówno equals () i hashCode () metody - co oznacza, że te dwie metody są domyślnie zdefiniowane w każdej klasie Java, w tym te, które tworzą: class Money { int amount; String currencyCode; } Money income = new Money(55, "USD"); Money expenses = new Money(55, "USD"); boolean balanced = income.equals(expenses) Sp

Czytaj więcej

   Iteruj po mapie w Javie

Iteruj po mapie w Javie

1. Przegląd W tym krótkim artykule przyjrzymy się różnym sposobom iteracji przez wpisy mapy w Javie. Mówiąc najprościej, możemy wyodrębnić zawartość mapy za pomocą keySet (), valueSet () lub entrySet () . Ponieważ są to wszystkie zbiory, do wszystkich mają zastosowanie podobne zasady iteracji. Map.entrySet AP

Czytaj więcej

   Uruchom aplikację Java z wiersza poleceń

Uruchom aplikację Java z wiersza poleceń

1. Przegląd Zazwyczaj każda znacząca aplikacja zawiera jeden lub więcej plików JAR jako zależności. Jednak zdarza się, że sam plik JAR reprezentuje samodzielną aplikację lub aplikację internetową. W tym artykule skoncentrujemy się na scenariuszu aplikacji autonomicznej. W dalszej części będziemy nazywać to aplikacją JAR. W tym samouczku n

Czytaj więcej

   „Ostateczne” słowo kluczowe w Javie

„Ostateczne” słowo kluczowe w Javie

1. Przegląd Dziedziczenie umożliwia nam ponowne wykorzystanie istniejącego kodu, ale czasami z różnych powodów musimy ustawić ograniczenia dotyczące rozszerzalności ; końcowy słów kluczowych pozwala nam dokładnie to zrobić. W tym samouczku przyjrzymy się, co oznacza końcowe słowo kluczowe dla klas, metod i zmiennych. 2. Zajęcia końc

Czytaj więcej

   Adnotacje Spring @Controller i @RestController

Adnotacje Spring @Controller i @RestController

1. Przegląd W tym krótkim samouczku omówimy różnicę między adnotacjami @Controller i @RestController w Spring MVC. Pierwsza adnotacja jest używana dla tradycyjnych kontrolerów Spring i była częścią struktury przez bardzo długi czas. @RestController adnotacja została wprowadzona wiosną 4,0 uproszczenie tworzenia relaksującego usług internetowych. Jest to wygodna a

Czytaj więcej

   Zliczanie wystąpień znaku w ciągu

Zliczanie wystąpień znaku w ciągu

1. Przegląd Istnieje wiele sposobów zliczania liczby wystąpień znaku w ciągu znaków w języku Java. W tym krótkim artykule skupimy się na kilku przykładach liczenia znaków, najpierw za pomocą podstawowej biblioteki Java, a następnie za pomocą innych bibliotek i struktur, takich jak Spring i Guava. 2. Korzystan

Czytaj więcej

   Odczytywanie pliku CSV do tablicy

Odczytywanie pliku CSV do tablicy

1. Przegląd Mówiąc najprościej, plik CSV (Comma Separated Values) zawiera uporządkowane informacje oddzielone przecinkami. W tym samouczku przyjrzymy się różnym sposobom wczytywania pliku CSV do tablicy. 2. BufferedReader w java.io Najpierw odczytujemy rekordy wiersz po wierszu za pomocą funkcji readLine () w BufferedReader . Następni

Czytaj więcej

   Solidny przewodnik po solidnych zasadach

Solidny przewodnik po solidnych zasadach

1. Wstęp W tym samouczku omówimy zasady SOLID w projektowaniu obiektowym. Najpierw zaczniemy od zbadania przyczyn ich powstania i powodów, dla których powinniśmy wziąć je pod uwagę podczas projektowania oprogramowania. Następnie opiszemy każdą zasadę wraz z przykładowym kodem, aby podkreślić tę kwestię. 2. Przyczyna SO

Czytaj więcej

   Łączenie ciągów w Javie

Łączenie ciągów w Javie

1. Wstęp Java udostępnia znaczną liczbę metod i klas przeznaczonych do łączenia ciągów znaków . W tym samouczku omówimy kilka z nich, a także przedstawimy niektóre typowe pułapki i złe praktyki. 2. StringBuilder Najpierw jest skromny StringBuilder. Ta klasa udostępnia szereg narzędzi do budowania ciągów znaków, które ułatwiają manipulowanie ciągami znaków. Build Chodźmy szybkie

Czytaj więcej

   Przewodnik po gniazdach Java

Przewodnik po gniazdach Java

1. Przegląd Termin programowanie w gniazdach odnosi się do pisania programów wykonywanych na wielu komputerach, w których wszystkie urządzenia są ze sobą połączone za pomocą sieci. Istnieją dwa protokoły komunikacyjne, których można używać do programowania gniazd: User Datagram Protocol (UDP) i Transfer Control Protocol (TCP) . Główna różnica

Czytaj więcej

   Transakcje ze Springiem i WZP

Transakcje ze Springiem i WZP

1. Przegląd W tym samouczku omówimy właściwy sposób konfiguracji Spring Transactions , sposób korzystania z adnotacji @Transactional i typowe pułapki. Aby uzyskać bardziej szczegółowe omówienie podstawowej konfiguracji trwałości, zapoznaj się z samouczkiem Spring with JPA. Zasadniczo istnieją dwa różne sposoby konfigurowania transakcji - adnotacje i AOP - każdy z własnymi zaletami. Omówimy tutaj bard

Czytaj więcej

   Singletony w Javie

Singletony w Javie

1. Wstęp W tym krótkim artykule omówimy dwa najpopularniejsze sposoby implementacji Singletonów w zwykłej Javie. 2. Singleton oparty na klasach Najpopularniejszym podejściem jest implementacja Singletona poprzez utworzenie zwykłej klasy i upewnienie się, że ma: Prywatny konstruktor Pole statyczne zawierające jedyną instancję Statyczna metoda fabryczna uzyskiwania instancji Dodamy również właściwość info, tylko do późniejszego wykorzystania. Tak więc nasza real

Czytaj więcej

   Wprowadzenie do Javadoc

Wprowadzenie do Javadoc

1. Przegląd Dobra dokumentacja API jest jednym z wielu czynników przyczyniających się do ogólnego sukcesu projektu oprogramowania. Na szczęście wszystkie współczesne wersje JDK udostępniają narzędzie Javadoc - do generowania dokumentacji API z komentarzy obecnych w kodzie źródłowym. Wymagania wstępne: JDK 1.4 (JDK 7+ jest z

Czytaj więcej

   Dekompilacja klas w Javie

Dekompilacja klas w Javie

1. Wstęp W tym samouczku omówimy dekompilację klas Java. Gdy kod źródłowy nie jest dostępny, dekompilacja klas Java pomaga debugować i zrozumieć zachowanie kodu źródłowego. Rzućmy okiem na różne dostępne opcje. 2. Dekompilacja w IDE Ponieważ większość programowania odbywa się w zintegrowanym środowisku programistycznym (IDE), ma sens, aby dekompilacja odbywała się również w IDE. Aby uzyskać więcej infor

Czytaj więcej

   Obsługa wyjątków w Javie

Obsługa wyjątków w Javie

1. Przegląd W tym samouczku omówimy podstawy obsługi wyjątków w Javie, a także niektóre z jego problemów. 2. Pierwsze zasady 2.1. Co to jest? Aby lepiej zrozumieć wyjątki i obsługę wyjątków, zróbmy rzeczywiste porównanie. Wyobraź sobie, że zamawiamy produkt przez Internet, ale podczas podróży dochodzi do awarii dostawy. Dobra firma poradzi

Czytaj więcej

   Oblicz silnie w Javie

Oblicz silnie w Javie

1. Przegląd Biorąc pod uwagę nieujemną liczbę całkowitą n , silnia jest iloczynem wszystkich dodatnich liczb całkowitych mniejszych lub równych n . W tym krótkim samouczku zbadamy różne sposoby obliczania silni dla danej liczby w Javie . 2. Silnia dla liczb do 20 2.1. Silnia za pomocą pętli for Zobaczmy podstawowy algorytm silni wykorzystujący pętlę for : public long factorialUsingForLoop(int n) { long fact = 1; for (int i = 2; i <= n; i++) { fact = fact * i; } return fact; } Powyższe rozwiązanie będzie działać dobrze w przypadku liczb do 20 . Ale jeśli spróbujemy

Czytaj więcej

   Hibernate nie można zainicjować serwera proxy - brak sesji

Hibernate nie można zainicjować serwera proxy - brak sesji

1. Przegląd Pracując z Hibernate, mogliśmy napotkać błąd, który mówi: org.hibernate.LazyInitializationException: nie można zainicjować proxy - brak sesji . W tym krótkim samouczku przyjrzymy się bliżej głównej przyczynie błędu i dowiemy się, jak go uniknąć. 2 Zrozumienie błędu Dostęp do obiektu ładowanego z opóźnieniem poza kontekstem otwartej sesji Hibernacji spowoduje ten wyjątek. Ważne jest, aby zrozumieć

Czytaj więcej

   Jak sprawdzić, czy zainstalowana jest Java

Jak sprawdzić, czy zainstalowana jest Java

1. Przegląd W tym krótkim samouczku przyjrzymy się kilku sposobom określenia, czy Java jest zainstalowana na komputerze. 2. Linia poleceń Najpierw otwórzmy okno poleceń lub terminal i wpiszmy: > java -version Jeśli Java jest zainstalowana, a PATH jest poprawnie skonfigurowany, nasze dane wyjściowe będą podobne do: java version "1.8.0_31" Jav

Czytaj więcej

   Sprawdź, czy ciąg jest palindromem w Javie

Sprawdź, czy ciąg jest palindromem w Javie

1. Wstęp W tym artykule zobaczymy, jak za pomocą Javy sprawdzić, czy dany ciąg jest palindromem. Palindrom to słowo, fraza, liczba lub inna sekwencja znaków, które czyta się tak samo od tyłu jak do przodu , na przykład „pani” lub „samochód wyścigowy”. 2. Rozwiązania W następnych sekcjach przyjrzymy się różnym sposobom sprawdzenia, czy dany ciąg jest palindromem, czy nie. 2.1. Proste podejście M

Czytaj więcej

   Przewodnik po metodzie finalizacji w Javie

Przewodnik po metodzie finalizacji w Javie

1. Przegląd W tym samouczku skupimy się na podstawowym aspekcie języka Java - metodzie finalize udostępnianej przez główną klasę Object . Mówiąc najprościej, jest to wywoływane przed wyrzucaniem elementów bezużytecznych dla określonego obiektu. 2. Korzystanie z finalizatorów Metoda finalize () jest nazywana finalizatorem. Finalizatory s

Czytaj więcej

   Porównanie ciągów znaków w Javie

Porównanie ciągów znaków w Javie

1. Przegląd W tym artykule omówimy różne sposoby porównywania ciągów znaków w Javie. Ponieważ String jest jednym z najczęściej używanych typów danych w Javie, jest to naturalnie bardzo często używana operacja. 2. Ciąg Porównanie z String Klasa 2.1. Korzystanie z operatora porównania „==” Używanie operatora „==” do porównywania wartości tekstowych jest jednym z najczęstszych błędów popełnianych przez początkujących programistów Java. Jest to niepoprawne, ponieważ „==” s

Czytaj więcej

   Wzorzec DAO w Javie

Wzorzec DAO w Javie

1. Przegląd Wzorzec Data Access Object (DAO) jest wzorcem strukturalnym, który pozwala nam odizolować warstwę aplikacji / biznesową od warstwy trwałości (zwykle relacyjnej bazy danych, ale może to być dowolny inny mechanizm trwałości) przy użyciu abstrakcyjnego interfejsu API . Funkcjonalność tego interfejsu API polega na ukryciu przed aplikacją wszystkich zawiłości związanych z wykonywaniem operacji CRUD w podstawowym mechanizmie magazynowania. Dzięki temu obie

Czytaj więcej

   Jak usunąć ostatni znak ciągu?

Jak usunąć ostatni znak ciągu?

1. Przegląd W tym krótkim artykule sprawdzimy i omówimy różne techniki usuwania ostatniego znaku String. 2. Używanie String.substring () Najprostszym sposobem jest użycie wbudowanego w podciąg () metody z String klasy. Aby usunąć ostatni znak z danego Stringa, musimy użyć dwóch parametrów: 0 jako indeksu początkowego oraz indeksu przedostatniego znaku. Możemy to osią

Czytaj więcej

   Moduły ładujące klasy w Javie

Moduły ładujące klasy w Javie

1. Wprowadzenie do programów ładujących klas Programy ładujące klasy są odpowiedzialne za dynamiczne ładowanie klas Java w czasie wykonywania do maszyny JVM (wirtualnej maszyny języka Java). Są również częścią środowiska JRE (Java Runtime Environment). W związku z tym JVM nie musi wiedzieć o plikach lub systemach plików bazowych, aby uruchamiać programy Java dzięki programom ładującym klasy. Ponadto te klasy Jav

Czytaj więcej

   Przewodnik po Volatile Keyword w Javie

Przewodnik po Volatile Keyword w Javie

1. Przegląd W przypadku braku niezbędnych synchronizacji kompilator, środowisko uruchomieniowe lub procesory mogą zastosować wszelkiego rodzaju optymalizacje. Mimo że te optymalizacje są korzystne w większości przypadków, czasami mogą powodować subtelne problemy. Buforowanie i zmiana kolejności należą do tych optymalizacji, które mogą nas zaskoczyć w równoległych kontekstach. Java i JVM zapewnia

Czytaj więcej

   Wykonaj proste żądanie HTTP w Javie

Wykonaj proste żądanie HTTP w Javie

1. Przegląd W tym krótkim samouczku przedstawiamy sposób wykonywania żądań HTTP w Javie - przy użyciu wbudowanej klasy Java HttpUrlConnection. Zauważ, że wychodząc z JDK 11, Java oferuje nowe API do wykonywania żądań HTTP, który jest pomyślany jako zamiennik dla HttpURLConnection, HttpClient API. 2. HttpUrlCon

Czytaj więcej