Jarosław Czub DevBlog

Ogólnie o programowaniu

Tag: Lambda

Wielowątkowość cz.5 – klasy wspomagające Semaphore, Lock

Javowy framerwok do obsługi współbieżności to nie tylko dziedziczenie po interfejsie theread, ale również wiele innych przydatnych klas, interfejsów i innych rozwiązań. Niektóre z nich opisałem w poprzednich artykułach. Dzisiaj na zakończenie postaram się opisać pozostałe, nie omówię tu oczywiście wszystkich. To więc startujemy: Semaphore i Lock Standartowo w Javie metody, fragmenty kodu synchronizujemy przy […]

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: Wielowątkowość cz1. – wstęp, theread, synchronizacja

Wielowątkowość w programowaniu to nie jest łatwy temat, źle użyta jest przyczyną bardzo wielu kłopotów. Ten temat będzie podzielony na parę części: Wielowątkowość cz1. – wstęp, theread, synchronizacja Wielowątkowość cz2. – komunikacja międzywątkowa, synchronizacja poprzez kolejkę Wielowątkowość cz3. – egzekutory, pule wątków, Future i Callable Wielowątkowość cz4. – framerwork Fork/Join Wielowątkowość cz5. – klasy wspomagające […]

Java 8: Lambda

Dawno nie było pisania technicznego :(, troszkę jest rzeczy na głowie. Dzisiaj na tapetę idzie Java 8 i jej jeden z ficzerów operator Lambda. Co to są Lambdy? Jest to uproszczony sposób zapis metod anonimowych, tylko taki bardziej czytelniejszy. Lambda nawiązuje do języków funkcyjnych, gdzie tak jak w matematyce kładzie się nacisk na obliczanie wartości […]

Java 8, sortowanie z użyciem lambda

Tak, na szybko. Przykład sortowania danych z użyciem wywołań lambda. Skraca to zapis kodu oraz poprawia czytelność (pod warunkiem że się z odpowiednio sformatuje kod). Poniżej 3 przykłady: Sortowanie tablicy tekstów według długości teksu Sortowania tablicy tekstów według ostatniego znaku Sortowania mapy gdzie mamy klucz oraz zbór losowych wartości. Sortowane są według średniej arytmetycznej Czemu […]

Java8, pierwsze koty za płoty …

Wczoraj zainstalowałem JDK8 i NetBeans 8, nowe ficzery po pierwszych przymiarkach pokazują „moc”. Pozwalają na przyśpieszenie pisania, podobnie jak kolekcje w Scali. Nie ma co czarować, chłopaki z Oracla podglądają konkurencję (C#, Scale, Akka, itd.) i implementują pewne rozwiązania. Jedyna wada, że narazie nie można lambdy i streama wykorzystać bez kombinacji (na GitHubie jest już […]

© 2017 Jarosław Czub DevBlog — Powered by WordPress