Making a New Year’s resolution to get Java certified? For this month only (expires 12/31/2019), Oracle is offering 50% off all digital training and exam vouchers. This means if you want to get Java (or any other Oracle certification), you can do it for half the price! Better yet, the vouchers are good for 6 months from date of purchase. Why wait till the prices go up?
The first step to getting certified is making the decision to get certified! Then, you purchase a study guide and draw up a study plan. For example, you could decide to read one chapter a week. Finally, you start taking practice exams to determine what topics you need to study more. And since the vouchers expire in 6 months, you have a nice incentive to not give up!
What is the best way to get a new method/feature into Java?
Discuss, open JEP, debate. Search Thread.onSpinWait() for an example
Discussion first is important. Starts discussion about problem. The code provided isn’t always the best way to solve it.
The thing that ends up happening is not what you started with
How to integrate collection PL/SQL in Java?
Why is TreeMap implemented as a red black tree?
best/only way to do it
Is Java too slow?
Always want faster
Not too slow for a language with a statically compiled language
Tune for use case
Java will work faster on CPU don’t have yet. JIT compilers will optimize for it.
Is String interpolation coming?
Java 12 “briefly” had raw string literals
Recognize sprint interpolation is valuable
Need to figure out a way to do cleanly
Need to get multi line done. Then escape sequences. Then string interpolation
How move past Java 8?
Business and technical question
First step: will it compile/run
Don’t need to rewrite everything with new features
Business might not want to spend money on technical problem
A handful of people have only Java 11 in prod. Many people have one app/POC in prod. A lot of people only Java 8.
Java 9 and 10 is irrelevant. Nobody supports. Binaries not rebuilt with security updates.
The technical challenges are libraries that used Unsafe or assumed version strings begin with 1.x.
Evangelism message: upgrading to a higher version of Java is just like upgrading to a later version of 8.
Counterpoint: People have jars that don’t run on 11.
Sometimes features or APIs are removed.
How do you look at OSGi?
Nobody does anymore
Are you happy with the new release cycle?
Bruno interviewed Brian Goetz who said he was skeptical at first, but now done four times and smooth.
Java 13 came out this week. Brian was at Code One. Not managing process. No longer have months of meetings about release.
There is a need for something like serialization.
Brian wrote up ideas: http://cr.openjdk.java.net/~briangoetz/amber/serialization.html (Not a proposal for replacing serialization)
How do we keep up with six month releases?
Try when come out.
We know when they come out
Not a lot will break if do each time
Counterpoint: Play on laptop, but don’t use features until LTS comes out. If using 12.0.2 and security issue, you have to run 13 when it is 3 weeks old. Going to prod on feature release is risky.
Real tuples in Java?
Proposal for records in Java
Is it possible to break a nested loop in Java?
Yes with labels. [but please don’t].
Fixing exception handling on lambdas
Aware of issues
Not convenient to deal with
Ideas, but no current plans
Map on how to choose a JDK for a given use case
AdoptOpenJDK and Java Champions discussing how to create that map
New features we are looking forward to
How long will Unsafe be around
However long it takes to pull out all the useful features
ex: Java 9 var handles
Will take years
Low level libraries that are useful
Type extraction on return values
Return a tuple and set to multiple variables
“Let’s compare Java to Kotlin”
Could write something like it with pattern matching
Why are Strings in Java harder than other languages?
Strings have evolved
Changed a lot underneath
String concatenation now performed by invoke dynamic
I like how he accepted questions both verbally and via Twitter. The variety of questions was fun. I like that Gil asked the “who is on Java 11” question well. He asked granularly enough to answer honestly and realistically. Stuart did a great job with his Dr Deprecator character when there was discussion about APIs being removed.