Java Academy logo
JavaBeginnerWebMobielNiveaus A1 → C222 talen

Java Academy

Word vaardig in Java-programmeren en ontwikkel krachtige toepassingen met Java Academy. Een CoddyKit-leertraject met 104 korte cursussen en 374 interactieve lessen, met een AI-tutor die 24/7 voor je klaarstaat.

Cursussen
104
Lessen
374
Interactieve stappen
4,355
Gratis beginnen
Cursus 1
Lesprogramma

104 cursussen in dit leertraject

Elke cursus in het leertraject Java Academy, in de juiste leer volgorde. De eerste is gratis.

1

A13 lessenGratis

Java is een objectgeoriënteerde programmeertaal op hoog niveau die in 1995 door Sun Microsystems werd geïntroduceerd. Java staat bekend om zijn mogelijkheid "Write Once, Run Anywhere" (WORA): code wo…

2

A14 lessenPRO

Scanner en console-invoer: invoer lezen met Scanner, getallen en regels lezen en meer

3

A13 lessenPRO

Begin uw Java-avontuur: leer wat programmeren is, hoe Java op de JVM wordt uitgevoerd en welke hulpmiddelen u hierna nodig hebt. Deze minicursus bereidt u voor op de installatie en uw eerste regels c…

4

A13 lessenPRO

Beheers Java-variabelen en expressies: leer meer over primitieve typen, declaraties, toewijzingen, het afdrukken van waarden en de basis van numerieke expressies. Korte, mobielvriendelijke lessen met…

5

A24 lessenPRO

Beheers het typesysteem van Java: primitieve en referentietypen, widening- en narrowing-conversies, expliciete casting en de instanceof-operator in praktijksituaties.

6

A24 lessenPRO

Verken de klasse Math, BigDecimal voor financiële precisie, NumberFormat voor locale-afhankelijke uitvoer en praktische numerieke probleemoplossing in Java.

7

A24 lessenPRO

Switch-expressies en pijlnotatie: switch in pijlnotatie, switch als expressie en meer

8

A24 lessenPRO

Tekstblokken en meerregelige strings: tekstblokken declareren, inspringing en verwijderen en meer

9

A24 lessenPRO

var en lokale type-inferentie: var gebruiken voor lokale variabelen, wanneer var de leesbaarheid verbetert en meer

10

A24 lessenPRO

Wrapperklassen en autoboxing: primitieve typen versus wrappertypen, autoboxing en unboxing en meer

11

A24 lessenPRO

De hulpprogrammaklasse Arrays: Arrays.sort en sorteren, Arrays.binarySearch en meer

12

A24 lessenPRO

Java-hulpprogramma's voor random en wiskunde: de klasse Math, willekeurige getallen genereren en meer

13

A24 lessenPRO

Lees gebruikers- en bestandsinvoer efficiënt in Java.

14

A24 lessenPRO

Schrijf compacte beslissingen met de conditionele operator.

15

A24 lessenPRO

Werk met afzonderlijke tekens met de klasse Character.

16

A24 lessenPRO

Produceer netjes opgemaakte tekst met formaatspecificaties.

17

A24 lessenPRO

Beheer geneste lussen met break, continue en labels.

18

A23 lessenPRO

Neem in Java beslissingen met if, else if en else. Bouw duidelijke booleaanse expressies met vergelijkings- en logische operatoren. Korte, mobielvriendelijke lessen met uitvoerbare voorbeelden.

19

A23 lessenPRO

Verdiep u in vergelijkingen (==, !=, <, >, <=, >=) en booleaanse logica (&&, ||, !). Leer meer over prioriteit, groeperen met haakjes, short-circuitgedrag en de wetten van De Morgan.

20

A22 lessenPRO

Leer stap voor stap werken met while-lussen: initialisatie, voorwaarde, update en het voorkomen van oneindige lussen. Oefen met kleine patronen die acties veilig herhalen. Mobielvriendelijk, met kort…

