Java Academy logo
JavaNybegynnerNettMobilNivåer A1 → C222 språk

Java Academy

Bli dyktig i Java-programmering og utvikle kraftige applikasjoner med Java Academy. En læringssti fra CoddyKit med 104 korte kurs og 374 interaktive leksjoner, med en AI-veileder tilgjengelig døgnet rundt.

Kurs
104
Leksjoner
374
Interaktive trinn
4,355
Gratis å komme i gang
Kurs 1
Kursinnhold

104 kurs i denne læringsstien

Alle kursene i læringsstien Java Academy, i læringsrekkefølge. Det første er gratis.

1

A13 leksjonerGratis

Java er et høynivå, objektorientert programmeringsspråk som ble lansert av Sun Microsystems i 1995. Java er kjent for muligheten til å «skrive én gang, kjøre overalt» (WORA), og kompilerer kode til p…

2

A14 leksjonerPRO

Scanner og konsollinndata: les inndata med Scanner, les tall og linjer og mer

3

A13 leksjonerPRO

Start Java-reisen Deres: lær hva programmering er, hvordan Java kjører på JVM, og hvilke verktøy De trenger videre. Dette minikurset forbereder Dem på installasjonen og de første kodelinjene.

4

A13 leksjonerPRO

Behersk Java-variabler og uttrykk: lær om primitive typer, deklarasjoner, tilordning, utskrift av verdier og det grunnleggende i numeriske uttrykk. Korte, mobilvennlige leksjoner med kjørbare eksempl…

5

A24 leksjonerPRO

Bli fortrolig med Javas typesystem: primitive typer kontra referansetyper, utvidende og innsnevrende konverteringer, eksplisitt casting og instanceof-operatoren i virkelige scenarier.

6

A24 leksjonerPRO

Utforsk Math-klassen, BigDecimal for økonomisk presisjon, NumberFormat for lokalitetstilpasset output og praktisk problemløsing med tall i Java.

7

A24 leksjonerPRO

Switch-uttrykk og pilsyntaks: switch med pilsyntaks, switch som uttrykk og mer

8

A24 leksjonerPRO

Tekstblokker og multiline-strenger: deklarer tekstblokker, innrykk og fjerning og mer

9

A24 leksjonerPRO

var og lokal typeinferens: bruk var for lokale variabler, når var gjør koden mer lesbar og mer

10

A24 leksjonerPRO

Wrapper-klasser og autoboxing: primitive typer kontra wrapper-typer, autoboxing og unboxing og mer

11

A24 leksjonerPRO

Hjelpeklassen Arrays: Arrays.sort og sortering, Arrays.binarySearch og mer

12

A24 leksjonerPRO

Java-verktøy for tilfeldighet og matematikk: Math-klassen, generer tilfeldige tall og mer

13

A24 leksjonerPRO

Les bruker- og filinndata effektivt i Java.

14

A24 leksjonerPRO

Skriv kompakte valg med den betingede operatoren.

15

A24 leksjonerPRO

Arbeid med enkelttegn ved hjelp av Character-klassen.

16

A24 leksjonerPRO

Produser pent formatert tekst med formatsperifikatorer.

17

A24 leksjonerPRO

Styr nestede løkker med break, continue og etiketter.

18

A23 leksjonerPRO

Ta beslutninger i Java ved hjelp av if, else if og else. Lag tydelige boolske uttrykk med sammenlignings- og logiske operatorer. Korte, mobilvennlige leksjoner med kjørbare eksempler.

19

A23 leksjonerPRO

Gå dypere inn i sammenligninger (==, !=, <, >, <=, >=) og boolsk logikk (&&, ||, !). Lær om operatorprioritet, gruppering med parenteser, kortslutningsevaluering og De Morgans lover.

20

A22 leksjonerPRO

Lær while-løkker trinn for trinn: initialisering, betingelse, oppdatering og hvordan De unngår uendelige løkker. Øv på små mønstre som gjentar handlinger på en trygg måte. Mobilvennlig med korte scen…

21

