Stacja.IT Podcast 057 Mateusz Kamiński - Czy Java może być wydajna?
W nowym odcinku podcastu Stacji.IT rozmawiamy o języku Java, który jest jednym z najpopularniejszych języków programowania. Gościem odcinka jest Mateusz Kamiński - Head of Product Team & Technology Evangelist w Sages. Podczas naszej dyskusji poruszamy następujące tematy: Jakie zagadnienia najbardziej Cię interesują w IT? Dlaczego programujesz w Javie? Kiedy Java jest wydajna, a kiedy nie? W jaki sposób można optymalizować działanie aplikacji w Javie? Czy są do tego jakieś narzędzia, biblioteki, dobre praktyki? Czy kolejne wersje Javy są szybsze / bardziej efektywne? Jakie są najważniejsze zmiany w Javie od wersji 8 od strony programisty? Czy Java nadal szybko się zmienia? Kiedy warto skorzystać z innych języków programowania działających w ramach JVM? Jakie są najczęstsze błędy popełniane przez programistów JVM? Zapraszamy do oglądania i subskrybowania naszego kanału, aby być na bieżąco z najnowszymi odcinkami! ________________________________________________________ Posłuchaj rozmów z prowadzącymi na Stacji i dowiedz się, jakie są ciekawe trendy w IT, jaką ścieżkę rozwoju wybrać i jakimi tematami warto się zainteresować. Rozmawiamy o programowaniu, data science i budowaniu własnej kariery w IT. 😉 🌏 Więcej o nas przeczytasz na stronie: www.stacja.it
Czy to są te główne elementy, czy o czymś tutaj jeszcze należałoby wspomnieć, jakby o tych głównych kategoriach, na które trzeba popatrzeć, żeby się zastanowić, czy moja aplikacja jest wydajna, czy nie. Tutaj możemy podzielić JVM-a na takie dwie sfery. Pierwsza dotyczy odśmiecania pamięci, a druga kompilacji do kodu natywnego przez JIT-a. Właśnie jak ja zaczynałem w ogóle pracować przy Javie, to niestety wiele źródeł mówiło o tym, że Java to jest interpretowany język, co ciekawe, a to jest absolutnie Nieprawda, ponieważ już od dawien dawna, tak naprawdę od wersji 1.1 wprowadzono JITA, czyli Just In Time Compiler.
Situacje, w których jakby z góry jesteśmy skazani na porażkę, tak? Czyli grupy zastosowań, czy właśnie sposób korzystania z języka, który tu przychodzi ci do głowy, który jakby należy po prostu unikać i korzystać z jakiejś innej technologii. To tak. Myślę, że głównie to wynika, jeżeli gdzieś nie możemy Javy zastosować, to właśnie z powodu takiego, że mamy te algorytmy odśmiecania pamięci, bo zwykle wtedy, powiedzmy, musimy taki system pewnie zaprojektować przy pomocy języków CC++, obecnie Rust powiedzmy gdzieś tam. Ja nie mam akurat doświadczenia wielkiego w tych językach, natomiast rozumiem z czego to wynika.
To czy coś tutaj można powiedzieć, zaczynając od samego programowania, o takich dobrych praktykach, które powodują, że dzięki temu dobrze współpracujemy z tą maszyną wirtualną, z tym garbage collectorem. Wspomniałeś przez chwilę o tym, żeby funkcje przez nas tworzone były niezbyt długie, żeby ten Just-In-Time Compiler sobie z tym poradził. Czy tutaj możemy powiedzieć więcej, jak to wygląda? Krótkie to znaczy jak to mniej więcej należy rozumieć. To nie jest proste, ponieważ właśnie to co my widzimy jako krótkie w kodzie maszynowym może zajmować miliony linii kodu. Natomiast możemy oczywiście weryfikować, czy wirtualna maszyna Java, czy ten JIT potrafi skompilować nasz kod.
Pokazano wszystkie 3 dopasowania. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.
Podstawowe informacje o rozmówcach i tematyka rozmowy.
Mateusz opisuje swoje doświadczenie z Javą i jej rozwój w ostatnich latach.
Rozmowa na temat zmian w wirtualnej maszynie Java (JVM) i ich wpływ na wydajność.
Szczegóły dotyczące garbage collectorów i kompilacji do kodu natywnego w JVM.
Mateusz opisuje wprowadzone w Java 8 funkcje funkcyjne i ich wpływ na wydajność.
Rozmowa na temat nowych funkcji w JDK i zmian w paradygramaty programowania w Java.
Mateusz omawia zastosowania, w których Java może być niewydajna, oraz migrację na nowsze wersje Javy.
Podsumowanie i perspektywy rozwoju języka Java.
Rozmowa skupia się na optymalizacji kodu w Javie, profilowaniu i wyborze odpowiedniego garbage collectora w zależności od specyfiki aplikacji.
Rozmowa o różnych opcjach optymalizacji JVM, takich jak CRAC, GraalVM, oraz alternatywne wersje Javy, takie jak Torneido VM.
Porównanie Clojure, Groovy i Kotlin, w tym ich zalety i wady, z podkreśleniem stabilności i wydajności Java.
Podsumowanie rozmowy i zaproszenie do kolejnej rozmowy na temat nowych funkcji Javy.
Rozdziały i streszczenia generowane automatycznie. Pełna transkrypcja nie jest publikowana — wyszukaj frazę, aby zobaczyć dopasowane fragmenty.
Kliknij, aby znaleźć fragmenty, w których pada.
W nowym odcinku podcastu Stacji.IT rozmawiamy o języku Java, który jest jednym z najpopularniejszych języków programowania.
Gościem odcinka jest Mateusz Kamiński - Head of Product Team & Technology Evangelist w Sages.
Podczas naszej dyskusji poruszamy następujące tematy:
Jakie zagadnienia najbardziej Cię interesują w IT?
Dlaczego programujesz w Javie?
Kiedy Java jest wydajna, a kiedy nie?
W jaki sposób można optymalizować działanie aplikacji w Javie?
Czy są do tego jakieś narzędzia, biblioteki, dobre praktyki?
Czy kolejne wersje Javy są szybsze / bardziej efektywne?
Jakie są najważniejsze zmiany w Javie od wersji 8 od strony programisty?
Czy Java nadal szybko się zmienia? Kiedy warto skorzystać z innych języków programowania działających w ramach JVM?
Jakie są najczęstsze błędy popełniane przez programistów JVM?
Zapraszamy do oglądania i subskrybowania naszego kanału, aby być na bieżąco z najnowszymi odcinkami!
________________________________________________________
Posłuchaj rozmów z prowadzącymi na Stacji i dowiedz się, jakie są ciekawe trendy w IT, jaką ścieżkę rozwoju wybrać i jakimi tematami warto się zainteresować. Rozmawiamy o programowaniu, data science i budowaniu własnej kariery w IT. 😉 🌏 Więcej o nas przeczytasz na stronie: www.stacja.it