21

A23 lessenPRO

Beheers de for-lus: initialisatie, voorwaarde en update op één regel. Schrijf lussen voor telbewerkingen, sommen en eenvoudige patronen. Leer break en continue veilig te gebruiken.

22

A21 lesPRO

Java biedt veel operatoren om bewerkingen uit te voeren op de gegevens die we hebben. Met behulp van deze operatoren kunnen we gegevens bewerken. Hieronder vallen rekenkundige operatoren, het type op…

23

A21 lesPRO

Het datatype String wordt in Java gebruikt om tekstgegevens op te slaan. Strings zijn in Java referentietypen en geen primitieve typen. In deze cursus leert u String gebruiken in de programmeertaal J…

24

A23 lessenPRO

Leer werken met eendimensionale arrays: ontdek wat ze zijn, hoe u ze declareert en maakt, hoe u elementen benadert en bijwerkt, hoe u length gebruikt en hoe u itereert met for en de uitgebreide for-e…

25

A26 lessenPRO

Leer 2D-arrays in Java: declareer en maak ze aan, krijg toegang tot rijen en kolommen en doorloop ze met geneste lussen. Oefen met het berekenen van rij- en kolomsommen en het formatteren van uitvoer.

26

A23 lessenPRO

Beheers de basis van Java-methoden: signatures, parameters versus argumenten, aanroeppatronen en eenvoudig ontwerp. Korte, gerichte lessen met uitvoerbare voorbeelden.

27

A23 lessenPRO

Ontwerp en hergebruik methoden effectief: begrijp Java's pass-by-value-semantiek, kies tussen static- en instantiemethoden en deel problemen op in duidelijke, testbare routines.

28

B14 lessenPRO

Leer enums in Java definiëren en gebruiken: enumconstanten, velden, methoden, switchexpressies met enums en de collecties EnumSet/EnumMap.

29

B14 lessenPRO

Ontdek Java Records (Java 16+): onveranderlijke gegevensdragers maken, compacte constructors, aangepaste methoden op records en wanneer u records of klassen gebruikt.

30

B14 lessenPRO

StringBuilder en stringprestaties: waarom strings onveranderlijk zijn, strings opbouwen met StringBuilder en meer

31

B14 lessenPRO

BigDecimal en BigInteger: waarom double niet geschikt is voor geld, werken met BigDecimal en meer

32

B14 lessenPRO

De java.time-datum- en tijd-API: LocalDate, LocalTime, LocalDateTime, Instant en Duration en meer

33

B14 lessenPRO

Gebruik Optional om NullPointerExceptions te voorkomen: Optionals maken, mappen, filteren en idiomatisch gebruiken in Java 17+.

34

B14 lessenPRO

Ga verder dan eenvoudige strings: StringBuilder, StringJoiner, reguliere expressies, String.format, tekstblokken en veelgebruikte patronen voor stringalgoritmen.

35

B14 lessenPRO

Beheers de resolutie van overloaded methoden, varargs-parameters, statische velden en methoden en ontwerppatronen voor utilityklassen in Java.

36

B14 lessenPRO

Verken varianten van geneste klassen: statische geneste klassen, inner classes, lokale klassen en anonieme klassen, en leer wanneer elke variant geschikt is.

37

B14 lessenPRO

Implementeer aangepaste Iterable- en Iterator-interfaces zodat uw eigen datastructuren compatibel zijn met for-each-lussen en het Java Collections-framework.

38

B14 lessenPRO

Sorteer collecties en arrays met Comparable, Comparator, method references en sorteerketens met meerdere niveaus in praktijksituaties.

39

B14 lessenPRO

Begrijp de interne werking van LinkedList, de dubbel gekoppelde structuur, Deque-bewerkingen, stacksimulatie en wanneer LinkedList beter presteert dan ArrayList.

40

B14 lessenPRO

