Java SE 11 Developer study materials
Java SE 11 Developer study resources

Java SE 11 Developer case studies

Java SE 11 Developer · Put your knowledge to work in context.

The Java SE 11 Developer credential is Oracle's professional-level certification for programmers who already write Java and want independent proof that they can build, refactor, and debug real applications on Java SE 11. It is aimed at developers with hands-on experience across the language and core libraries, not at beginners learning syntax. The Java SE 11 Developer case studies are 5 cases and about 4,299 words.

1

Split Package Blocks the Module-Path Migration

A team is moving a Java 8 billing application to Java 11 and wants to launch it as a named module. The build produces four jars: com.acme.app (the launcher, with module-info ), com.acme.core (with module-info , exports com.acme.core.api ), com.acme.report (with module-info ), and acme-legacy-3.2.jar , which has no module-info and contains both com.acme.legacy and com.acme.util .

849 words, about 4 min
2

Cache Stalls, a Recursive Update, and One Shared Formatter

A pricing service caches 5,000 SKUs in a ConcurrentHashMap<String, Price shared by a 32-thread request pool. Load tests show a p99 of 3.8 s even for keys that were cached minutes earlier, while CPU stays under 15 percent and thread dumps show most workers parked in WAITING.

869 words, about 4 min
3

Parallel Side Effects in a 1.2 Million Row Trade Report

A reporting job processes 1,200,000 trades. Three pipelines are under investigation.

819 words, about 4 min
4

Suppressed Exceptions and Misused Assertions in a Nightly Import

A nightly importer reads a CSV through a custom resource: CsvSource.close() declares IOException ; store throws IOException when the disk fills; metrics.flush() can throw an unchecked MetricsException . The build fails on this class.

900 words, about 5 min
5

Upload Hardening: Traversal, Deserialization, and XXE

A document portal on Java 11 accepts multipart uploads. The handler does Path target = Paths.get("/srv/docs", filename); Files.copy(part.getInputStream(), target); using the filename from the multipart header.

862 words, about 4 min