Java 14 Records

Klasa Record w Javie 14

Java to język, który rozwija się bardzo dynamicznie. Z każdą wersją developerzy Javy wprowadzają nowe istotne funkcjonalności. Jedną z takich ważnych funkcjonalności są rekordy w Javie 14. W filmie przedstawiam wszystkie istotne informacje na temat użycia rekordów.

Rekordy to jedna z nowych funkcjonalności w Javie 14. O nowościach w Javie 14 pisałem tutaj: Java 14 nowości. Jest to jedna z ważniejszych funkcjonalności, które wchodzą do Javy w wersji 14.

Rekordy powstały by zmniejszyć znacznie ilość kodu boilerplate i przede wszystkim ułatwić pracę developerom Javy. Dzięki tej funkcjonalność możesz zastąpić klasę, która ma np. 50 linii kodu klasą, która ma tylko jedną linijkę kodu. Poprawia to bardzo wydajność pracy programisty.

 

 

Z filmu dowiesz się:

  • jak działają rekordy w Javie 14
  • czy rekordy mogą dziedziczyć po innych klasach
  • jak można wykorzystać klasy rekord
  • czy rekordy mogą implementować interfejsy
  • jak definiować własne metody w klasach rekord

 

Mateusz Dąbrowski

Cześć jestem Mateusz, zajmuję się programowaniem już ponad 12 lat z czego ponad 8 programuję w Javie. Zapraszam Cię do lektury mojego bloga. Możesz przeczytać więcej o mnie >>TUTAJ<<

