Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hva er greia med Java 9?

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Hva er greia med Java 9?

Java 9 har blitt jobbet med lenge og utsatt flere ganger, men er nå planlagt lansert til sommeren. En av de største endringene som kommer med Java 9 er modulsystemet Project Jigsaw. Men hva er egentlig greia med Java 9 og Project Jigsaw? Hvordan fungerer det og hvordan vil det påvirke oss og våre applikasjoner i utviklerhverdagen?

Foredraget vil gi en intro til det nye modulsystemet i Java 9, hvilke fordeler det gir, hvordan det vil treffe oss, og si noe om hvordan og om vi kan bruke det i våre applikasjoner.

Video av presentasjonen: https://vimeo.com/207620718

Avatar for Henrik Wingerei

Henrik Wingerei

March 03, 2017

More Decks by Henrik Wingerei

Other Decks in Programming

Transcript

  1. API

  2. $ javac -d mods --module-source-path src $(find src -name "*.java")

    src/app/no/bekk/Main.java:3: error: package no.bekk.internal is not visible import no.bekk.internal.ApiImpl; ^ (package no.bekk.internal is declared in module api, which does not export it) 1 error
  3. Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java

    .security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @56402c4e ... at java.base/java.lang.reflect.Method.setAccessible(Method.java:190) ~[na:na]
  4. $ java -cp "lib/*" --module-path mods:out --add-opens java.base/ java.lang=ALL-UNNAMED -m

    app/no.bekk.Main Caused by: java.lang.ClassNotFoundException: java.sql.SQLException
  5. ?