SCJP upgrade examen: Java 8

/ Blog / SCJP upgrade examen: Java 8
SCJP upgrade examen: Java 8


Dennis van Loon

Java bestaat ondertussen alweer twintig jaar. Sinds maart 2014 hebben we Java 8 en Java 9 staat voor volgend jaar op de agenda. Voor Java Developers zijn er verschillende certificaten die je kunt halen, deze zijn uiteraard gebonden aan een specifieke versie.

Zelf werk ik nu ongeveer 15 jaar met Java. In de eerste jaren heb ik twee Java certificaten behaald SCJP 1.4 (2003) en SCWCD xx (2004). In de jaren er na heb ik meerdere keren overwogen mijn SCJP (Sun Certified Java Programmer) te upgraden naar het huidige OCP (Oracle Certification Program) maar tot op heden was dat er niet van gekomen, er zijn tenslotte altijd voldoende redenen waarom het niet goed uitkomt. Bovendien zijn er nog zoveel andere onderwerpen waar je je ook voor kunt certificeren (bijv. Spring).

Voorbereiden op het Java 8 upgrade examen

Met de komst van Java 8 in 2014 vond ik dat het nu echt tijd was voor een upgrade. Java 8 bevat veel nieuwe concepten zoals functionele interfaces, lambdas en streams. Een goed moment om na ruim 10 jaar die upgrade toch echt te gaan doen. Met de komst van Java 9 in zicht besloot ik eind vorig jaar dat het nu tijd was. Maar hoe te beginnen als je nog geen enkel project met Java 8 hebt gedaan?

Op de website van Oracle is te zien dat er verschillende mogelijkheden zijn om OCP Java 8 te worden. Een daarvan is het upgrade examen vanaf Java 6 of eerder. Verder is te vinden wat de onderwerpen zijn die onder dit examen vallen. Je kunt natuurlijk op basis hiervan je studiemateriaal bij elkaar zoeken en van start gaan. Ik vind het makkelijker om een boek te pakken waarin alle onderwerpen worden behandeld.

Ik ben aan de slag gegaan met het boek ‘Oracle Certified Professional Java SE 8 Programmer II Study Guide’ van ‘Jeanne Boyarsky’. Primair is dit boek gericht op het huidige certificeringstraject waarbij je eerst OCA haalt en dan OCP. Het is echter ook bruikbaar voor dit upgrade examen. In het begin van het boek staat een tabel waarin per objective staat aangegeven in welke hoofdstuk dit wordt behandeld. Deze indeling is helaas vrij grof, er zijn geen specifieke paragrafen per onderwerp binnen de hoofdstukken.

Als je de tabel bekijkt zie je dat je voor het upgrade examen 1Z0-809 geldt dat:

  • Het eerste en laatste hoofdstuk niet relevant zijn (Advanced Class Design en JDBC).
  • Hoofdstuk 2 en 6 slechts één keer in de lijst voorkomen. Zelf heb ik er voor gekozen om hoofdstuk 2 wel te bestuderen en hoofdstuk 6 over te slaan.
  • Er een Appendix is met extra materieel die specifiek is voor dit upgrade examen. Heel vreemd maar deze appendix is echt relevant voor het examen.

Vervolgens ben ik in het boek gaan lezen, ieder hoofdstuk (behalve 1, 6, en 9) gevolgd voor de review vragen aan het eind. Daarna heb ik nog één keer alle review vragen van alle hoofdstukken geoefend.

Het examen

De volgende stap waren de online mock examens die bij het boek horen. Hier zitten uiteraard ook vragen bij van onderwerpen die buiten scope zijn voor het upgrade examen. Bovendien is het moeilijk in te schatten in hoeverre deze oefen examens een goed beeld geven van wat je kunt verwachten bij het upgrade examen.

Om een goed beeld te krijgen wat je echt kun verwachten op het examen zijn er verschillende mogelijkheden zoals whizlabs en enthuware waar je oefenexamens kunt kopen.

Zelf heb ik gekozen voor de Enthuware mocks die specifiek zijn voor dit examen. Voor een klein bedrag heb je dan 5 examens (300 vragen). Het bleek als snel dat de focus in deze mock examens toch een andere is dan in de mock examens van het boek. Deze enthuware mock examens blijken uiteindelijk veel meer op het echte examen te lijken. Wat bovendien een groot voordeel is dat er bij de vragen veel uitleg staat. Goed oefenen met deze vragen is een absolute must. Het is noodzakelijk dat je deze vragen goed begrijpt.

Eind november heb ik examen gedaan en geslaagd met een score van 80%. Ondanks een goede voorbereiding bleek het zeker geen makkelijk examen.

Welke onderwerpen bleken van belang?

Als ik achteraf naar de hoofdstukken in het boek kijk zou ik het volgende zeggen:

Hoofdstuk 2: Design Patterns and Principles
Zoals al aangegeven is dit hoofdstuk van beperkt belang. Wel kun je vragen tegen komen over de eerste paragrafen (tot aan ‘Working with Design Principles’).

