{"id":15563263,"url":"https://github.com/jveverka/java-17-examples","last_synced_at":"2025-04-23T23:22:47.573Z","repository":{"id":101222663,"uuid":"281492161","full_name":"jveverka/java-17-examples","owner":"jveverka","description":"JDK 17 examples and demo projects","archived":false,"fork":false,"pushed_at":"2022-12-18T23:11:05.000Z","size":98,"stargazers_count":26,"open_issues_count":1,"forks_count":25,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-30T04:31:45.686Z","etag":null,"topics":["java","java-12","java-13","java-14","java-15","java-16","java-17"],"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/jveverka.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":"2020-07-21T20:00:18.000Z","updated_at":"2025-03-26T15:54:21.000Z","dependencies_parsed_at":"2023-03-22T15:03:19.781Z","dependency_job_id":null,"html_url":"https://github.com/jveverka/java-17-examples","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/jveverka%2Fjava-17-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jveverka%2Fjava-17-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jveverka%2Fjava-17-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jveverka%2Fjava-17-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jveverka","download_url":"https://codeload.github.com/jveverka/java-17-examples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250529909,"owners_count":21445693,"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":["java","java-12","java-13","java-14","java-15","java-16","java-17"],"created_at":"2024-10-02T16:20:54.056Z","updated_at":"2025-04-23T23:22:47.564Z","avatar_url":"https://github.com/jveverka.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Java15](https://img.shields.io/badge/java-17-blue)](https://img.shields.io/badge/java-17-blue)\n[![Gradle](https://img.shields.io/badge/gradle-v7-blue)](https://img.shields.io/badge/gradle-v7-blue)\n![Build and Test](https://github.com/jveverka/java-17-examples/workflows/Build%20and%20Test/badge.svg)\n\n# Java 17 examples\n\n*This project is __WIP__* ! Stay tuned.\n\nThis project aggregates examples of new Java and JVM features between versions 12 and 17 \nas well as practical java examples tailored for Java 17.\n\n### Environment setup\nMake sure following software is installed on your PC.\n* [OpenJDK 17](https://adoptium.net/releases.html?variant=openjdk17\u0026jvmVariant=hotspot) or later.\n* [Gradle 7.3](https://gradle.org/install/) or later\n* [docker.io 20.x](https://www.docker.com/) or later \n\nPlease check [system requirements](docs/system-requirements.md) before. \n\n### Compile \u0026 Test\nMost examples are build by top-level gradle project.\n```\ngradle clean build test installDist distZip\n```\n\n### Examples\n* Most interesting [JEPs](http://openjdk.java.net/jeps/1) implemented in JDK12 - JDK17\n  * [__JEP 359, 384: Records__](jep-examples/jep-384_records)\n  * [JEP 325, 354, 361: Switch Expressions](https://openjdk.java.net/jeps/361)\n  * [JEP 353: Reimplement the Legacy Socket API](https://openjdk.java.net/jeps/353)\n  * [__JEP 355, 368, 378: Text Blocks__](jep-examples/jep-378_text-blocks)\n  * [JEP 305: Pattern Matching for instanceof](https://openjdk.java.net/jeps/305)\n  * [__JEP 358: Helpful NullPointerExceptions__](jep-examples/jep-358_helpful-npe)\n  * [JEP 373: Reimplement the Legacy DatagramSocket API](https://openjdk.java.net/jeps/373)\n  * [JEP 370, 383: Foreign-Memory Access API](https://openjdk.java.net/jeps/383)\n  * [JEP 339: Edwards-Curve Digital Signature Algorithm (EdDSA)](https://openjdk.java.net/jeps/339)\n  * [JEP 360: Sealed Classes (Preview)](https://openjdk.java.net/jeps/360)\n  * [JEP 371: Hidden Classes](https://openjdk.java.net/jeps/371)\n\n### JDK12 - JDK17 Features\n* JDK12 [2019-03-19] [Feature list](https://openjdk.java.net/projects/jdk/12/)\n* JDK13 [2019-09-17] [Feature list](https://openjdk.java.net/projects/jdk/13/)\n* JDK14 [2020-03-17] [Feature list](https://openjdk.java.net/projects/jdk/14/)\n* JDK15 [2020-09-15] [Feature list](https://openjdk.java.net/projects/jdk/15/)\n* JDK16 [2021-03-16] [Feature list](https://openjdk.java.net/projects/jdk/16/)\n* JDK17 [2021-09-14] [Feature list](https://openjdk.java.net/projects/jdk/17/)\n\n### References\n[Java 11 examples](https://github.com/jveverka/java-11-examples) \n[A peek into Java 17](https://blogs.oracle.com/javamagazine/java-runtime-encapsulation-internals)\n\n_Enjoy !_ \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjveverka%2Fjava-17-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjveverka%2Fjava-17-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjveverka%2Fjava-17-examples/lists"}