I first spoke at JavaOne in 2008, and I have presented most years since. It's a great way to communicate a message about practical software development tools. An academic can even squeeze in a few few nuggets of theory as enrichment, so long as the fundamentals of usefulness to practitioners is covered.
Last week, I gave three talks (together with Werner Dietl), spanning 4 hours, at JavaOne 2016. The common theme was the use of Java 8's type annotations feature to improve code quality. This was the most rewarding year yet: with ever-increasing adoption of Java 8, there was lively interest and the sessions were very interactive with lots of questions and comments.
The slides are now available (though you always get more from being at the talk, hearing the spiel, and seeing the demos):
Tutorial TUT3422: Preventing Errors Before They Happen
Conference talk CON5739: Disciplined Locking: No More Concurrency Errors
Birds-of-a-feather session BOF3427: Using Type Annotations to Improve Your Code