{"id":13694694,"url":"https://github.com/hantsy/java-sandbox","last_synced_at":"2025-04-10T17:43:17.353Z","repository":{"id":142092296,"uuid":"98020712","full_name":"hantsy/java-sandbox","owner":"hantsy","description":"The sandbox for playing the new features introduced in the next generation of Java. ","archived":false,"fork":false,"pushed_at":"2024-09-22T12:25:04.000Z","size":82,"stargazers_count":12,"open_issues_count":0,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T15:21:58.106Z","etag":null,"topics":["java11","java17","java18","java19"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hantsy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-22T09:19:46.000Z","updated_at":"2025-03-04T17:06:39.000Z","dependencies_parsed_at":"2024-09-18T12:58:29.260Z","dependency_job_id":"313d3d9d-c283-410a-9032-03135db05447","html_url":"https://github.com/hantsy/java-sandbox","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hantsy%2Fjava-sandbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hantsy%2Fjava-sandbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hantsy%2Fjava-sandbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hantsy%2Fjava-sandbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hantsy","download_url":"https://codeload.github.com/hantsy/java-sandbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248262236,"owners_count":21074270,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java11","java17","java18","java19"],"created_at":"2024-08-02T17:01:37.644Z","updated_at":"2025-04-10T17:43:17.334Z","avatar_url":"https://github.com/hantsy.png","language":"Java","readme":"# Java Sandbox\n\nThis is a personal sandbox to keep up with the latest Java language features that introduced in Java 8 and later.  \n\n\n## Getting the latest Java Development Kit \n\nYou can download a copy of JDK  redistribution from the following website for development purpose. \n\n* [OpenJDK]( https://openjdk.java.net)\n* [Oracle JDK]( https://java.oracle.com)\n* [AdoptOpenJDK]( https://adoptopenjdk.net/) by London Java User Group,  ([AdoptOpenJDK joins Eclipse Foundation](https://blog.adoptopenjdk.net/2020/06/adoptopenjdk-to-join-the-eclipse-foundation/))\n* [Zulu OpenJDK](https://www.azul.com/downloads/zulu-community/) by Azul\n* [Microsoft OpenJDK](https://www.microsoft.com/openjdk)\n* [BellSoft Liberica JDK](https://bell-sw.com/pages/downloads)\n\nAdditionally, IBM, Amazon, Alibaba, RedHat have maintained their own Java redistributions.  \n\n## Docs\n\n### Java 8(LTS)\n\n\n\n### Java 9\n\nThe long-awaited Java 9 adds a plenty of new features, including the controversial Java Platform Module System, the new Flow API(as Java built-in Reactive Stream implementation), and numerous language improvements.\n\n* [JShell](./docs/jshell.md) \n* [Immutable Collections](./docs/immutable-collections.md)\n* Java Module System\n* Java Flow  API - The ReactiveStream adopting\n\n ### Java 10\n\n\n\n### Java 11(LTS)\n\n\n\n### Java 12\n\n\n\n### Java 13 \n\n* [Pattern matching with *switch*](./docs/pattern-matching.md)\n* [Text block](./docs/text-block.md)\n\n### Java 14\n\n* [Instanceof Pattern Matching](./docs/instanceof-pattern-matching.md)\n* [Helpful NPE Exception Messages](./docs/helpful-npe.md)\n* [Record](./docs/record.md)\n* [Small improvements in Text Block](./docs/java14-text-block-improvement.md)\n\n### Java 15\n\n* [Sealed Classes](./docs/sealed-classes.md)\n\n## Java 16 \n\n* [New `toList()` method in `Stream`](./docs/java16-stream-tolist.md)\n* [Serializing and deserializing `Record` with  Jackson 2.12](./docs/record-jackson.md)\n\n## Java 17 \n* [Java type in switch pattern matching example](./docs/switch-pattern-matching.md)\n\n## References\n\n### Java 9\n\n- [Immutable Collections in Java 9 ](https://dzone.com/articles/immutable-collections-in-java-9), DZone\n- [Process Handling in Java 9 ](https://dzone.com/articles/process-handling-in-java-9), DZone\n- [Immutable Collections Explained](https://github.com/google/guava/wiki/ImmutableCollectionsExplained), Google Guava Github Wiki\n- [What is new in JDK 9](https://www.quora.com/What-is-new-in-JDK-9), Quora\n- [55 New Features in JDK 9 by Simon Ritter](https://goo.gl/d2F7rH), Devoxx Session\n- [Painlessly Migrating to Java Jigsaw Modules - a Case Study](https://www.infoq.com/articles/Java-Jigsaw-Migration-Guide)\n- [Java 9 and Intellij IDEA](https://dzone.com/articles/java-9-and-intellij-idea)\n- [Java Magazine: Sept/Oct 2017](http://www.javamagazine.mozaicreader.com/SeptOct2017#\u0026pageSet=0\u0026page=0\u0026contentItem=0)\n- [Java 9: The Good, the Bad, and Private Interface Methods ](https://dzone.com/articles/java-9-the-good-the-bad-and-private-interface-meth)\n\n\n\n### Java 11\n\n* [A closer look at the Java 11 HTTP Client](https://golb.hplar.ch/2019/01/java-11-http-client.html)\n* [Introduction to the Java HTTP Client](https://openjdk.java.net/groups/net/httpclient/intro.html)\n* [(Java HTTP Client) Examples and Recipes](https://openjdk.java.net/groups/net/httpclient/recipes.html)\n\n### Java 12\n* [New switch Expressions in Java 12](https://blogs.oracle.com/javamagazine/new-switch-expressions-in-java-12)\n\n### Java 13\n* [Inside Java 13’s switch Expressions and Reimplemented Socket API](https://blogs.oracle.com/javamagazine/inside-java-13s-switch-expressions-and-reimplemented-socket-api)\n* [Oracle blog: the arrival of Java 13](https://blogs.oracle.com/java-platform-group/the-arrival-of-java-13)\n* [Text Blocks Come to Java](https://blogs.oracle.com/javamagazine/text-blocks-come-to-java)\n* [81 New Features and APIs in JDK 13 ](https://dzone.com/articles/81-new-features-and-apis-in-jdk-13)\n* [DZone Refcard #318: Java 13](https://dzone.com/refcardz/java-13-1?chapter=1)\n* [Programmer's Guide To Text Blocks](http://cr.openjdk.java.net/~jlaskey/Strings/TextBlocksGuide_v9.html) \n* [Definitive Guide To Switch Expressions In Java 13](https://blog.codefx.org/java/switch-expressions/)\n* [Java 13 – a deep dive into the JDK’s new features](https://jaxenter.com/java-13-jdk-deep-dive-new-features-162272.html), JAXcenter\n* [Java 13 – why text blocks are worth the wait](https://jaxenter.com/java-13-text-blocks-162278.html), JAXcenter \n* [Java 13 and IntelliJ IDEA](https://blog.jetbrains.com/idea/2020/03/java-14-and-intellij-idea/)\n\n### Java 14\n\n* [Records come to Java](https://blogs.oracle.com/javamagazine/records-come-to-java)\n* [Java 14 Arrives with a Host of New Features](https://blogs.oracle.com/javamagazine/java-14-arrives-with-a-host-of-new-features)\n* [Java 14 Feature Spotlight: Records ](https://www.infoq.com/articles/java-14-feature-spotlight/)\n* [JEP 359: Records (Preview)](https://openjdk.java.net/jeps/359)\n* [Java 14: instanceOf Pattern Matching](https://javabeginnerstutorial.com/core-java-tutorial/java-14-instanceof-pattern-matching/)\n* [Java 14: JDK 14 arriving today](https://jaxenter.com/java-14-update-news-163585.html) by Jaxcenter\n* [New features between Java 8 and Java 14](https://ondro.inginea.eu/index.php/new-features-between-java-8-and-java-14/)\n* [Java 14 and IntelliJ IDEA](https://blog.jetbrains.com/idea/2020/03/java-14-and-intellij-idea/)\n* [A categorized list of all Java and JVM features since JDK 8 to 14](https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-14/)\n\n\n### Java 15\n* [Java Feature Spotlight: Sealed Classes ](https://www.infoq.com/articles/java-sealed-classes/)\n* [Java 15 Features: Sealed and Hidden Classes, Pattern Matching And Text Blocks](https://medium.com/better-programming/java-15-features-sealed-and-hidden-classes-pattern-matching-and-text-blocks-38f4efdc8adc)\n* [Inside Java 15: Fourteen JEPs in five buckets](https://blogs.oracle.com/javamagazine/inside-java-15-fourteen-jeps-in-five-buckets)\n\n## Java 16\n\n* [Java 16 and IntelliJ IDEA](https://blog.jetbrains.com/idea/2021/03/java-16-and-intellij-idea/)\n* [Java 16 Released ](https://www.infoq.com/news/2021/03/java16-released/)\n* [What We Know about Java 16 and 17 So Far ](https://www.infoq.com/news/2020/11/java16-so-far/)\n\n","funding_links":[],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhantsy%2Fjava-sandbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhantsy%2Fjava-sandbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhantsy%2Fjava-sandbox/lists"}