A23 leksjonerPRO

Behersk for-løkken: initialisering, betingelse og oppdatering på én linje. Skriv tellende løkker, summer og enkle mønstre. Lær å bruke break og continue på en trygg måte.

22

A21 leksjonPRO

Java tilbyr mange operatorer for å arbeide med dataene våre. Ved hjelp av disse operatorene kan vi manipulere dataene. Aritmetiske operatorer er den typen operatorer vi kjenner best fra matematikken.

23

A21 leksjonPRO

Datatypen String brukes i Java til å lagre tekstdata. Strenger er referansedatatyper, ikke primitive datatyper, i Java. I dette kurset lærer vi å bruke String i Java.

24

A23 leksjonerPRO

Lær om en-dimensjonale matriser: hva de er, hvordan de deklareres og opprettes, hvordan elementer hentes og oppdateres, hvordan length brukes, og hvordan De itererer med for og utvidet for-each .

25

A26 leksjonerPRO

Lær om 2D-matriser i Java: deklarer og opprett dem, få tilgang til rader og kolonner, og iterer med nøstede løkker. Øv på å beregne rad- og kolonnesummer og formatere utskrift.

26

A23 leksjonerPRO

Få kontroll på grunnlaget for Java-metoder: signaturer, parametere kontra argumenter, regler for metodekall og grunnleggende utforming. Korte, fokuserte leksjoner med kjørbare eksempler.

27

A23 leksjonerPRO

Utform og gjenbruk metoder effektivt: forstå Javas pass-by-value-semantikk, velg mellom static- og instansmetoder, og del opp problemer i ryddige, testbare rutiner.

28

B14 leksjonerPRO

Lær å definere og bruke enums i Java: enum-konstanter, felt, metoder, switch-uttrykk med enums og samlingene EnumSet og EnumMap.

29

B14 leksjonerPRO

Oppdag Java Records (Java 16+): opprett uforanderlige databærere, kompakte konstruktører og egendefinerte metoder på records, og lær når records bør brukes fremfor klasser.

30

B14 leksjonerPRO

StringBuilder og strengytelse: hvorfor strenger er uforanderlige, bygg strenger med StringBuilder og mer

31

B14 leksjonerPRO

BigDecimal og BigInteger: hvorfor ikke double for penger, arbeid med BigDecimal og mer

32

B14 leksjonerPRO

java.time-API-et for dato og tid: LocalDate, LocalTime, LocalDateTime, Instant og Duration og mer

33

B14 leksjonerPRO

Bruk Optional for å eliminere NullPointerExceptions: opprett, map, filtrer og bruk Optionals på idiomatisk vis i Java 17+.

34

B14 leksjonerPRO

Gå videre enn grunnleggende strenger: StringBuilder, StringJoiner, regulære uttrykk, String.format, tekstblokker og vanlige mønstre for strengalgoritmer.

35

B14 leksjonerPRO

Bli fortrolig med oppløsning av metodeoverlagring, varargs-parametere, statiske felt og metoder samt designmønstre for hjelpeklasser i Java.

36

B14 leksjonerPRO

Utforsk varianter av nestede klasser: statiske nestede klasser, indre klasser, lokale klasser og anonyme klasser, og lær når hver variant passer.

37

B14 leksjonerPRO

Implementer de egendefinerte grensesnittene Iterable og Iterator slik at egne datastrukturer fungerer med for-each-løkker og Java Collections-rammeverket.

38

B14 leksjonerPRO

Sorter samlinger og matriser med Comparable, Comparator, metodereferanser og sorteringskjeder på flere nivåer i virkelige datasituasjoner.

39

B14 leksjonerPRO

Forstå hvordan LinkedList fungerer internt, den dobbeltlenkede strukturen, Deque-operasjoner, simulering av stabler og når LinkedList gir bedre ytelse enn ArrayList.

40

B14 leksjonerPRO

Bli fortrolig med sorterte samlinger: NavigableMap-operasjoner i TreeMap, TreeSet for unike sorterte elementer, subMap/headMap/tailMap og grunnprinsippene for rød-svarte trær.

