In my previous post, I covered the first two days of JavaOne and Oracle OpenWorld. I’ll cover the rest of the week’s highlights in this post.
Blockchain and the Internet of Things (IoT)
This presentation was interesting in that it talked about different ways that blockchain and alt-chain technologies (like “pegged sidechains”) might be used in the Internet of Things. It also introduces one company (Blockstream) who is using pegged sidechains to extend Bitcoin and blockchains for micropayments, smart contracts and property registries. This paper also introduces the concept of “Sensing as a Service” – an emerging business model for the Internet of Things.
Shenandoah Garbage Collector
Shenandoah is billed as an “ultra-low pause time garbage collector for OpenJDK”. In this presentation, Christine Flood from Red Hat gave an update on Shenandoah and their latest performance benchmarks. Their goal is to be able to garbage collect very large heaps (100+ GB) with <10 milliseconds pause time. Their GC pause times are proportional to the number of threads, not the heap size. Their latest SpecJBB2015 benchmarks are around 34 milliseconds (average – max is around 320-380ms).
Studio Performance Analyzer
This was the last session on the last day of JavaOne and I’m glad I stayed around for it. This may be one of the best-kept secrets out there – this is a free profiling tool that can be used to identify bottlenecks in Java, C and C++ applications on Linux and Solaris operating systems on x86 and SPARC architectures. Probably not a tool for everyday use but it looks like a tool that would give us additional insight that picks up where Dynatrace leaves off. Here is their website.
Another not-so-well-known nugget: Oracle has a Labs division that it inherited with its purchase of Sun Microsystems in 2010. I attended one of their presentations on PGX (Parallel Graph Analytics), an in-memory parallel graph processing system (think Neo4j and GraphX). If you’re interested in what ever became of Sun Labs, here is a list of the current projects they are working on.
Connor McDonald gave this entertaining presentation that lists some of the new SQL features in Oracle 12c. He mentioned his favorites, including:
- temporal validity
- user-defined functions (using a WITH clause)
- Top-N query simplifications (e.g. “FETCH FIRST x ROWS…”)
- pagination (e.g. “OFFSET x ROWS FETCH NEXT y ROWS…”)
- new join syntax – CROSS APPLY and OUTER APPLY
He mentioned that he thinks that one of the most intriguing new features in SQL is pattern recognition. A new MATCH_RECOGNIZE clause allows you to answer questions such as:
- “Find 10 consecutive deposits in a 24 hour period, then a withdrawal within three days of the last deposit, at a different outlet” – banking
- “What is the longest losing streak for customers since the start of the month” – online gambling
You can find out more about MATCH_RECOGNIZE in this manual.
Finally – a quote that I’ve heard before that one of the presenters included:
“Always code as if the person who ends up maintaining your code is a psychopathic killer who knows where you live.”
– source unknown
All in all – a good week – lots of good presentations and food for thought.