Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
Transcript of JavaOne 2015
Day 3 and 4
Do I care?
Who are we?
What does Java 9 mean for me?
Why should I care?
What is a module?
Haven't they tried this before with OSGI??
... also what is bark made of?
We take the bull by the horns
We love open source
WE ARE A TEAM
and Data Scientists
We like running,
and staying active
How do I get ready for:
Insert buzzword here!
We keep the world safe from bad code
If you're not first, you're last
Our Managing Director
Oracle Welcome Reception
Tips from a Veteran
Sessions are held if different hotels potentially a mile or more apart
Learning the lay of the land
Give me my free stuff
Get your badge
Wow I'm here!
Where is Moscone West?!?!
The most valuable cab company in world is Uber.
The most valuable hotel in the world is AirBnB.
The largest content provider in the world is Facebook.
Uber owns no cabs.
AirBnB owns no property.
Facebook creates no content
Software is more important than ever
Java is still #1 by many indexes
The Main Goal
Iot(Internet of Things)
20 years of innovation
Java is still strong
Java community is still strong
Java is continuing to evolve
Modules are a big deal
Fix the brittle and error-prone class path
Address the GIANT monolithic JDK
They will address these pain points
Doesn't scale well on to embedded devices or in cloud
A lot of thought and consideration goes into
the evolution of Java as a language
Java has been strong for 20 years for a reason
Improve the language but don't change it's
Difficult to maintain and difficult to secure
Watch Full keynotes and highlights
Note the Sun
Omg open bar!
Free food please, k thx!
Family friendly dance and rap music!
More Cowbell!!!! ...seriously the handed out cowbells
Good luck getting an Uber!
It was kinda a big deal
Oracle... you fancy
Sign-up for sessions early!!! Several weeks before the conference!
-- Take this into account!
--The best ones fill up early!
If you don't make it into a session, do standby
-- If you dont mind sitting on the floor!
You can probably get it for free
-- Buzzhouse, Duke's Cafe, all the sponsored venues give out free coffee and beer starting at 2!
Download the mobile app!
-- It's actually decent/useful, push notifications and updates
If Josh Long or anyone from Pivotal is
having a session, GO!
-- They are very funny/entertaining
It's going to be a long week...
Buzzhouse will save your life
If you see a guy wearing a flag, go talk to him.
-- He's a really funny guy from Brazil, Bruno Souza, who is also a Java Champion
Get Ready to walk... a lot
Wear comfy shoes... for serious
But you will still get lost
There are maps everywhere
If people are wearing suits
You're in the wrong place... use your GPS
Do you recognize this wall of text?
Yes, the classpath.
This is a module
What do you depend on?
What do you expose?
We should really do
something about this...
Shoot your own magazine cover
More free beer at Duke's cafe
Best stickers IMO
Jet brains, Gradle and Jenkins... oh my!
GIVE ME SWAG
The only reason
James Gosling is here
I for one welcome our new robot overlords
The face of humanity's downfall
Powered by Java!
Why upgrade to JDK9
More flexible and scalable code
Better security and maintainability
Easier to create, maintain and deploy
More efficient way of storing classes
Simple and more intuitive layout
What is Changing in JDK9
More about the Module System
What is a module?
Module: A module is a named, self-describing collection of code and data
Module system version of classpath
java -modulepath dir1:dir2:dir3
Steps to take to Prepare for Migrating to JDK9
Check out the following:
Application Migration(Very simplified top-down version)
Use jdeps to find dependencies
Build modular JARs for your code
Create automatic modules by putting external libraries on module path
Place JAR files on module path to create automatic modules. The module name will be derived from the JAR file name. It will export all it’s packages and require all other modules.
Some things to keep in mind
Adopt modules at your own pace
Your can modularize your application before its libraries are modularized
Library authors can modularize libraries independently
Check for JDK-internal APIs with jdeps
Check code that relies on version string structure
Check tools that rely on rt.jar, tools.jar
or the old file layout
OpenJDK project Jigsaw Page:
Early Access Builds:
jdeps analysis tool:
Maven jdeps plugin:
Livestream of sessions here:
This is subject to change
JSR-376 – Java Platform Module System
OpenJDK Project Jigsaw – Ref implementation for JSR-376
- Encapsulate most(Non-critical) JDK-internal APIs
- Encapsulate critical APIs that have replacements in JDK9
- Critical APIs without replacements: Depreciate in JDK 9 and remove in JDK 10
Non-critical Internal APIs:
No evidence of use
Critical Internal APIs
Functionality that is difficult/impossible to implement outside JDK
Examples: Unsafe, Signal, Cleaner, Reflection::getCallerClass, ReflectionFactory
JEP 261: Module System
Binary Structure of JRE and JDK
Only 3 folders will be present in the new file structure:
The following files will be removed:
New version string format
JEP223 New version-string scheme (http://openjdk.java.net/jeps/223)
Upgrade module mechanism
Application and extension class loaders will no longer URLClassLoader instance
Check out jHipster
JHipster is a generator,used to create a
Internet of Things IOT
The Future of Java