The document appears to be a presentation discussing the future of Java and how it needs to adapt to changing computing landscapes like cloud, data analytics, and machine learning. It argues that Java must innovate faster through an open ecosystem to remain competitive. It provides examples of how Java is becoming more modular and getting faster release cycles to better support new workloads and business needs.
18. And don’t forget VMs can scale from the very
smallest to the very largest devices
Tiny
winy
Ginormous
humongous
19. From the smallest
On the
smart card
Next to the processor (separate IC)
In the processor
20. @spoole167
Java Card JVM
• Becoming a major IOT edge device type
• Has security physically built in
• Low Power
• Small cost
Writing code in Java
means less chance of
code problems.
no hand crafting
assembler for small
devices
Want to debug a Java
Card in the field?
Want to patch 6
million cards?
Java offers a superior
developer experience
59. IBM donated J9 to Eclipse
because we believe it’s the best
way to move Java forward
• It offers a new place to start
• As the future emerges we can see
that Java needs to handle new
technologies, new hardware.
• Java must adapt or die
• We can’t do it on our own. We have
to do it together
@spoole167
76. c c e n t u r y b j
m k h l y t n e w t
t c i g a f n n o y
f d h t u s i a o v
i a w a h o h r v e
d i r n v e n y s i
g a p t u a o e x t
q f e a m o j k b o
y i c h r b y p n a
t t n v a e i z h i
Java
In
The
Twenty
First
Century
Are
you
thinking
far
enough
ahead
IBM
Find
which
one of
these
words is
missing
78. r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
Java
In
The
Twenty
First
Century
Are
you
thinking
far
enough
ahead
IBM
83. c c e n t u r y b j
m k h l y t n e w t
t c i g a f n n o y
f d h t u s i a o v
i a w a h o h r v e
d i r n v e n y s i
g a p t u a o e x t
q f e a m o j k b o
y i c h r b y p n a
t t n v a e i z h i
When searching for
“java” we have to
make sure we don’t
run off the edge
while( l<w.length()
&& dy>0 &&
p.charAt(x,dy)==w.
charAt(l)) { l++;dy--
; }
84. c c e n t u r y b j
m k h l y t n e w t
t c i g a f n n o y
f d h t u s i a o v
i a w a h o h r v e
d i r n v e n y s i
g a p t u a o e x t
q f e a m o j k b o
y i c h r b y p n a
t t n v a e i z h i
Changing the data
reduces our code
Adding a empty
boarder the width
of the largest word
Means we’ll never run
off the end of the array
86. IntStream is=IntStream.range(0, (side+buffer)*(side+buffer)*8);
is.parallel().forEach( i -> {
int offsets[]=directions[i % 8];
int r = i / 8;
int x = i % r;
int y = i / r;
// loop through word matching each character
for(int i=0;i<word.length;i++) {
. . .
// move to next char in required direction by simply:
x+= offsets[0];
y+= offsets[1];
}
...
122. r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
“Java”
Try 1 3,5 -> NE
123. r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
“Java”
Try 1 3,5 -> NE
No – try again
124. r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
“Java”
Try 2 4,4 -> N
125. r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
“Java”
Try 2 4,4 -> N
No – try again
126. r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
“Java”
Try 3 6,3 -> NW
127. r c e n t u r y l m
y q h m y t n e w t
j x v g f a s r h h
f u r t u k h o u q
y a m a h o c e k n
s b r p v e n c a t
a y g e u a j e a d
h z g a m o j i p b
h z a e r b y a n n
d m t f g e i v e i
“Java”
Try 3 6,3 -> NW
No – try again
130. 1
3
0
Runtime Language
Type Safe
Bytecode: JIT Compiled
Garbage Collected
Concurrent Threaded
All Platforms
The JVM’s design
characteristics allow
us to imagine taking
it to new places
No other runtime
environment comes
close
132. @spoole167
Java Vendor competition and collaboration delivered
• The fastest runtime environments
• The most scalable runtime environments
• The best garbage collectors
• The greatest dynamically re-optimizing compilers
• And we’re still doing it.
Are you aware of AdoptOpenJDK?
London JUG created
“No one competes on build farms” – common infrastructure for all JDK builders
A place to get certified builds, of known good quality.
Test suites
JCKs
Tracking the OpenJDK patch levels (Security fixes)
And most importantly, they provide binaries for Eclipse OpenJ9
And OpenJ9 was the first set of binaries to have passed certification there.
GPU TestSorting 30k elements - in order to see offload to GPU being of benefit
CPU trend down towards 4m elements/sec
GPU trended up towards 400m elements / sec
Between 3m and 300m elements
approaching 100X improvement
At roughly the same time that Grover published his algorithm,
Bennett, Bernstein, Brassard, and Vazirani proved that no quantum solution to the problem can evaluate the function fewer than thes this times,
so Grover's algorithm is asymptotically optimal.[1]
With a QC ability to execute all search's in parallel wordsearches are easy
But theans