41

B14 leksjonerPRO

Naviger i det moderne java.nio.file-API-et: opprett Path-objekter, bruk verktøymetoder i Files, gå gjennom kataloger med walkFileTree og overvåk kataloger med WatchService.

42

B14 leksjonerPRO

Forstå Java-serialisering: Serializable-grensesnittet, transient-felt, serialVersionUID, egendefinerte writeObject/readObject og moderne alternativer som JSON.

43

B14 leksjonerPRO

Sealed-klasser og grensesnitt: deklarer sealed-typer, permits-leddet og mer

44

B14 leksjonerPRO

Mønstergjenkjenning for instanceof og records: mønstergjenkjenning for instanceof, record-mønstre og mer

45

B14 leksjonerPRO

Regulære uttrykk med Pattern og Matcher: kompiler mønstre, finn og match og mer

46

B14 leksjonerPRO

HashMap-internt og equals/hashCode: hvordan HashMap fungerer, equals/hashCode-kontrakten og mer

47

B14 leksjonerPRO

EnumMap, EnumSet og avanserte enums: enums med felt og metoder, abstrakte metoder i enums og mer

48

B14 leksjonerPRO

Logging med SLF4J og Logback: hvorfor strukturert logging, SLF4J-fasaden og loggere og mer

49

B11 leksjonPRO

Java bruker tilgangsmodifikatorer til å begrense tilgangen mellom objekter. Dette kan gjelde på klassenivå, men også på variabel-, metode- eller konstruktørnivå.

50

B13 leksjonerPRO

Bygg et lite verktøy for ordstatistikk: del opp tekst i tokens, normaliser, tell og rapporter de beste resultatene. Planlegg først, implementer deretter.

51

B13 leksjonerPRO

Lær det grunnleggende om klasser og objekter i Java. Opprett enkle klasser, instansier objekter og forstå hvilken rolle de har i OOP.

52

B13 leksjonerPRO

Praktisk OOP i Java: nøkkelordet this, en lesbar toString, korrekte equals og hashCode samt praktiske tips for små apper.

53

B13 leksjonerPRO

Lær grunnleggende arv i Java: utvid en basisklasse, kall super-konstruktører og gjenbruk felles funksjonalitet på en trygg måte.

54

B13 leksjonerPRO

Abstrakte klasser og grensesnitt i Java: når de bør brukes, hvordan de deklareres, og hvordan de bidrar til å styre utformingen.

55

B13 leksjonerPRO

Utform og implementer et lite figurhierarki med en abstrakt basisklasse, konkrete figurer og polymorf oppførsel.

56

B13 leksjonerPRO

Lær om Lists og Sets i Java: når hver av dem bør brukes, grunnleggende operasjoner og enkle mønstre for iterasjon.

57

B13 leksjonerPRO

Lær å bruke Maps til oppslag fra nøkkel→verdi, frekvenstelling og enkle algoritmer med lister og mengder.

58

B13 leksjonerPRO

Lær det grunnleggende om unntaksbehandling: try-, catch- og finally-blokker med enkle eksempler.

59

B13 leksjonerPRO

Bruk unntaksbehandling med egendefinerte unntak, throw-setninger og defensiv programmering.

60

B13 leksjonerPRO

Lær om Java-klassene NIO Path og Files: opprett, kontroller og slett filer på en trygg måte.

61

B13 leksjonerPRO

Lær om serialisering av Java-objekter: skriv objekter til filer og les dem inn igjen.

62

B13 leksjonerPRO

Bygg en enkel logganalysator som leser, tolker og oppsummerer loggfiler.

63

B14 leksjonerPRO

Byggverktøy: Maven og Gradle: Maven-prosjektstruktur, Maven-plugins og mål og mer

64

B14 leksjonerPRO

JDBC og connection pooling: grunnleggende JDBC, PreparedStatement og mer

65

B24 leksjonerPRO

