Java: ensimmäisestä luokasta tuotantotasoisiin järjestelmiin
Java on ollut yritysohjelmistojen, Android-kehityksen ja laajamittaisten taustajärjestelmien perusta lähes kolmen vuosikymmenen ajan. Se toimii JVM:llä, sisältää laajan standardikirjaston ja toimii kaiken perustana rahoitusalan kaupankäyntialustoista pilvipalveluiden mikropalveluihin. Tällä opintopolulla rakennetaan aito Java-osaaminen muuttujista ja ohjausrakenteista aina JVM:n sisäiseen toimintaan, virtuaalisäikeisiin ja GraalVM:n avulla tehtävään natiivikäännökseen asti.
Mitä opitte
Etenette perussyntaksista — muuttujista, tietotyypeistä, silmukoista ja metodeista — olio-ohjelmointiin, jossa käsitellään luokkia, perintää, polymorfismia, suljettuja luokkia ja tietueita. Keskitasolla käsitellään koko Collections-kehys, java.time- ja NIO.2-rajapinnat, lambda-lausekkeet, funktionaaliset rajapinnat ja Streams API kerääjineen, spliterator-olioineen ja primitiivivirtoineen. Myöhemmillä kursseilla käsitellään Spring Bootin määrityksiä ja riippuvuuksien injektointia, Spring Data JPA:ta, REST API -rajapintojen validointia, JUnit 5:n integraatiotestausta ja JWT-pohjaista tietoturvaa. Opintopolun edistyneessä osassa käsitellään ExecutorService-palvelua, lukkoja, atomisia muuttujia, CompletableFuture-rakennetta, jäsenneltyä samanaikaisuutta, Project Loomin virtuaalisäikeitä, JVM:n luokkien latausta ja tavukoodia, GraalVM:n natiivikuvan kääntämistä sekä suorituskyvyn profilointia JMH:lla.
Opintopolku
Yli 120 kurssia kattaa tasot A1–C2. A1- ja A2-kurssit luovat perustan: tyyppijärjestelmä, tyyppimuunnokset, autoboxing, wrapper-luokat, taulukot, ehtolauseet ja metodit. B1-tasolla syvennytään olio-ohjelmointiin Javalla — aiheina enumeraatiot, sisäluokat, iteraattorit, vertailijat, HashMap-rakenteen sisäinen toiminta, poikkeustenkäsittely, serialisointi ja Mavenin ja Gradlen kaltaiset koontityökalut. B2-tasolla tutustutaan funktionaaliseen ohjelmointiin, rajattuihin jokerimerkkeihin geneerisissä tyypeissä, mukautettuihin annotaatioihin ja käytännön Spring Boot -kokonaisuuteen, joka päättyy miniprojektiin: REST API. C1-kursseilla keskiöön nousevat samanaikaisuus ja suorituskyky — rinnakkaiset streamit, Javan muistimalli, roskienkeruu, reflektio, dynaamiset proxyt ja jäsennelty samanaikaisuus. Opintopolku päättyy C2-tasolla Foreign Function and Memory APIin, joka on Javan matalimman tason ominaisuus suoraa yhteentoimivuutta natiivikoodin kanssa varten.
Näin opiskelu toimii
Jokainen kurssi koostuu lyhyistä ja keskittyneistä oppitunneista, jotka suoritatte sisäänrakennetussa koodieditorissa reaaliaikaisen palautteen avulla. Tekoälytuutori on käytettävissänne aina, kun jäätte jumiin, ja keskeisiin etappeihin sijoittuvat miniprojektit — Word Stats, Shape Hierarchy, Log Analyzer, REST API ja Parallel Stats — antavat mahdollisuuden soveltaa oppimaanne ennen etenemistä.