Hoofdstuk 3: Generics and Collections
Generics en collections worden natuurlijk op vele punten binnen het examen gebruikt. Ik heb geen vragen gehad over de minder gebruikte types in de Collections API (Queue, NavigableSet). Ook het verschil tussen Comparable en Comparator kwam nauwelijks aan bod. Een onderdeel om goed te bestuderen is ‘Additions in Java 8’.

Hoofdstuk 4: Functional Programming
Dit hoofdstuk is van het begin tot het eind absoluut relevant. Eigenlijk kun je alles wat hier genoemd wordt wel verwachten op het examen. De oefenexamens van enthuware geven een goed beeld van het type vragen dat je kunt verwachten. Grondige kennis van dit hoofdstuk is absoluut noodzakelijk!

Hoofdstuk 5: Dates, String and Localization
Ook voor dit hoofdstuk geldt dat alles wat er in staat relevant is. Conceptueel is dit hoofdstuk ook wat makkelijker dan het voorgaande hoofdstuk.

Ik kreeg een aantal vragen over het gebruik van ResourceBundles in combinatie met Locale. Ook de manieren waarop je Locale objecten kunt maken, en het gebruik van NumberFormat en CurrencyFormat werd getest. Wat me wel opviel is dat ik geen vragen kreeg over de java variant van ResourceBundles.

Al met al kreeg ik over dit hoofdstuk wat minder vragen dan ik verwacht had. Toch is het zeker de moeite dit hoofdstuk goed te leren, het zijn relatief makkelijk te halen punten.

Hoofdstuk 6: Exceptions and Assertions
Dit hoofdstuk had ik in eerste instantie niet bestudeerd. Bij het oefenen met de mock examens bleek echter dat de volgende onderwerpen wel degelijk aan de orde komen:

  • Multi catch
  • Try with resources
  • Autoclosable

Uiteindelijk heb ik het hoofdstuk toch bestudeerd (tot aan Assertions). Dit bleek nuttig, ook op het examen kwamen de genoemde onderwerpen aan de orde.

Hoofdstuk 7: Concurrency
Dit hoofdstuk is conceptueel weer een wat lastiger hoofdstuk. In mijn geval geldt wel dat ik in de praktijk recentelijk weinig met dit onderwerp heb gedaan zodat ik het hele hoofdstuk grondig heb moeten bestuderen. Eigenlijk komen alle onderwerpen in dit hoofdstuk wel voor in het examen. Wel vond ik de vragen vaak redelijk oppervlakkig. Zo werd bij mij bij een Fork Join task alleen gevraagd wat er gebeurd als je de Fork en Join omdraait. Ook de CyclicBarrier kwam voor maar ook deze was niet al te moeilijk.

Hoofdstuk 8: IO
In het examen kwamen wel een aantal vragen terug over dit hoofdstuk, vaak in combinatie met exception handling. Uiteindelijk kreeg ik over dit onderwerp toch minder vragen dan ik verwacht had. Het stuk over het console aan het eind van het hoofdstuk kwam bijvoorbeeld niet aan bod.

Hoofdstuk 9: NIO.2
Dit is een belangrijk hoofdstuk waar op mijn examen behoorlijk wat vragen uit kwamen. Conceptueel is dit weer een makkelijker hoofdstuk, het bevat echter wel veel details waar naar gevraagd kan worden. Ook hier geldt weer dat de mock examens van enthuware een goed beeld gaven van wat je kunt verwachten.

Appendix C: Upgrading from Java 6 or earlier
Het lijkt vreemd maar Oracle heeft besloten dat in dit specifieke upgrade examen (xxx) een aantal onderwerpen zijn opgenomen die niet in het regulier OCP examen zitten. Deze onderwerpen staan beschreven in deze Appendix. Het bevat een aantal extra onderdelen voor Localization, Concurrency en NIO.2. Vergeet deze appendix niet, alle onderwerpen die hier worden behandeld kwamen bij mij ook echt voor op het examen.

Conclusie

Al met al is het upgrade examen zeker geen makkelijk examen. Ook als je al jaren met Java werkt moet je nog even goed moeten studeren alvorens het examen te doen. In mijn geval kwam daar nog bij dat ik geen Java 8 ervaring had.

Het boek is echter uitstekend als studiemateriaal. Zelf heb ik gebruik gemaakt van de digitale versie via iBooks. Op zich is dat makkelijk maar er waren wel wat dingen om rekening mee te houden:

  • Copy paste van tekst uit het boek is niet mogelijk. Dus stukjes code even in je IDE kopiëren is er niet bij.
  • Printen wordt niet ondersteund.
  • De antwoorden op de vragen bij een hoofdstuk staan achter in het boek. Bij de antwoorden staan de vragen echter niet herhaald. Dit levert veel onhandig heen en weer geblader op.

Gezien het feit dat dit upgrade examen al veel materie bevat is het denk ik aan te raden dit examen te doen en niet te wachten tot bijvoorbeeld Java 9. Java 9 zal ongetwijfeld ook weer het nodige toevoegen.

Ik heb me in ieder geval voorgenomen vanaf nu netjes per versie te upgraden.

×