50% off All Oracle and Java Exams!

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?

Need help? Our new book for the Java 11 1Z0-815 exam just went on sale last month! Jeanne and I offer a wide variety of books for Java 8 certifications including the Java 8 OCA 1Z0-808 exam or the Java 8 OCP 1Z0-809 exam, or if you’re taking both we offer a Java 8 Certification Kit and a Practice Questions book.

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!

Win a Free Copy of Our New Java 11 OCP Book!

This week only, CodeRanch.com is hosting a book promotion for our new book: Java OCP 11 Programmer I Study Guide. The book will be released this month and is available for preorder on Amazon.com, Barnes and Nobles, and Wiley Publishing.

The giveaway starts today, November 19th, 2019 with the drawing on Friday, November 15, 2019.

The promotion will be held in the Programmer Certification (OCPJP) forum which can be found here: https://coderanch.com/f/24/

Simply post a question to the authors (Jeanne and Scott) in the forum to be entered for a chance to win a copy of our new book!

[2019 oracle code one] AMA Java

Everything You Ever Wanted to Know About Java and Didn’t Know Whom to Ask 

Speakers: Everyone 🙂

For more blog posts, see The Oracle Code One table of contents


Q&A

  • 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?
    • <missed answer>
  • Why is TreeMap implemented as a red black tree?
    • best/only way to do it
    • balanced tree
  • 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.
  • Deprecate serialization?
    • No plans
    • Many problems.
    • 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
    • Value types
    • Pattern matching
    • Generic specialization
  • 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
    • ASM
    • Byte Buddy
  • 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
    • Unsolved problem
    • Changed a lot underneath
    • String concatenation now performed by invoke dynamic

My take

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.