Oracle OpenWorld 2017
| title | author | length |
|---|---|---|
| MVC 1 0: The @Controller of the Community | Ivar Grimstad | 49m |
Specification JSR 371 moves to the community as a standalone MVC 1.0 spec with an open source TCK and a reference implementation called Ozark. Controller layer… | ||
| Opening Up Java EE: Panel Discussion with Oracle, IBM, Red Hat, and the Eclipse Foundation | Mark Little, Will Lyons, John Clingan, Ian Robinson, David Blevins, Mike Milinkovich | 46m |
Oracle moves Java EE 8 code and GlassFish into a new Eclipse top-level project called Eclipse Enterprise for Java (EE4J), contributing GlassFish 5 / Java EE 8… | ||
| Making the JDK More Secure | Sean Mullan | 44m |
JDK 9 adds concrete security changes: SHA-3 message digests and a DRBG SecureRandom implementation, TLS improvements including OCSP stapling and DTLS 1.2, plus… | ||
| Servlet 4 0: A New Twist on an Old Favorite | Ed Burns, Shing wai Chan | 46m |
Servlet 4.0 brings concrete HTTP/2 features to Java EE: HTTP/2 server push (PushBuilder API that can return null when the client disables push, reusable to… | ||
| Java EE 8: What’s New in the Java EE 8 Release | Linda DeMichiel | 46m |
Java EE 8 ships (Sept 2017) with concrete changes: a new JSON-B binding API plus JSON‑P additions (JSON Pointer, Patch, Merge Patch and JSON-aware Stream… | ||
| How to Use Java Cryptography API Securely | Mansi Sheth | 41m |
Mansi Sheth, Security Researcher, Veracode Inc
Are you overwhelmed by the overabundance of choices provided by the Java Cryptography API when choosing an… | ||
| Baking a Java EE 8 Micro Pi | Ondrej Mihalyi, Mike Croft | 01h 22m |
A Raspberry Pi cluster runs Payara Micro (~60 MB jar) with Hazelcast clustering and a stock-ticker microservice: an EJB timer fires every second and publishes… | ||
| Analyzing HotSpot Crashes | Volker H. Simonis | 46m |
Shows how HotSpot writes hs_err_pid and replay_pid files, how unsafe memory writes and class redefinition can crash the VM, and which data actually helps root… | ||
| JUnit 5: New Opportunities for Testing on the JVM | Sam Brannen | 48m |
Overview of JUnit 5’s actual deliverables: a rewritten, modular test platform with modular Platform + Jupiter + Vintage that adds a launcher and test engine… | ||
| Modular Development with JDK 9 | Alex Buckley | 49m |
JDK 9 replaces the monolithic classpath with a module system that breaks the JDK into dozens of modules, enforces strong encapsulation (private JDK packages… | ||
| Parallel Streams, CompletableFuture, and All That: Concurrency in Java 8 | Kenneth Kousen | 48m |
Covers concrete Java 8 and 9 techniques: parallel streams backed by the ForkJoinPool common pool (size from Runtime.getRuntime().availableProcessors plus one)… | ||
| Shenandoah 2 0: Now That We’ve Gotten the GC Pause Times Under Control, What’s Next? | Christine H. Flood | 29m |
Region-based concurrent GC that adds an indirection pointer plus a read barrier and concurrent evacuation to move objects while mutators run, plus a small… | ||
| Understanding Java Garbage Collection | Gil Tene | 52m |
Claim that garbage collection is the cheapest way to manage memory and that precise collectors must mark sweep and compact; shows that compaction is inevitable… | ||
| Refactoring to Functional Style | Venkat Subramaniam | 43m |
Argues that refactoring Java imperative code to Java 8 functional style produces clearer, shorter code and enables lazy infinite streams and better reuse… | ||
| Twitter’s Quest for a Wholly Graal Runtime | Christian Thalinger | 41m |
Twitter builds an OpenJDK 8 with JVMCI and Graal, swaps Graal in for C2 on real Finagle services, and measures concrete wins: 11% CPU savings and 2.7% fewer… | ||
| Journey’s End: Collection and Reduction in the Streams API | Maurice Naftalin | 01h 57m |
Shows how the Streams Collectors replace unsafe mutable accumulators with a supplier/accumulator/combiner trio, walks the Collectors factory methods (toList… | ||
| Free Your Lambdas | José Paumard | 01h 50m |
Walks through converting anonymous Comparator and Runnable code into Java 8 lambdas, using java.util.function types (Consumer, Supplier, Function, Predicate)… | ||
| It’s Java, but Not As We Know It | Simon Ritter | 44m |
Starts with JDK 8 lambda mechanics and shows lambdas compile to methods then get linked at runtime via invokedynamic bootstrap via LambdaMetaFactory and method… | ||
| Lambda Chops: Recipes for Simpler, More Expressive Code | Ian Robertson | 42m |
Shows concrete recipes: use Optional.map null-safe chains instead of nested null checks; implement a supplier-based firstNonNull so candidates run lazily or in… | ||
| Visualizing Aircraft Data: Oracle IoT Cloud Service, Raspberry Pi, and Radio Surveillance | Jerry Ward, Rich Niemiec | 47m |
A $100 dual‑band Raspberry Pi kit (1090/978 MHz) with dump1090, GPS and battery captures ADS‑B messages, streams up to ~300 rows/sec via netcat/Kafkacat into… | ||
| Troubleshooting Memory Problems in Java Applications | Poonam Parhar | 43m |
Steps: confirm misconfiguration versus leak by watching full GCs and heap growth, then collect GC logs, heap dumps and histograms. Tools used include -Xmx/-Xms… | ||
| Streams in the Wild | José Paumard | 42m |
Live coding shows how to implement custom Spliterators to feed Stream pipelines: a no-op, a filtering and a mapping Spliterator plus a repeating splitter that… | ||
| Three Microservice Patterns to Tear Down Your Monoliths | Per Minborg, Emil Forslund | 47m |
Claims a practical path to break a monolith by storing only events in one MySQL table as a persistent queue, using Spring Boot writers that return an immediate… | ||
| Full Speed Ahead! Ahead of Time Compilation for Java SE | David Buck | 50m |
JDK 9 adds experimental ahead‑of‑time compilation that uses jaotc to produce an ELF shared library (uses Graal as the compiler), improving startup and warmup… | ||
| Collections.compare:JDK, Eclipse, Guava, Apache | Leonardo Lima, Nikhil Nanivadekar, Donald Raab | 46m |
Compares JDK 8, Eclipse Collections, Guava and Apache Commons by implementing a deck-of-cards domain and measuring real code: creating an immutable list… | ||
| Flow and the Future of Reactive Systems on the JVM | Konrad 'ktoso' Malawski | 35m |
JDK9's Flow is Reactive Streams renamed and the talk shows concrete interoperability: a TCK that verifies implementations, working Akka and RxJava… | ||
| G1GC Concepts and Performance Tuning | Erik Helin | 39m |
Shows how to diagnose and shrink long G1 pauses by collecting GC data with Java Flight Recorder and text logging via -Xlog:gc, then correlating in Java Mission… | ||
| Designing Functional Programs | Venkat Subramaniam | 46m |
Argues that the payoff from functional style is function composition and lazy evaluation, not just immutability or lambdas, and shows Java 8’s limits: checked… | ||
| The Anatomy of Java Vulnerabilities | Steve Poole | 46m |
Machine-visible examples show tiny mistakes causing huge damage: a 2001 infinite-loop double parse DoS that trivially spins CPU, a URL/URI decode mismatch… | ||
| The Power and Perils of Parallel Streams | Venkat Subramaniam | 45m |
Explains when parallel streams actually help (many elements and heavy per-item work) and when they hurt (too few items, too many threads), shows that the… | ||
| Scale Up with Lock Free Algorithms | Roman Elizarov | 45m |
Implements a lock-free Treiber stack in Kotlin using AtomicReference, measures with JMH benchmarks on a large AWS instance and reports ~20M ops/sec… | ||
| Java at Speed: Getting the Most Out of Modern Hardware | Gil Tene | 51m |
Shows concrete gains from modern CPUs and JVM work: vectorized loops on AVX2 use masking to get ~6x speed and AVX‑512 runs a tuned summing loop at ~16–17… | ||
| Make Your CPU Cores Sweat with Parallel Streams | Lukasz Pater | 46m |
Explains how Java 8 parallel streams run on the common ForkJoinPool (threads ~= CPU cores), use the fork/join framework and Spliterator.trySplit to divide… | ||
| Streams in JDK 8: The Good, the Bad, and the Ugly | Simon Ritter, Stuart Marks | 46m |
Shows concrete JDK 8 pitfalls and fixes: code that returns null instead of Optional and calls String.split twice (inefficient), a URLDecoder that throws a… | ||
| nothing matches | ||