9 thoughts to “Klasa Record w Javie 14”

  1. Jak teraz jest z tą Javą 14, firmy zostają ciągle na Javie 8, czy przechodzą na Graala, OpenJDK i inny język open source typu Kotlin, Scala? Groovy, Clojure i Ceylon raczej już wypadły z gry? Oracle budzi niesmak, więc gdy zmienią maszynę wirtualną to wypadałoby i zmienić język na open source i licencji BSD czy innej?

    1. Dzięki za komentarz. Z Javą wiele się nie zmieniło. Nadal większość firm korzysta z Javy 8, ale to się powoli zmienia. Część firm przeszła już na Javę 11. A obecnie najpopularniejszym dostawcą JDK jest AdoptOpenJdk z którego ja też korzystam produkcyjnie (zapewnia wsparcie dla Javy 8 do 2026r.). Poza tym są też inni dostawcy OpenJdk, którzy zapewniają wsparcie niekomercyjne.

      Java nadal jest językiem open source na licencji GNU General Public Licence, nic się w tej kwestii nie zmieniło.

      Co do języków Java ma się dobrze i wydaje mi się, że będzie jeszcze lepiej. Dochodzi coraz więcej przydatnych funkcjonalności. Kotlin jest popularny tylko na mobilkach i w internetach dużo o nim piszą. Ale nadal jest bardzo mało projektów w tym języku (wystarczy przejrzeć ogłoszenia o pracę) będzie pewnie jakiś 1% (różne zestawienia to potwierdzają). Poza tym Kotlin ma podobny problem jak Scala, brak kompatybilności wstecznej. Rozwija się bardzo dynamicznie jedne funkcjonalności dochodzą inne wylatują, często stanowi to duży problem, zwłaszcza w większych projektach.

      Co do innych języków to warto zainteresować się: Golang, Rust i oczywiście Python, który jest coraz bardziej popularny, zwłaszcza w nowych technologiach.

      Graal VM to jeszcze młode narzędzie i moim zdaniem potrzebuje jeszcze trochę czasu.

      1. Kotlin podobno jest bardzo nieczytelny ma dużo lukru składniowego i jest tak samo toporny jak Objective C robi się chaos w kodzie. Scala jest dość skomplikowana przez co trudna i też zniechęca początkujących programistów. Wydaje mi się, że Python to inna liga niż Java. Jest on wolniejszy od PHP 7 czy Node, a co dopiero mówić o Javie. Dla mnie Python jest mało czytelny, jest zbyt zwięzły, ale do skryptów się nadaje. Programiści dropboksa zrezygnowali z Pythona i przepisali go na Rust.
        [link usunięty]
        Zostaje mi wybór pomiędzy Go, Rust i Swift są dość nowoczesne i szybkie i ładnie podpowiadają błędy. Visual Studio Code ładnie wspiera Go, a do Rust jest wtyczka do Intellij i PyCharm więc mamy wygodny ekosystem jak w Javie. Do Swift trzeba mieć sprzęt Apple, na Ubuntu jest kompilator, ale nie ma Xcode. Swift to podobno taka poprawiona lepsza wersja Kotlina?
        [link usunięty]

        1. Usunąłem linki, pierwsze moim zdaniem nie jest za bardzo wiarygodne. Oczywiście to, że w Dropboxie przeszli na Rusta nie znaczy, że Python jest zły. W Dropboxie mają po prostu inną skalę (to skrajny przypadek). I podawanie go jako wyznacznika nie jest dobre. Każdy język ma swoje wady i zalety.

          A do porównania kotlina do Swifta, to na tej zasadzie można też go porównać do np. Scali, Javascriptu czy nawet do Javy 😉

        2. W Rust boję się trochę inteligentnych wskaźników, w Go ponoć też coś takiego jest ale inaczej to się nazywa. W sumie Go przypomina trochę Jave z tym, że ma natywny kompilator, a nie maszynę wirtualną. Kotlin też ma taki kompilator i nie trzeba używać JVM.

  2. Mam pytanie czy kompilator Graal jest napisany w czystej Javie, czy to jest głównie C++ tak jak w OpenJDK?
    Polecisz jakieś dobre książki do Javy dla początkującego? Zastanawiam się nad tymi trzema.
    1. Java. Przewodnik dla początkujących. Wydanie VIII – Herbert Schildt
    2. Java dla zupełnie początkujących. Owoce programowania. Wydanie VII – Tony Gaddis
    3. Java. Efektywne programowanie. Wydanie III – Joshua Bloch
    Z tym, że ta pierwsza książka jest najnowsza, ale uczy Javy w wersji 9, natomiast ta druga jest starsza i uczy już Javy w wersji 11. Nie wiem o co chodzi. Nie wymieniłem książki tego znanego autora Hortsmanna dlatego, że przeczytałem darmowy wstęp do jego książki i on pisze, że ta książka nie jest dla początkujących. Trzeba już znać jakiś język programowania najlepiej C++ i w tej książce są ciągłe porównania, właśnie do tego języka.
    4. Java. Podstawy. Wydanie XI – Cay S. Horstmann

    1. Cześć, dzięki za komentarz. Na GraalVM można uruchamiać różne języki nie tylko JVMowe takie jak Java czy Scala. Ale także np. Javascript. Jeżeli chcesz uruchomić aplikację javową to wystarczy, że ustawisz JAVA_HOME na katalog gdzie masz Graala i używasz tak jak normalnej Javy. Co do innych języków np. Javascript to są chyba jakieś kompilatory, które kompilują kod do jakiegoś kodu pośredniego, który Graal potrafi zrozumieć i pewnie są napisane w C++. Generalnie jeśli chodzi o szczegóły wewnętrzne to jest to trochę skomplikowane. Mam w planach napisać coś o Graalu ale nie wiem kiedy to będzie.

      Co do książek to najlepsza pozycja to „Java. Efektywne programowanie. Wydanie III – Joshua Bloch” tylko nie jest to książka dla początkujących raczej poziom mid, więc zapisz na przyszłość. Czytałem dwa razy i zawsze ją polecam 😉

      Co do innych to trudno mi powiedzieć bo dawano temu uczyłem się Javy… Z tego co widzę to 90% ludzi poleca Horstmann, ale część też Schildta.

      Najlepiej gdybyś mógł przejrzeć te książki (np w empiku o ile to możliwe) i sprawdzić, która wydaje Ci się bardziej zrozumiał. Generalnie wszystkie zawierają podobny zestaw informacji.

      „Z tym, że ta pierwsza książka jest najnowsza…” – pewnie chodzi o to, że to jest 8 wydanie tej książki i zostało poprawione, ale powstało wcześniej niż faktycznie zostało wydane (i tu może być różnica kilku lat). Dlatego opiera się o starszą wersję.

      1. Przeczytałem na helionie ich próbki ebooków i najbardziej podoba mi się Tony Gaddis pisze tak jakoś nowocześnie. Schildt i Horstmann to stara szkoła programowania, nie wiem czemu nie używają oni Intellij, tylko jeden Eclipse a drugi NetBeans. Natomiast co do GraalVM to znalazłem jego kody źródłowe na githubie i jest tworzony w 5 językach programowania, czyli C++, Java, Python, JavaScript i Ruby. Skoro GraalVM uruchamia Scalę czy tam Kotlina, a one posiadają Scala.js i Kotlin.js do frontendu, to powinien te interpretery nakładki na czysty JavaScript też uruchomić?

        1. Scala.js i Kotlin.js są kompilowane do czystego Javascriptu i dopiero są uruchamiana w przeglądarce. A Graal uruchamia czysty Javascript, który musi jakoś zrozumieć, czyli musi go skompilować do jakiegoś kodu pośredniego. Tak jak pisałem jakoś specjalnie się nie zagłębiałem jak to działa ?

Komentarze są zamknięte.