Gå videre enn grunnleggende Streams: groupingBy, partitioningBy, toMap, counting, summarizingInt, joining og bygging av egendefinerte Collectors for komplekse aggregasjoner.

66

B24 leksjonerPRO

Forenkle lambda-uttrykk med metodereferanser: statiske referanser, instansreferanser, vilkårlige instansreferanser og konstruktørreferanser med praktiske eksempler på funksjonelle grensesnitt.

67

B24 leksjonerPRO

Implementer de fire viktigste opprettelsesmønstrene i Java: Singleton (trådsikker), Factory Method, Abstract Factory og Builder med flytende API-er.

68

B24 leksjonerPRO

Bli fortrolig med atferdsorienterte designmønstre i Java: Observer, Strategy, Command og Template Method, med konkrete bruksområder fra virkelige applikasjoner.

69

B24 leksjonerPRO

Funksjonelle grensesnitt i dybden: Function og BiFunction, Supplier og Consumer og mer

70

B24 leksjonerPRO

Primitive streams: IntStream og LongStream, range- og aggregatoperasjoner og mer

71

B24 leksjonerPRO

Avgrensede wildcards og PECS: wildcards med øvre grense, wildcards med nedre grense og mer

72

B23 leksjonerPRO

Grensesnitt i praksis og det grunnleggende om Java-generics for tryggere og gjenbrukbar kode.

73

B24 leksjonerPRO

Definer egendefinerte annotasjoner, bevaringspolicyer og mål, og behandle dem ved kjøring med refleksjon og ved kompilering med annotasjonsprosessorer.

74

B24 leksjonerPRO

Lås opp avanserte Stream-funksjoner: flatMap på nestede strukturer, peek for feilsøking, fallgruver ved parallelle streams, Spliterator-internt og uendelige streams.

75

B24 leksjonerPRO

Bli fortrolig med Spring Boot-autokonfigurasjon, application properties, profiler, @Bean, @Component, @Service, @Repository og beste praksis for konstruktørinjeksjon.

76

B24 leksjonerPRO

Knytt Java-entiteter til databasetabeller med JPA-annotasjoner, definer Spring Data-repositories, skriv JPQL- og native-spørringer og håndter relasjoner.

77

B24 leksjonerPRO

Bygg robuste REST API-er: Bean Validation med @Valid, egendefinerte validatorer, global unntakshåndtering med @ControllerAdvice og problemdetaljer i henhold til RFC 7807.

78

B24 leksjonerPRO

Gå lenger enn grunnleggende enhetstester: parametriserte tester med @MethodSource og @CsvSource, Testcontainers for databaseintegrasjon og Spring Boot-testsnitt.

79

B24 leksjonerPRO

Implementer grunnleggende sikkerhet i Java: MessageDigest for hashing, AES-kryptering, HMAC-SHA256 samt oppretting og verifisering av JWT uten eksterne autentiseringsbiblioteker.

80

B24 leksjonerPRO

Javas modulsystem (JPMS): module-info.java, requires og exports og mer

81

B24 leksjonerPRO

Den moderne HTTP-klienten: java.net.http.HttpClient, asynkrone forespørsler og mer

82

B24 leksjonerPRO

GraalVM og Native Image: hva er GraalVM, bygg et Native Image og mer

83

B23 leksjonerPRO

Lær om lambdas og funksjonelle grensesnitt i Java.

84

B23 leksjonerPRO

Lær hvordan De kan bruke Java Streams til å behandle data med pipelines.

85

B23 leksjonerPRO

Kom i gang med Spring Boot: sett opp et prosjekt, bruk starters og kjør Deres første app.

86

B23 leksjonerPRO

Lær hvordan De bruker Spring Data JPA og H2-databasen med repositories.

87

B23 leksjonerPRO

Test Spring-apper med WebTestClient/JUnit, konfigurer dem og pakk dem for levering.

88

B24 leksjonerPRO

Utform, implementer og test et REST API med Spring Boot.

89

C14 leksjonerPRO

Administrer trådenes livssyklus med ExecutorService: faste, bufrede og planlagte trådpulter, innsending av Callable-oppgaver og håndtering av Future-resultater.

