Loading presentation...
Prezi is an interactive zooming presentation

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start 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

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

JavaOne 2015

No description
by

Chris Anatalio

on 28 December 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of JavaOne 2015

Whirlwind Tour
Day 1
Day 3 and 4
Java 9
Do I care?
Who are we?
What does Java 9 mean for me?
2015
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 like
Java
Full-Service
Java
Consultancy
Digital
Big Data
Cloud
WE ARE A TEAM
Of Engineers,
Architects,
and Data Scientists
We like running,
and staying active
cycling
...Literally
Java 9
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
JavaOne
Keynote
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?!?!
I'm hungry
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.
All
Software
Companies
Uber owns no cabs.
AirBnB owns no property.
Facebook creates no content
$25.5 billion
$50-70 billion
$202 billion
Software is more important than ever
Java is still #1 by many indexes
Key takeaways
Improving Java
Modules
The Main Goal
Shots Fired
https://www.oracle.com/javaone/on-demand
Big Data
Iot(Internet of Things)
20 years of innovation
Keynote highlights
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
1
2
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
Spirit
Difficult to maintain and difficult to secure
Watch Full keynotes and highlights
Note the Sun
branded jacket
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
Modules?!?!
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...
Or not...
Attention!!!
Free beer!!!
Free beer!!!
Free beer!!!
Free beer!!!
Explore!!!!!
Shoot your own magazine cover
More free beer at Duke's cafe
Github
Exhibition hall
Best stickers IMO
Jet brains, Gradle and Jenkins... oh my!
GIVE ME SWAG
jHipster Stickers!!!!
The only reason
James Gosling is here
I for one welcome our new robot overlords
The face of humanity's downfall
Powered by Java!
Skynet 2.0
Release Schedule
Why upgrade to JDK9

More flexible and scalable code

Better security and maintainability

Easier to create, maintain and deploy

Improved performance

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 Characteristics

Strong encapsulation
Reliable Dependencies


Module Path:
Module system version of classpath

Example:
java -modulepath dir1:dir2:dir3
Waverider
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

Automatic modules:
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:
http://openjdk.java.net/projects/jigsaw

Early Access Builds:
https://jdk9.java.net/jigsaw/

jdeps analysis tool:
https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html

Maven jdeps plugin:
https://github.com/marschall/jdeps-maven-plugin

Livestream of sessions here:
http://j.mp/1LScfnH
This is subject to change
What's changing
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
(http://openjdk.java.net/jeps/261)
Binary Structure of JRE and JDK
Only 3 folders will be present in the new file structure:

bin
conf
lib
The following files will be removed:

jre directory
rt.jar
tools.jar
New version string format
JEP223 New version-string scheme (http://openjdk.java.net/jeps/223)

Example: 1.9.0_5-b20
(https://www.jcp.org/en/jsr/detail?id=376)
Upgrade module mechanism

Application and extension class loaders will no longer URLClassLoader instance
Check out jHipster
JHipster is a generator,used to create a
Spring Boot
+
AngularJS
+
Twitter Bootstrap
project.

https://jhipster.github.io/
Internet of Things IOT
Big Data
The Future of Java
Full transcript