Beheers gesorteerde collecties: NavigableMap-bewerkingen van TreeMap, TreeSet voor unieke gesorteerde elementen, subMap/headMap/tailMap en de basis van Red-Black-bomen.

41

B14 lessenPRO

Navigeer door de moderne java.nio.file-API: Path maken, Files-hulpmethoden, mappen doorlopen met walkFileTree en mappen bewaken met WatchService.

42

B14 lessenPRO

Leer Java-serialisatie begrijpen: de Serializable-interface, transient-velden, serialVersionUID, aangepaste writeObject/readObject en moderne alternatieven zoals JSON.

43

B14 lessenPRO

Sealed classes en interfaces: sealed typen declareren, de clausule permits en meer

44

B14 lessenPRO

Pattern matching voor instanceof en records: pattern matching voor instanceof, record patterns en meer

45

B14 lessenPRO

Reguliere expressies met Pattern en Matcher: patronen compileren, zoeken en matchen en meer

46

B14 lessenPRO

HashMap-internals en equals/hashCode: hoe HashMap werkt, het equals/hashCode-contract en meer

47

B14 lessenPRO

EnumMap, EnumSet en geavanceerde enums: enums met velden en methoden, abstracte methoden in enums en meer

48

B14 lessenPRO

Loggen met SLF4J en Logback: waarom structured logging, SLF4J-façade en loggers en meer

49

B11 lesPRO

Java gebruikt toegangsmodificatoren om de toegang van objecten tot elkaar te beperken. Dit kan op klasseniveau zijn, maar ook op het niveau van variabelen, methoden of constructors.

50

B13 lessenPRO

Bouw een kleine tool voor woordstatistieken: tokenizeer tekst, normaliseer en tel woorden en rapporteer de belangrijkste resultaten. Plan eerst, implementeer daarna.

51

B13 lessenPRO

Leer de basis van klassen en objecten in Java. Maak eenvoudige klassen, instantieer objecten en begrijp hun rol in OOP.

52

B13 lessenPRO

Dagelijkse OOP-praktijken in Java: het sleutelwoord this, een leesbare toString, correcte equals en hashCode en praktische tips voor kleine apps.

53

B13 lessenPRO

Leer de basis van overerving in Java: breid een basisklasse uit, roep super-constructors aan en hergebruik gemeenschappelijk gedrag veilig.

54

B13 lessenPRO

Abstracte klassen en interfaces in Java: wanneer u ze gebruikt, hoe u ze declareert en hoe ze richting geven aan het ontwerp.

55

B13 lessenPRO

Ontwerp en implementeer een kleine vormhiërarchie met een abstracte basisklasse, concrete vormen en polymorf gedrag.

56

B13 lessenPRO

Leer werken met Java-lijsten en -sets: wanneer u elk type gebruikt, basisbewerkingen en eenvoudige iteratiepatronen.

57

B13 lessenPRO

Leer Maps gebruiken voor opzoekingen van sleutel→waarde, frequentietellingen en eenvoudige algoritmen met lijsten en sets.

58

B13 lessenPRO

Leer de basis van exception handling: try-, catch- en finally-blokken met eenvoudige voorbeelden.

59

B13 lessenPRO

Pas exception handling toe met aangepaste exceptions, throw-statements en defensief programmeren.

60

B13 lessenPRO

Leer werken met de Java NIO-klassen Path en Files: bestanden veilig aanmaken, controleren en verwijderen.

61

B13 lessenPRO

Leer objectserialisatie in Java: objecten naar bestanden schrijven en ze weer inlezen.

62

B13 lessenPRO

Bouw een eenvoudige loganalysator die logbestanden leest, parseert en samenvat.

63

B14 lessenPRO

Buildtools: Maven en Gradle: Maven-projectstructuur, Maven-plugins en -goals en meer

64

B14 lessenPRO

JDBC en connection pooling: JDBC-beginselen, PreparedStatement en meer

65

B24 lessenPRO

