Jarosław Czub DevBlog

Ogólnie o programowaniu

Category: Programowanie (Page 1 of 2)

Nowe Switch Expressions

Mamy pewne ułatwienie w standarcie języka, gdzie zaoszczędzimy kilka linijek kodu w przypadku gdy używamy wyrażenia “Switch Expressions” do mapowania jednej wartości w inną lub wykonania krótkiego kawałka kodu na wzór funkcji lambda. W takim przypadku użyteczna będzie nowa forma. Można zauważyć, że w nowych wersjach “Switch Expressions” jest wzorowane na językach funkcyjnych. Jak widać […]

Włącznie obsługi funkcji “preview” dla Java14EA w maven

Aby dało się korzystać z wprowadzonych w Java 13+ ficzerów należy najpierw w Mavenie włączyć ich obsługę. Robimy to poprzez dodanie do pom.xml : pluginie maven-compiler-plugin argumentu “enable-preview” ustawienie wersji bytekodu która będzie używana Poniżej przykład modyfikacji w pliku pom.xml: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>14</maven.compiler.source> <maven.compiler.target>14</maven.compiler.target> </properties> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <release>14</release> <compilerArgs> –enable-preview </compilerArgs> </configuration> […]

Nowoczesny ekosystem JAVA

Od wprowadzenia wersji Java 7, 8 minęło już kilka lat. W tym czasie ekosystem języka zmienia się, dostosowując do nowoczesnych rozwiązań chmurowych, programowania funkcyjnego, przetwarzania rozproszonego. W tym cyklu postaram się omówić i przedstawić kilka zagadnień związanych z tematyką nowoczesnego ekosystemu Java, oczywiście poprzez moje kilkunastoletnie doświadczenie. Obejmować będzie nie tylko sam język Java, ale […]

Java 8: Wielowątkowość cz3. – egzekutory, pule wątków, Future i Callable

Na wstępie można było by sobie zadać pytanie, po co wymyślono egzekutory. Przecież możemy odpalić wątki, pozarządzać, poczekać na wykonanie pracy, itd. Ale nie ma co „wymyślać koła na nowo”, a najlepszy kod to ten którego nie trzeba pisać. Należy również wspomnieć o tym, że tworzenie wątków w ramach puli jest mniej, zasobożerne niż tworzenie […]

Java 8: Wielowątkowość cz2. – komunikacja międzywątkowa, synchronizacja poprzez kolejkę

Tworząc aplikację rozbitą na wiele wątków chcemy uzyskać jak największe przyśpieszenie poprzez zrównoleglenie wykonywania części programu. Niekiedy jednak trzeba zapewnić aby poszczególne wątki komunikowały się ze sobą lub koordynowały swoje działania. W najprostszym przypadku można użyć bloków lub metod synchronizowanych. Niekiedy potrzeba jednak użyć bardziej zaawansowanych metod, w takim przypadku możemy skorzystać z kolejki FIFO […]

Strony przydatne do nauki programowania

Mając nawet trochę doświadczenia w programowaniu, albo gdy jesteśmy zieloni i chcemy zdobyć nowy zawód, należy dużo ćwiczyć. Po prostu: „praktyka czyni mistrza”. Można tworzyć swoje projekty, ale również w dobie Internetu dobrze korzystać z stron pomagających w nauce kodowania. Nauka połączona z zabawą lub rozwiązywaniem konretnych zadań. Na pewno taka forma nauki pomaga w […]

Rzeczy z Javy 8, których nie było w starszych wersjach

Ameryki nie odkrywam bo Java 8 weszła już jakiś czas temu, ale dla odświeżenia informacji i przypomnienia ogólnie co wprowadzono. Za jakiś czas ma wejść Java 9 (terminu jak wiadomo 😀 nie ma co dokładnie określać), gdzie główny nacisk ma być położny na modułowość całego środowiska uruchomieniowego. A więc co takiego pojawiło się w javie […]

Java 8 – Strumienie – java.util.stream

Strumienie (te związane z danymi a nie do obsługi plików) w Javie 8 to potężne narzędzie do rzucania danymi w lewo i prawo. Do ich przekształcania, filtracji, itd., dlatego warto je wziąć na tapetę i trochę się nimi pobawić. Najprościej strumień można sobie wyobrazić jako potok danych na których wykonujemy operację w różnych krokach, aż […]

Java 8 – sortowanie i komparatory

Implementacje typu TreeSet i TreeMap umożliwiają porządkowanie danych, gdyż są one układane w kolekcji według operacji porównywania. Domyślnie w TreeSet i TreeMap dane są sortowane według porządku naturalnego (w kolejności: A B C D…). Jeżeli chcemy zastosować inny rodzaj sortowania powinniśmy użyć własnego komparatora podczas tworzenia instancji obiektu TreeSet lub TreeMap. Warto zauważyć ze w Javie 8 rozbudowano klasę komparatorów […]

Java 8 – Kolekcje cz. 2 – przykłady List, Set, Map

Parę małych przykładów z użyciem kolekcji: Operacje na listach // // Tworzenie listy z tablicy // List<String> list1 = Arrays.asList(new String[]{"Pierwszy", "Drugi", "Trzeci", "Czwarty", "Piąty"});   // // Standartowe tworzenie listy // List<String> list2 = new ArrayList<>(); list2.add("Pozycja 1"); list2.add("Pozycja 2"); list2.add("Pozycja 3"); list2.add("Pozycja 4"); list2.add("Pozycja 5");   // Dodajemy duplikat list2.add("Pozycja 4");   // […]

Page 1 of 2

© 2019 Jarosław Czub DevBlog — Powered by WordPress