JavaOne/Oracle OpenWorld Highlights-Part One

I had the opportunity to attend JavaOne/Oracle OpenWorld in San Francisco this fall (along with the thundering herds below) and thought I’d share some of the highlights from my perspective.  Lots of good information and food for thought, so without any further ado…

General ThemesoptimizedSwarm

On the Java side, they are celebrating the 20th anniversary.  There were a number of sessions devoted to the Internet of Things (IoT) and that was very evident in the demo/vendor grounds.

On the Oracle side, the big theme was the Oracle Cloud.  Also interesting and new was the introduction of the new Sparc M7 processor, which introduces “software in silicon” and promises to offer much faster decompression, in-memory query acceleration and “silicon secured memory”.

Java Performance

“Where Is My Memory?” – this session by Nikita Salnikov from Plumbr (download here) discussed how to monitor the memory usage of your Java application and how to detect and identify memory leaks.  They also have a great blog with lots of good info  – give it a read.

“GC Tuning Confessions of a Performance Engineer” – Monica Beckwith of Code Karam LLC (and formerly on the team that brought us the G1 garbage collector) – gave a really good talk on the various types of garbage collectors and approaches for tuning garbage collection.  Her presentation is here.

“Introduction to Thread Dumps (Troubleshooting Slowdowns, Freezes and Deadlocks)” – Yusuke Yamamoto – the developer of the Samurai thread dump analysis tool – gave a good talk on the types of information available in a thread dump and how you can use that to figure out why your Java-based application is slow.  He also demonstrated Samurai, which takes a very simple and graphical approach to diagnosing thread dumps and pinpointing problems.

Oracle Performance

“The Next Generation of the Oracle Optimizer” – this presentation focused on the new Oracle 12.2 feature called Statistics Advisor.  It is a rules-based program that uses stats gathering logs, statistics history and the storage footprint of your statistics to advise you on how to better collect statistics.  It presents you with findings and recommendations to address them.  You can them implement those recommendations using the API/UI provided.  Also new is a new algorithm for calculating distinct values, which uses much less storage for storing synopses.

“A Smart Optimizer Gets Smarter” – Jim Czuprynski – gave a high-energy talk on histogram internals and the new histograms in Oracle 12.1.  Definitely worth a read – download it here.

Fun and Interesting Stuff

optimizedPepper_RobotLots of robotics in the vendor grounds.  This little guy is named Pepper and he is made by a company called Aldebaran.  He was fairly entertaining and is in fact, built for “enriching customer experience”, mostly to draw people into stores and tell them about your products.  The only creepy thing about these little guys is that they each have their own individual fingerprints….

One of the IoT talks that I attended had several speakers showcasing what they are doing, but by far the biggest draw was James Gosling, best known as the father of the Java programming language. He spent some time talking about his new company Liquid Robotics, which produces wave gliders and operates them in ocean-going “drone swarms”, to perform various tasks for lots of companies/agencies that he can’t talk about.  He talked about the complexities of programming things like collision avoidance and autonomy in an environment with really slow, spotty satellite connections.  Video here.

I’ll add the rest of my impressions in my next post.

 

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s