Ga verder dan basisstreams: groupingBy, partitioningBy, toMap, counting, summarizingInt, joining en aangepaste Collectors voor complexe aggregaties.

66

B24 lessenPRO

Vereenvoudig lambda-expressies met method references: verwijzingen naar statische methoden, instanties, willekeurige instanties en constructors, met echte voorbeelden van functionele interfaces.

67

B24 lessenPRO

Implementeer de vier belangrijkste creërende ontwerppatronen in Java: Singleton (thread-safe), Factory Method, Abstract Factory en Builder met fluent API's.

68

B24 lessenPRO

Beheers gedragsontwerppatronen in Java: Observer, Strategy, Command en Template Method, met concrete toepassingen uit echte applicaties.

69

B24 lessenPRO

Functionele interfaces uitgediept: Function en BiFunction, Supplier en Consumer en meer

70

B24 lessenPRO

Primitieve streams: IntStream en LongStream, range- en aggregatiebewerkingen en meer

71

B24 lessenPRO

Begrensde wildcards en PECS: wildcards met bovengrens, wildcards met ondergrens en meer

72

B23 lessenPRO

Interfaces in de praktijk en de basis van Java-generics voor veiligere, herbruikbare code.

73

B24 lessenPRO

Definieer aangepaste annotaties, retentiebeleid en targets, en verwerk ze tijdens runtime met reflection en tijdens het compileren met annotation processors.

74

B24 lessenPRO

Ontdek geavanceerde Stream-functies: flatMap voor geneste structuren, peek voor debugging, valkuilen van parallelle streams, de internals van Spliterator en oneindige streams.

75

B24 lessenPRO

Beheers de auto-configuratie van Spring Boot, application properties, profiles, @Bean, @Component, @Service, @Repository en best practices voor constructor injection.

76

B24 lessenPRO

Koppel Java-entiteiten aan databasetabellen met JPA-annotaties, definieer Spring Data-repositories, schrijf JPQL- en native queries en verwerk relaties.

77

B24 lessenPRO

Bouw robuuste REST API's: Bean Validation met @Valid, aangepaste validators, globale exception handling met @ControllerAdvice en problem details volgens RFC 7807.

78

B24 lessenPRO

Ga verder dan eenvoudige unittests: parameterized tests met @MethodSource en @CsvSource, Testcontainers voor database-integratie en Spring Boot-testslices.

79

B24 lessenPRO

Implementeer de basis van beveiliging in Java: MessageDigest voor hashing, AES-encryptie, HMAC-SHA256 en het maken en verifiëren van JWT's zonder externe auth libraries.

80

B24 lessenPRO

Het Java-modulesysteem (JPMS): module-info.java, requires en exports en meer

81

B24 lessenPRO

De moderne HTTP-client: java.net.http.HttpClient, asynchrone requests en meer

82

B24 lessenPRO

GraalVM en Native Image: wat is GraalVM?, een Native Image bouwen en meer

83

B23 lessenPRO

Leer werken met Java-lambda's en functionele interfaces.

84

B23 lessenPRO

Leer hoe u Java Streams gebruikt om gegevens met pipelines te verwerken.

85

B23 lessenPRO

Ga aan de slag met Spring Boot: stel een project in, gebruik starters en voer uw eerste app uit.

86

B23 lessenPRO

Leer Spring Data JPA en de H2-database met repositories gebruiken.

87

B23 lessenPRO

Test Spring-apps met WebTestClient/JUnit, configuratie en packaging.

88

B24 lessenPRO

Ontwerp, implementeer en test een REST API met Spring Boot.

89

C14 lessenPRO

Beheer de levenscyclus van threads met ExecutorService: vaste, gecachte en geplande threadpools, Callable-taken indienen en Future-resultaten verwerken.

90

C14 lessenPRO

Ga verder dan synchronized: ReentrantLock, ReadWriteLock, StampedLock, AtomicInteger, AtomicReference en lockvrije patronen voor datastructuren.

91

C14 lessenPRO