90

C14 leksjonerPRO

Gå videre enn synchronized: ReentrantLock, ReadWriteLock, StampedLock, AtomicInteger, AtomicReference og mønstre for låsfrie datastrukturer.

91

C14 leksjonerPRO

Parallelle streams og ytelse: opprett parallelle streams, når parallellitet hjelper og mer

92

C14 leksjonerPRO

Forstå JVM-ens minnemodell: heap-områder (Young/Old/Metaspace), GC-algoritmer (G1, ZGC), minnelekkasjer, profilering med JVisualVM og innstillingsflagg.

93

C14 leksjonerPRO

Sett sammen asynkrone beregninger med CompletableFuture: thenApply, thenCompose, allOf, anyOf, exceptionally og bygging av ikke-blokkerende pipelines.

94

C14 leksjonerPRO

Bruk Reflection API til å inspisere og kalle opp klasser ved kjøring, opprette dynamiske proxyer og forstå hvordan rammeverk som Spring bruker refleksjon i bakgrunnen.

95

C14 leksjonerPRO

Ta en titt inne i JVM-en: faser i klasselasting, hierarkiet for bootstrap-/extension-/application-loaderne, bytekodeinspeksjon med javap og grunnleggende JIT-kompilering.

96

C14 leksjonerPRO

Virtuelle tråder (Project Loom): hva er virtuelle tråder, opprett virtuelle tråder og mer

97

C14 leksjonerPRO

Strukturert samtidighet: modellen for strukturert samtidighet, StructuredTaskScope og mer

98

C14 leksjonerPRO

Mikrobenchmarking med JMH: hvorfor JMH, skriv en benchmark og mer

99

C14 leksjonerPRO

Ytelsesprofilering og optimalisering i Java: finn flaskehalser, Java Flight Recorder og mer

100

C13 leksjonerPRO

Lær om avansert oppførsel i Streams, blant annet rekkefølge og short-circuiting.

101

C12 leksjonerPRO

En introduksjon til samtidighet i Java med Threads, Executors og synkronisering.

102

C13 leksjonerPRO

Avansert samtidighet: synkronisering, låser, atomics og vanlige problemer.

103

C13 leksjonerPRO

Bygg et prosjekt som beregner statistikk parallelt ved hjelp av streams og samtidighet.

104

C24 leksjonerPRO

API-et for fremmede funksjoner og minne: hvorfor FFM fremfor JNI, MemorySegment og Arena og mer

CoddyKit PRO

Lås opp alle 104 kursene i denne læringsstien og alle andre læringsstier

AI-veileder, sertifiseringseksamen og sertifikat. Fungerer på web, iOS og Android.

Se alle abonnementene
Årlig$29.90 / årOmtrent $2.49 per månedBetal én gangLivstid$69.99 én gangIngen fornyelser. PRO for alltid.
Kursoversikt

Java: Fra den første klassen til systemer klare for produksjon

Java har vært ryggraden i bedriftsprogramvare, Android-utvikling og storskala backend-systemer i nærmere tre tiår. Språket kjører på JVM, leveres med et rikt standardbibliotek og driver alt fra plattformer for finansiell handel til mikrotjenester i skyen. Dette kurset bygger reell Java-kompetanse — fra variabler og kontrollflyt til JVM-internals, virtuelle tråder og native kompilering via GraalVM.

Dette lærer De

De går fra grunnleggende syntaks — variabler, datatyper, løkker og metoder — til objektorientert design med klasser, arv, polymorfisme, forseglede klasser og records. Mellomnivået dekker hele Collections-rammeverket, API-ene java.time og NIO.2, lambda-uttrykk, funksjonelle grensesnitt og Streams API, inkludert collectors, spliterators og primitive streams. Senere kurs tar for seg konfigurasjon og avhengighetsinjeksjon i Spring Boot, Spring Data JPA, validering av REST-API-er, integrasjonstesting med JUnit 5 og JWT-basert sikkerhet. Den avanserte delen dekker ExecutorService, låser, atomiske variabler, CompletableFuture, strukturert samtidighet, virtuelle tråder via Project Loom, klasselasting og bytekode i JVM, kompilering av native images med GraalVM og ytelsesprofilering med JMH.

