Oracle Code One 2018
2018-10-22..2018-10-25
San Francisco, United States
| title | author | length |
|---|---|---|
| Twelve Ways to Make Code Suck Less | Venkat Subramaniam | 47m |
Twelve concrete practices: schedule regular time to pay technical debt, prefer high cohesion and remove or relocate coupling, replace custom code with JDK… | ||
| Reactive APIs of Java 9 | Venkat Subramaniam | 46m |
Venkat Subramaniam, President, Agile Developer, Inc.
Reactive programming is no longer an esoteric idea. Many libraries and tools have started providing… | ||
| Benefiting from Java 9 Improvements | Venkat Subramaniam | 45m |
Java 9 deprecates finalize and adds private methods in interfaces to factor shared code, makes try-with-resources accept outside (effectively final) variables… | ||
| Type Inference: Friend or Foe | Venkat Subramaniam | 46m |
Survey of Java type inference traces its history from generics and the diamond operator to Java 10’s introduction of var for local variables and Java 11’s… | ||
| CompletableFuture: The Promises of Java | Venkat Subramaniam | 48m |
CompletableFuture is Java’s equivalent of JavaScript promises: use supplyAsync to run compute in the ForkJoin common pool or pass a custom pool, chain… | ||
| Effective Design of RESTful APIs | Mohamed Taman | 54m |
Gives a concrete five-step API design: identify participants, list their activities, paper-model resources, map actions to nouns and HTTP verbs, then validate… | ||
| From Jakarta EE over MicroProfile to Serverless: Interactive Onstage Hacking | Adam Bien | 48m |
Starts from a single Maven archetype and Java 8 dependency, generates a thin WAR and deploys to Payara/Open Liberty with only CLI and IDE; adds MicroProfile… | ||
| The Future of Java SE | Sharat Chander, Aurelio Garcia-Ribeyro | 44m |
Java SE moves to six‑month feature releases with an LTS every three years, and JDK 11 achieves Oracle JDK/OpenJDK parity; TLS 1.3 lands within weeks of its… | ||
| ZGC: A Scalable Low-Latency Garbage Collector | Per Liden | 46m |
ZGC is available as an JDK 11 experimental collector on Linux x86_64 that targets multi-terabyte heaps by using colored pointers (42-bit addresses, 4 color… | ||
| How to Structure Jakarta EE Applications for Productivity Without Bloat | Adam Bien | 47m |
Argues a concrete structure: one package per business concept (example flights), using boundary-control-entity with typically three classes for a microservice… | ||
| Migrating to Modules | Ryan Cuprak | 47m |
Modularizing a large Java app is hard but practical: upgrade tooling (jenv/jabba, Maven toolchains), run jdeps to generate module-info, fix dependency cycles… | ||
| Collections Refueled | Stuart Marks | 43m |
Java 9 adds library-only convenience factory methods like List.of/Set.of/Map.of and Map.ofEntries/Map.entry that produce new, unmodifiable collection… | ||
| Ten Common Mistakes Made in Functional Java 1 | Brian Vermeer | 49m |
A list of concrete anti-patterns and fixes for Java 8/9 functional code: avoid large block lambdas—extract a named method and use a method reference; return… | ||
| Var with Style: Local Variable Type Inference in Java | Stuart Marks | 39m |
Java 10’s var infers the local type from the right-hand side and must have an initializer, so declarations like var x; or var x = null or var x = (untyped)… | ||
| Java Keynote at Oracle Code One 2018 | Matthew McCullough | 01h 35m |
GitHub describes choosing Java for data pipelines and builds Hydro uses Kafka/HDFS/Presto/Flink to unify queues and analytics, citing Ruby’s GIL, memory cost… | ||
| Robotics on Java Simplified | Marcus Hirt, Miroslav Wengner | 35m |
Robo4J is a modular Java SE framework that runs on Raspberry Pi and Lego hardware, with HW units (Adafruit LCD example) controlled via a Java API and XML or… | ||
| Helidon: Java Libraries for Writing Microservices | Joe Dipol, Romain Grecourt | 39m |
Helidon presents two concrete Java models: Helidon MP (MicroProfile APIs, CDI, JAX‑RS) and Helidon SE (functional routing on top of Netty). Demo generates a… | ||
| The New HTTP Client API in Java 11 | Sergey Kuksenko | 49m |
Java 11 ships a standardized java.net.http client that replaces HttpURLConnection, supports HTTP/2 and HTTP/1.1, and exposes synchronous and… | ||
| Migrating Java UI Client Applications to OpenJDK 11 | Philip Race, Sergey Bylokhov | 45m |
OpenJDK 11 removes several closed-source pieces so Java UI apps often stop running without change: Lucida fonts removed breaks fallbacks and layouts, the… | ||
| Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss? | Henri Tremblay | 01h 48m |
Covers concrete features from Java 5 through 11 with examples and migration notes: immutable collection factories and Base64 API added, the new Date/Time API… | ||
| Microservices for the Masses with Spring Boot, Angular, and JHipster | Matt Raible | 45m |
Claims that JHipster plus Spring Boot and Angular makes microservices practical: it uses JHipster registry (Eureka), Spring Cloud (Feign, Ribbon, circuit… | ||
| Why Java and the JVM Will Dominate the Future of Machine Learning, AI, and Big Data | Bernard Traversat | 43m |
Java claims enterprise advantage by running big ML stacks natively on the JVM: DeepLearning4J and ND4J are already in production for image recognition and… | ||
| What’s New in the Java Platform Language and Tooling Area | Michel Trudeau | 36m |
Local-variable type inference (var for locals, enhanced lambdas and for‑loops) lands in JDK 10 with style rules, pitfalls (diamond + var can widen to Object… | ||
| Project Panama’s Foreign API | Maurizio Cimadamore | 43m |
Project Panama provides a Foreign API that replaces JNI with annotated Java interfaces bound at runtime by a binder, and an extract tool that uses Clang to… | ||
| Parallel Universe: Java Developer’s Guide to Front-End Development | Kito Mann | 48m |
Rapid map from Java server patterns to concrete front-end tools and patterns: explains how TypeScript + Webpack + npm replaces Java tooling for large apps, how… | ||
| JUnit 5: The Next Step in Automated Testing for Java | Billy Korando | 44m |
JUnit 5 targets a Java 8 baseline and ships as modular Platform/Vintage/Jupiter artifacts, so existing JUnit 4 suites run under Vintage while Jupiter provides… | ||
| Shenandoah GC: The Next Generation | Roman Kennke | 48m |
Shenandoah GC implements concurrent marking and concurrent compaction with Brooks pointer indirection, SATB write barriers and read barriers to keep pause… | ||
| Thread Safety with Phaser, StampedLock, and VarHandle | Heinz M. Kabutz | 47m |
Compares concrete concurrency tools and shows working code and measurements: replaces CyclicBarrier/CountDownLatch with phaser dynamic registration to… | ||
| Vector API for Java | Kishor Kharbas, Paul Sandoz | 44m |
An OpenJDK Panama prototype exposes a Java Vector API that maps explicit data‑parallel code to SIMD (AVX/AVX‑512, NEON, SVE) and is validated with JMH + DTrace… | ||
| JDK 9, 10, and 11: Pitfalls for the Unwary | Simon Ritter | 47m |
Module system breaks the JDK into modules and encapsulates internal APIs so code or libraries that use sun.misc.Unsafe or other internals suddenly fail unless… | ||
| Incremental Improvements to the Java Platform | Paul Sandoz | 44m |
Shows which small Java changes actually matter: how JDK 9–12 add concrete APIs and VM hooks, how arrayMismatch with AVX and a HotSpot intrinsic speed up… | ||
| How to Use the new JDBC 4.3 Sharding API for Massive OLTP Scaling | Doug Hood | 48m |
Claims that JDK 9’s JDBC 4.3 sharding API lets clients pass sharding keys and ConnectionBuilders so connection routing eliminates extra network hops; demos use… | ||
| Enough java.lang.String to Hang Ourselves... | Heinz M. Kabutz, Dmytro Vyazelenko | 46m |
Benchmarks compare "" + 42, Integer.toString and StringBuilder and show performance depends on JVM version not intuition, with Java 9+ using invokeynamic… | ||
| Rich Client Java: Still Going Strong | Sven Reimers, Sean M Phillips, Johan Vos | 47m |
Panel argues that desktop stays viable: legacy 2 million lines of code Swing apps get modernized by embedding JavaFX or by using NetBeans RCP; Java Web Start… | ||
| Performance Story: How to Speed Up HTTP/2 Client | Sergey Kuksenko | 41m |
Benchmarks use a simple JMH-style client/server loop and custom load tests and start with 25 req/s baseline on localhost; a TCP delay/TCP_NODELAY fix removes a… | ||
| Get Reactive! Programming, Systems, and Microservices | Jeremy Davis | 46m |
Shows how Netflix replaces ~30 blocking REST calls with RxJava streams to run many requests concurrently, tolerate individual failures, and return defaults… | ||
| One VM to Rule Them All? Lessons Learned with Truffle and Graal | Jackie Haynes, Zachary Fernandez | 51m |
Goldman Sachs ports a 25‑year in‑house language with 150 million lines to Truffle/Graal, building an LLVM bridge that compiles a small C++ proxy to bitcode and… | ||
| Serverless Java: Challenges and Triumph | Shaun Smith, David Delabassee | 46m |
Shows concrete tooling and numbers: Java runs on the Fn project with a Java FDK, Maven-based build images and local Docker server, JUnit tests inside… | ||
| Kube Me This! Kubernetes Ideas and Best Practices | Karthik Gaekwad | 45m |
Kubernetes adoption is mature in enterprises (CNFC survey ~55% in production) and this session gives concrete practices: start with a simple app, prefer… | ||
| Kubernetes for Java Developers | Anthony Dahanne | 01h 59m |
Java now obeys cgroups (Java 10, back‑ported to Java 8u191), avoiding container OOM surprises; demo deploys a Spring Boot monolith with MySQL and two… | ||
| Up and Away: JDK Optimizations | Vladimir Kozlov, Vivek Deshpande | 41m |
Intel and Oracle report concrete JDK 10/11 wins: vector API (JEP 338) and auto-vectorizer changes enable AVX/AVX‑512 code paths and FMA use, yielding up to ~6x… | ||
| Mastering JPA Performance | Thomas Broell | 46m |
Finds that most slowness comes from excessive SQL interactions and shows fixes that actually cut statements and time: switching the table generator default… | ||
| Building Mobile Apps with Gluon and Java Revisited | José Pereda | 46m |
Shows how a single Java codebase compiles and deploys native iOS and Android apps using Gluon VM and JavaFX, with one cross-platform API for UI and native… | ||
| Deconstructing and Evolving REST Security | David Blevins | 47m |
Compares basic auth, OAuth2 bearer tokens, JWTs and Amazon-style HTTP signatures against a baseline four-hop microservice load of 15,000 TPS and 1,000 users at… | ||
| High-Speed Cryptography in Java: X25519, Poly1305, and EdDSA | Adam Petcher | 39m |
JDK 11 ships Java implementations of X25519 (JEP 324), ChaCha20-Poly1305 (JEP 329) and EdDSA work (JEP 339 in progress). Implementations use branchless… | ||
| Let's Start Java11 from the Beginning with JShell | Naoki Kishida | 01h 34m |
Introduces using JShell (the Java REPL introduced in Java 9) together with the local-variable type inference var (from Java 10) to learn and start programming… | ||
| MicroProfile Metrics: Practical Use Cases | Victor Orozco, Jorge Cajas | 45m |
Demonstrates adding concrete metrics to Java services by exposing /metrics in Prometheus format on Payara Micro + Prometheus and instrumenting endpoints with… | ||
| Modular Development with JDK 9 and Beyond | Alex Buckley | 46m |
JDK 11 ships a module system that enforces strong encapsulation (public types in non-exported packages are inaccessible) and reliable dependencies (resolution… | ||
| Java Garbage Collectors’ Current Performance Impact | Sergey Kuksenko | 45m |
G1 is the Java default, CMS is deprecated and ZGC is the new low‑pause collector coming up; practical measurements use JMH and native memory tracking. A JMH… | ||
| A Modern Fairy Tale: Java Serialization | Steve Poole | 47m |
Java serialization still moves object graphs easily but its self‑defining format lets attackers alter field types, bypass constructors and trigger static… | ||
| AdoptOpenJDK: Lessons Learned from the New Build Farm for Java Itself | Daniel Bryant, Adam Farley | 01h 38m |
Community-run build farm produces nightly OpenJDK binaries for multiple JDK versions, OSes and JVMs (HotSpot and OpenJ9) after being assembled in under a year… | ||
| Effective Docker and Kubernetes for Java EE Developers | Ahmad Gohar, Reza Rahman, Hillmer Chona, Luis Amigó | 46m |
Demonstrates building Java EE images (WebSphere Liberty, OpenJDK) and a Postgres PV, pushing versioned images to Docker Hub, and deploying on GKE where two… | ||
| Tuning G1G | Kirk Pepperdine | 47m |
G1 is default but not fully hands-off: mis-tuned heaps trigger 15 full GC events in logs, humongous object allocation behavior causes unexpected full GCs, and… | ||
| Running JavaFX 11 on Embedded Devices: Challenge Accepted! | José Pereda, Johan Vos | 46m |
Claims that JavaFX 11 runs on Raspberry Pi 3 B+ using a 32-bit ARM JDK are demonstrated with concrete steps: download BellSoft JDK 11 ARM32, install an OpenJFX… | ||
| Beyond git add/commit/push | Jorge Vargas Garcia, Victor Orozco | 49m |
Demonstrates using the command line to build a tiny Java calculator (addition, subtraction, product, concat) across feature branches, merging them, resolving a… | ||
| Using Java CompletionStage in Asynchronous Programming | Kuassi Mensah, Douglas Surber | 46m |
Shows concrete code wiring java.util.concurrent.CompletionStage and CompletableFuture into ADBA via the AOJ implementation, using supplyAsync/thenRunAsync to… | ||
| Go, Java, Go! | Ixchel Ruiz, Andres Almiray | 49m |
Compares concrete Java vs Go behaviors: Go compiles to native cross-platform binaries (easy cross-compilation, small size), starts and runs far faster… | ||
| Add Tests to Legacy Code with Approval Tests | Scott Wierschem | 45m |
Shows how Approval Tests turns untestable legacy code into verifiable outputs by dumping program state to human-readable files, opening a diff tool, and… | ||
| How to Create an Architecture for Web Test Automation | Elias Nogueira, Tatiane Aguirres Nogueira | 46m |
Shows a concrete Java stack: Selenium WebDriver + TestNG, Java Faker for test data, Log4j and ExtentReports for logs/screenshots, and a base Test class +… | ||
| Hacking Java and Spring Boot Applications with Visual Studio Code | Junyi Yi, Xiaokai He | 36m |
Visual Studio Code plus specific extensions builds a lightweight Java/Spring Boot workflow: use Spring Initializr to generate a Maven or Gradle project, add… | ||
| 50 Shades of Data: How, When, Why—Big, Relational, NoSQL, Elastic, Graph, Event | Lucas Jellema | 45m |
Overview of data storage and processing patterns across relational, NoSQL, and big-data technologies and when to use each. Covers products and platforms such… | ||
| Transport Layer Security (TLS) v1.3 support in Java | Bradford Wetmore, Xue-Lei Fan | 37m |
Java ships a TLS 1.3 implementation in JDK 11 that lands as about 54,000 lines (70k with tests), implemented under JEP 332 and enabled by default so the HTTP… | ||
| Running a Modern Java EE Server in Containers Inside Kubernetes | David Cabelus, Monica Riccelli, Antonio Nappi | 38m |
Shows how Oracle WebLogic runs containerized on Oracle Cloud Infrastructure Container Engine for Kubernetes using a WebLogic Kubernetes Operator, a Prometheus… | ||
| Caching in Applications Still Matters | Henri Tremblay, Anthony Dahanne | 45m |
Argues that application caching still cuts seconds to milliseconds by using real-world numbers and demos: local hits vs remote REST calls (11s down to ~2ms)… | ||
| Test Automation with Selenium WebDriver, Java, and JUnit | Kito Mann | 46m |
Demonstrates using Selenium WebDriver with Java and JUnit to build runnable UI tests, including a Page Object pattern example, configuring native… | ||
| Build a 12-Factor Microservice with MicroProfile | Emily Jiang | 47m |
Shows how to implement the 12-factor rules with MicroProfile by building two microservices (A calls B) using MicroProfile Config, Fault Tolerance (retries… | ||
| Focusing on the Java Roadmap from a Business Standpoint | Sharat Chander, Brian Cox, Aurelio Garcia-Ribeyro | 44m |
Oracle now ships OpenJDK binaries for Linux, Windows and macOS (64-bit only) and moves Java to a six-month cadence for feature releases; non‑LTS builds get… | ||
| From Zero to Back End in 45 Minutes with Eclipse Vert.x | Jeremy Davis, Jim Tyrrell | 49m |
Builds a RealWorld conduit back end with Eclipse Vert.x from project boot to a working user-registration flow: uses Maven or the Git starter, spins up… | ||
| Integrating Vert.x | Kirk Pepperdine, Clement Escoffier | 42m |
Claims that a desktop GC-analysis engine becomes distributable in days: Censum’s core is migrated to Vert.x verticles and its homemade event bus is replaced by… | ||
| Performance-Tuning Twitter Services with Graal and Machine Learning | Chris Thalinger | 46m |
Twitter runs services on Graal and adds an internal service called Autotune that uses Bayesian optimization to tune three Graal inlining flags… | ||
| Improve Startup Performance and Reduce Footprint with Application Class Data Sharing | Ioi Lam, Jiangli Zhou | 41m |
AppCDS (open-sourced since JDK 10) creates a memory‑mapped archive of class metadata and selected Java objects to cut startup and RAM; JDK 12 ships a JDK 12… | ||
| nothing matches | ||