Parallelle streams en prestaties: parallelle streams maken, wanneer parallellisme helpt en meer

92

C14 lessenPRO

Leer het JVM-geheugenmodel begrijpen: heapregio's (Young/Old/Metaspace), GC-algoritmen (G1, ZGC), geheugenlekken, profilering met JVisualVM en tuning-flags.

93

C14 lessenPRO

Combineer asynchrone berekeningen met CompletableFuture: thenApply, thenCompose, allOf, anyOf, exceptionally en het bouwen van non-blocking pipelines.

94

C14 lessenPRO

Gebruik de Reflection API om tijdens runtime klassen te inspecteren en aan te roepen, maak dynamische proxies en begrijp hoe frameworks zoals Spring achter de schermen reflection gebruiken.

95

C14 lessenPRO

Kijk in de JVM: fasen van het laden van klassen, de hiërarchie van bootstrap-, extension- en application-loader, bytecode-inspectie met javap en de basis van JIT-compilatie.

96

C14 lessenPRO

Virtuele threads (Project Loom): wat zijn virtuele threads?, virtuele threads maken en meer

97

C14 lessenPRO

Gestructureerde concurrency: het model van gestructureerde concurrency, StructuredTaskScope en meer

98

C14 lessenPRO

Microbenchmarking met JMH: waarom JMH, een benchmark schrijven en meer

99

C14 lessenPRO

Java-prestatieprofilering en tuning: knelpunten identificeren, Java Flight Recorder en meer

100

C13 lessenPRO

Leer geavanceerd gedrag van Streams, waaronder volgorde en short-circuiting.

101

C12 lessenPRO

Maak kennis met concurrency in Java met Threads, Executors en synchronisatie.

102

C13 lessenPRO

Geavanceerde concurrency: synchronisatie, locks, atomics en veelvoorkomende problemen.

103

C13 lessenPRO

Bouw een project dat statistieken parallel berekent met streams en concurrency.

104

C24 lessenPRO

De Foreign Function and Memory API: waarom FFM boven JNI, MemorySegment en Arena en meer

CoddyKit PRO

Ontgrendel alle 104 cursussen in dit leertraject en in elk ander leertraject

AI-begeleider, certificeringsexamen en certificaat. Werkt op het web, iOS en Android.

Alle abonnementen bekijken
Jaarlijks$29.90 per jaarOngeveer $2.49 per maandEenmalig betalenLevenslang$69.99 eenmaligGeen verlengingen. PRO voor altijd.
Cursusoverzicht

Java: van eerste klasse tot productiesystemen

Java vormt al bijna drie decennia de ruggengraat van bedrijfssoftware, Android-ontwikkeling en grootschalige backendsystemen. De taal draait op de JVM, wordt geleverd met een uitgebreide standaardbibliotheek en vormt de basis van alles, van financiële handelsplatforms tot microservices in de cloud. In dit leertraject ontwikkel je echte Java-vaardigheid: je begint met variabelen en besturingsstromen en eindigt met JVM-internals, virtuele threads en native compilatie via GraalVM.

Wat je leert

Je gaat van de basissyntaxis — variabelen, gegevenstypen, lussen en methoden — naar objectgeoriënteerd ontwerp met klassen, overerving, polymorfisme, sealed classes en records. In de tussenliggende fases behandel je het volledige Collections-framework, de API's java.time en NIO.2, lambda-expressies, functionele interfaces en de Streams API, inclusief collectors, spliterators en primitieve streams. Latere cursussen behandelen Spring Boot-configuratie en afhankelijkheidsinjectie, Spring Data JPA, validatie van REST-API's, integratietests met JUnit 5 en beveiliging op basis van JWT. Het gevorderde deel behandelt ExecutorService, locks, atomaire variabelen, CompletableFuture, gestructureerde gelijktijdigheid, virtuele threads via Project Loom, het laden van JVM-klassen en bytecode, compilatie naar native images met GraalVM en prestatieprofilering met JMH.