Læringsløpet

Over 120 kurs dekker nivåene A1 til C2. A1- og A2-kursene etablerer grunnlaget: typesystemet, casting, autoboxing, wrapper-klasser, arrayer, betingelser og metoder. B1 dekker objektorientert Java i dybden — enum-er, indre klasser, iteratorer, komparatorer, HashMap-internals, unntakshåndtering, serialisering og byggeverktøy som Maven og Gradle. B2 introduserer funksjonell programmering, generiske typer med begrensede jokertegn, egendefinerte annotasjoner og et praktisk Spring Boot-løp som avsluttes med et miniprosjekt: REST-API. I C1-kursene står samtidighet og ytelse i sentrum — parallelle streams, Java Memory Model, søppelinnsamling, refleksjon, dynamiske proxyer og strukturert samtidighet. Kurset avsluttes på C2 med Foreign Function and Memory API, den mest lavnivåbaserte Java-funksjonen for direkte samhandling med native kode.

Slik fungerer det

Hvert kurs er delt inn i korte, fokuserte leksjoner som De fullfører i den innebygde kodeeditoren med tilbakemeldinger i sanntid. En AI-veileder er tilgjengelig når De står fast, og miniprosjekter ved viktige milepæler — Word Stats, Shape Hierarchy, Log Analyzer, REST API og Parallel Stats — lar Dem bruke det De har lært, før De går videre.

Slik lærer du

  1. 01

    Interaktive leksjoner

    Praktiske kodeøvelser med tilbakemelding i sanntid

  2. 02

    AI-veileder

    Få øyeblikkelig hjelp fra AI-en vår når du står fast

  3. 03

    Innebygd kodeeditor

    Skriv og kjør kode direkte i nettleseren

  4. 04

    Sertifikat

    Få et sertifikat når du fullfører kurset

FAQ

Ofte stilte spørsmål

Er kurset i Java Academy gratis?

Ja. Du kan starte på kurset i Java Academy gratis og fullføre de interaktive leksjonene uten kostnad. Et valgfritt PRO-abonnement låser opp avanserte AI-verktøy og et delbart sertifikat.

Trenger jeg tidligere erfaring for å lære Java?

Nei. Kurset begynner med det grunnleggende og går gradvis videre til mer avanserte emner, slik at du kan starte selv uten tidligere erfaring med Java.

Hvordan lærer jeg Java på CoddyKit?

Du lærer gjennom praksis. Korte, interaktive leksjoner kombinerer en tydelig forklaring med en praktisk kodeøvelse som kjører i sanntid, og en AI-veileder som er tilgjengelig døgnet rundt, gir deg personlig hjelp når du står fast.

Får jeg et sertifikat når jeg fullfører Java Academy?

Ja. PRO-brukere kan ta en eksamen og få et delbart fullføringssertifikat med en verifiserbar kode for kurset i Java Academy.

Kan jeg lære Java på telefonen?

Ja. CoddyKit er tilgjengelig på nettet og som native iOS- og Android-apper, slik at du kan lære Java på alle enheter, mens fremdriften synkroniseres mellom dem.

Hvor mye koster CoddyKit PRO?

Det første kurset i Java Academy er gratis. CoddyKit PRO gir tilgang til alle kurs: $5.90 per uke, $7.90 per måned, $29.90 per år eller $69.99 én gang for tilgang på livstid uten fornyelser.

Hvor lang tid tar det å fullføre Java Academy?

Java Academy består av 104 kurs og 374 leksjoner. De fleste leksjonene tar omtrent 5–10 minutter, så hele læringsstien tar rundt 44 timer med praktisk øving i eget tempo.

Start på Java Academy nå

Bli med tusenvis av elever som lærer programmering med AI-drevne leksjoner.