Het leertraject

Meer dan 120 cursussen lopen van A1 tot en met C2. De cursussen op A1- en A2-niveau leggen de basis: het typesysteem, casts, autoboxing, wrapperklassen, arrays, voorwaarden en methoden. B1 behandelt objectgeoriënteerd Java diepgaand — enums, inner classes, iterators, comparators, de interne werking van HashMap, uitzonderingsafhandeling, serialisatie en bouwprogramma's zoals Maven en Gradle. B2 introduceert functioneel programmeren, generics met begrensde wildcards, aangepaste annotaties en een praktische Spring Boot-reeks die eindigt met een miniproject: REST-API. In de C1-cursussen staan gelijktijdigheid en prestaties centraal — parallelle streams, het Java-geheugenmodel, garbagecollection, reflectie, dynamische proxies en gestructureerde gelijktijdigheid. Het leertraject eindigt op C2-niveau met de Foreign Function and Memory API, de meest laag-niveau Java-mogelijkheid om rechtstreeks met native code samen te werken.

Zo werkt het

Elke cursus is opgedeeld in korte, gerichte lessen die je in de ingebouwde code-editor doorloopt met realtimefeedback. Er is altijd een AI-begeleider beschikbaar wanneer je vastloopt, en miniprojecten op belangrijke mijlpalen — Woordstatistieken, Vormhiërarchie, Logboekanalyse, REST-API en Parallelle statistieken — laten je toepassen wat je hebt geleerd voordat je verdergaat.

Zo leer je

  1. 01

    Interactieve lessen

    Praktische codeeroefeningen met realtime feedback

  2. 02

    AI-docent

    Krijg direct hulp van onze AI als je vastloopt

  3. 03

    Ingebouwde editor

    Schrijf en voer code direct uit in je browser

  4. 04

    Certificaat

    Behaal een certificaat wanneer je de cursus afrondt

FAQ

Veelgestelde vragen

Is de Java Academy-cursus gratis?

Ja. Je kunt gratis aan de Java Academy-cursus beginnen en de interactieve lessen kosteloos doorlopen. Met een optioneel PRO-abonnement krijg je toegang tot geavanceerde AI-tools en een deelbaar certificaat.

Heb ik voorafgaande ervaring nodig om Java te leren?

Nee. De cursus begint bij de basis en behandelt geleidelijk steeds geavanceerdere onderwerpen. Je kunt dus ook zonder eerdere ervaring met Java beginnen.

Hoe leer ik Java op CoddyKit?

Je leert door te doen. Korte interactieve lessen combineren een duidelijke uitleg met een praktische codeeroefening die in realtime wordt uitgevoerd. Een AI-begeleider is 24/7 beschikbaar voor persoonlijke hulp wanneer je vastloopt.

Krijg ik een certificaat als ik Java Academy afrond?

Ja. PRO-leerlingen kunnen een examen afleggen en een deelbaar certificaat van voltooiing behalen, met een verifieerbare code voor de Java Academy-cursus.

Kan ik Java op mijn telefoon leren?

Ja. CoddyKit is beschikbaar op het web en als native iOS- en Android-app, zodat je Java op elk apparaat kunt leren en je voortgang op al je apparaten wordt gesynchroniseerd.

Wat kost CoddyKit PRO?

De eerste cursus van Java Academy is gratis. Met CoddyKit PRO ontgrendel je elke cursus: $5.90 per week, $7.90 per maand, $29.90 per jaar of eenmalig $69.99 voor levenslange toegang zonder verlengingen.

Hoe lang duurt het om Java Academy te voltooien?

Java Academy bevat 104 cursussen en 374 lessen. De meeste lessen duren ongeveer 5–10 minuten, dus het hele leertraject kost ongeveer 44 uur aan praktische oefeningen, in je eigen tempo.

Begin nu met Java Academy

Sluit je aan bij duizenden leerlingen die met AI-ondersteunde lessen leren programmeren.