{"id":2811,"date":"2024-11-17T09:02:37","date_gmt":"2024-11-17T09:02:37","guid":{"rendered":"https:\/\/newdevpoint.in\/?p=2811"},"modified":"2024-11-17T09:02:38","modified_gmt":"2024-11-17T09:02:38","slug":"java-9-to-22","status":"publish","type":"post","link":"https:\/\/newdevpoint.in\/java-9-to-22\/","title":{"rendered":"Java 9 to 22"},"content":{"rendered":"<p>Java has undergone significant changes from <strong>Java 9<\/strong> to <strong>Java 22+<\/strong>, with each version introducing new features, performance improvements, and API updates. Here\u2019s a comprehensive overview of the <strong>essential features<\/strong> introduced from <strong>Java 9<\/strong> to <strong>Java 22<\/strong>.<\/p>\n<h3><strong>Java 9 (Released September 2017)<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>Module System (Project Jigsaw)<\/strong>:<\/p>\n<ul>\n<li>Introduced the <strong>Java Platform Module System (JPMS)<\/strong>, which modularizes the JDK, allowing applications to be divided into smaller modules with defined dependencies.<\/li>\n<li>Improves security and performance by allowing developers to use only the modules required by their application.<\/li>\n<li>Example: <code>module-info.java<\/code> file in a module to declare dependencies.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>JShell (Interactive REPL)<\/strong>:<\/p>\n<ul>\n<li>Provides an interactive <strong>Read-Eval-Print Loop (REPL)<\/strong> tool for quickly testing snippets of code without the need for compiling and running entire classes.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>HTTP\/2 Client (Incubator)<\/strong>:<\/p>\n<ul>\n<li>Introduced the HTTP\/2 client for sending HTTP requests, replacing the old <code>HttpURLConnection<\/code> class.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Private Methods in Interfaces<\/strong>:<\/p>\n<ul>\n<li>Allows <strong>private methods in interfaces<\/strong>, enabling code reuse between default methods.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Enhanced @Deprecated Annotation<\/strong>:<\/p>\n<ul>\n<li>The <code>@Deprecated<\/code> annotation was enhanced with the ability to add reasons for deprecation and provide alternatives via <code>forRemoval<\/code> and <code>since<\/code>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 10 (Released March 2018)<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>Local Variable Type Inference (<code>var<\/code>)<\/strong>:<\/p>\n<ul>\n<li>Introduced <strong>type inference for local variables<\/strong>, allowing developers to declare variables using <code>var<\/code>, which makes the code more concise.<\/li>\n<li>Example: <code>var list = new ArrayList&lt;String&gt;();<\/code><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Garbage Collection Enhancements<\/strong>:<\/p>\n<ul>\n<li><strong>Parallel Full GC for G1<\/strong>: Improved G1 garbage collector by enabling full garbage collection to run in parallel.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Application Class-Data Sharing (AppCDS)<\/strong>:<\/p>\n<ul>\n<li>Allows application classes to be placed in a <strong>shared archive<\/strong>, reducing startup time and memory footprint.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 11 (Released September 2018)<\/strong> \u2013 <strong>LTS Version<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>New HTTP Client API<\/strong>:<\/p>\n<ul>\n<li>Finalized the HTTP\/2 client introduced in Java 9, with support for <strong>WebSockets<\/strong> and asynchronous requests.<\/li>\n<li>Example: <code>HttpClient.newHttpClient().sendAsync(request, BodyHandlers.ofString())<\/code><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>String API Enhancements<\/strong>:<\/p>\n<ul>\n<li>Added methods such as <code>isBlank()<\/code>, <code>lines()<\/code>, <code>strip()<\/code>, <code>repeat()<\/code>, and <code>stripLeading()\/stripTrailing()<\/code>.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Local-Variable Syntax for Lambda Parameters<\/strong>:<\/p>\n<ul>\n<li><code>var<\/code> can be used in <strong>lambda expressions<\/strong> to infer the type of parameters.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Nest-Based Access Control<\/strong>:<\/p>\n<ul>\n<li>Enhanced JVM access rules, allowing classes that are logically nested within each other to access private members without needing synthetic bridge methods.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Removal of Java EE and CORBA Modules<\/strong>:<\/p>\n<ul>\n<li>Java EE (e.g., JAX-WS, JAXB) and CORBA modules were removed from the standard JDK.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 12 (Released March 2019)<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>Switch Expressions (Preview)<\/strong>:<\/p>\n<ul>\n<li>Introduced <strong>switch expressions<\/strong> as a preview feature, allowing the <code>switch<\/code> statement to return values, thus making it more flexible and less error-prone.<\/li>\n<li>Example:\n<pre><code class=\"language-java\">var result = switch (day) {\n case MONDAY -&gt; \"Start of the week\";\n case FRIDAY -&gt; \"End of the week\";\n default -&gt; \"Middle of the week\";\n};<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>JVM Constants API<\/strong>:<\/p>\n<ul>\n<li>Introduced an API for modeling key class-file and runtime artifacts, making it easier to interact with <strong>JVM constants<\/strong>.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Shenandoah Garbage Collector (Experimental)<\/strong>:<\/p>\n<ul>\n<li>Introduced the <strong>Shenandoah GC<\/strong>, a low-pause-time garbage collector optimized for responsiveness.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 13 (Released September 2019)<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>Text Blocks (Preview)<\/strong>:<\/p>\n<ul>\n<li>Introduced <strong>text blocks<\/strong> to simplify writing multiline strings, reducing the need for excessive escape sequences.<\/li>\n<li>Example:\n<pre><code class=\"language-java\">String json = \"\"\"\n {\n   \"name\": \"John\",\n   \"age\": 30\n }\n \"\"\";<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Dynamic CDS Archives<\/strong>:<\/p>\n<ul>\n<li>Enabled <strong>dynamic class data-sharing (CDS)<\/strong> to improve startup performance by allowing the archive to be updated at runtime.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 14 (Released March 2020)<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>Switch Expressions (Standard Feature)<\/strong>:<\/p>\n<ul>\n<li>Finalized <strong>switch expressions<\/strong>, allowing them to return values and simplifying the <code>switch<\/code> syntax.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Pattern Matching for <code>instanceof<\/code> (Preview)<\/strong>:<\/p>\n<ul>\n<li>Simplifies type-checking and casting in <code>instanceof<\/code> checks.<\/li>\n<li>Example:\n<pre><code class=\"language-java\">if (obj instanceof String s) {\n System.out.println(s.toUpperCase());\n}<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Records (Preview)<\/strong>:<\/p>\n<ul>\n<li>Introduced <strong>Records<\/strong>, a new type of class that is ideal for data carriers.<\/li>\n<li>Example:\n<pre><code class=\"language-java\">public record Point(int x, int y) {}<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Helpful NullPointerExceptions<\/strong>:<\/p>\n<ul>\n<li>JVM now provides <strong>detailed messages for NullPointerExceptions<\/strong>, making it easier to debug issues related to null values.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 15 (Released September 2020)<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>Text Blocks (Standard Feature)<\/strong>:<\/p>\n<ul>\n<li>Finalized the <strong>text blocks<\/strong> feature, providing a simpler syntax for multiline strings.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Sealed Classes (Preview)<\/strong>:<\/p>\n<ul>\n<li>Introduced <strong>sealed classes<\/strong>, allowing developers to define which other classes or interfaces may extend or implement them.<\/li>\n<li>Example:\n<pre><code class=\"language-java\">public sealed class Shape permits Circle, Rectangle {}<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Hidden Classes<\/strong>:<\/p>\n<ul>\n<li>Allows the JVM to define <strong>hidden classes<\/strong>, which are not discoverable by other classes, useful for frameworks and proxies.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 16 (Released March 2021)<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>Records (Standard Feature)<\/strong>:<\/p>\n<ul>\n<li><strong>Records<\/strong> were finalized in Java 16, providing a compact syntax for creating data-holding classes.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Pattern Matching for <code>instanceof<\/code> (Standard Feature)<\/strong>:<\/p>\n<ul>\n<li>Finalized pattern matching for <code>instanceof<\/code>, simplifying type casting.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Vector API (Incubator)<\/strong>:<\/p>\n<ul>\n<li>Introduced a <strong>Vector API<\/strong> to allow developers to express vector computations that reliably compile to optimal vector hardware instructions.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 17 (Released September 2021)<\/strong> \u2013 <strong>LTS Version<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>Sealed Classes (Standard Feature)<\/strong>:<\/p>\n<ul>\n<li>Finalized <strong>sealed classes<\/strong>, allowing developers to restrict which classes can extend a particular class.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Pattern Matching for <code>switch<\/code> (Preview)<\/strong>:<\/p>\n<ul>\n<li>Extended pattern matching to the <code>switch<\/code> statement, allowing more expressive and powerful control over complex conditions.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Foreign Function &amp; Memory API (Incubator)<\/strong>:<\/p>\n<ul>\n<li>Introduced a mechanism to access foreign memory and interact with native code safely and efficiently.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 18 (Released March 2022)<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>Simple Web Server<\/strong>:<\/p>\n<ul>\n<li>A built-in simple <strong>HTTP file server<\/strong> was introduced for testing and local development purposes.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>UTF-8 by Default<\/strong>:<\/p>\n<ul>\n<li>Made <strong>UTF-8<\/strong> the default character set for the Java platform, ensuring consistency across different environments.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Code Snippets in Java API Documentation<\/strong>:<\/p>\n<ul>\n<li>Added support for including <strong>code snippets<\/strong> in Javadoc comments, making it easier to document and illustrate code behavior.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 19 (Released September 2022)<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>Virtual Threads (Preview)<\/strong>:<\/p>\n<ul>\n<li>Introduced <strong>virtual threads<\/strong> as part of Project Loom, aimed at making concurrency simpler and more scalable by decoupling thread management from the OS.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Structured Concurrency (Incubator)<\/strong>:<\/p>\n<ul>\n<li>Introduced <strong>structured concurrency<\/strong>, which simplifies concurrent programming by managing multiple threads in a structured way.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 20 (Released March 2023)<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>Continued Virtual Threads and Structured Concurrency (Preview)<\/strong>:<\/p>\n<ul>\n<li>Continued improvements to <strong>virtual threads<\/strong> and <strong>structured concurrency<\/strong> as preview features.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Pattern Matching for <code>switch<\/code> (Second Preview)<\/strong>:<\/p>\n<ul>\n<li>Continued enhancements to <strong>pattern matching<\/strong> for the <code>switch<\/code> statement.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 21 (Released September 2023)<\/strong> \u2013 <strong>LTS Version<\/strong><\/h3>\n<ol>\n<li>\n<p><strong>Virtual Threads (Standard Feature)<\/strong>:<\/p>\n<ul>\n<li>Finalized <strong>virtual threads<\/strong>, simplifying concurrency by allowing millions of threads to be managed efficiently.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Pattern Matching for <code>switch<\/code> (Standard Feature)<\/strong>:<\/p>\n<ul>\n<li>Finalized <strong>pattern matching<\/strong> for the <code>switch<\/code> statement.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Record Patterns (Standard Feature)<\/strong>:<\/p>\n<ul>\n<li>Allows matching of record components directly within patterns.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>String Templates (Preview)<\/strong>:<\/p>\n<ul>\n<li>Introduced <strong>String Templates<\/strong>, allowing embedding expressions directly within strings for easier formatting.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h3><strong>Java 22+ (Upcoming)<\/strong><\/h3>\n<p>While specifics of <strong>Java 22 and beyond<\/strong> are still in development, further enhancements to features like <strong>Project Loom<\/strong> (virtual threads), <strong>Pattern Matching<\/strong>, and <strong>Foreign Function<\/strong> APIs are expected, along with other tools to simplify and improve performance in cloud-native and large-scale distributed applications.<\/p>\n<hr \/>\n<h3><strong>Summary of Key Innovations from Java 9\u201322:<\/strong><\/h3>\n<ol>\n<li><strong>Modularity (Project Jigsaw)<\/strong> \u2013 Java 9<\/li>\n<li><strong>Lambda Improvements and Local Type Inference (var)<\/strong> \u2013 Java 10<\/li>\n<li><strong>New HTTP Client API<\/strong> \u2013 Java 11<\/li>\n<li><strong>Switch Expressions<\/strong> \u2013 Java 12-<\/li>\n<\/ol>\n<p>14<\/p>\n<ol start=\"5\">\n<li><strong>Text Blocks<\/strong> \u2013 Java 13<\/li>\n<li><strong>Records<\/strong> \u2013 Java 14-16<\/li>\n<li><strong>Sealed Classes<\/strong> \u2013 Java 15-17<\/li>\n<li><strong>Virtual Threads (Project Loom)<\/strong> \u2013 Java 19-21<\/li>\n<li><strong>Pattern Matching for instanceof and switch<\/strong> \u2013 Java 14-21<\/li>\n<li><strong>Structured Concurrency<\/strong> \u2013 Java 19-21<\/li>\n<\/ol>\n<p>Java 9 to 22+ has enhanced the language to make it more concise, modular, and suitable for modern cloud-native and parallel computing architectures.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Java has undergone significant changes from Java 9 to Java 22+, with each version introducing new features, performance improvements, and API updates. Here\u2019s a comprehensive overview of the essential features introduced from Java 9 to Java 22. Java 9 (Released September 2017) Module System (Project Jigsaw): Introduced the Java Platform Module System (JPMS), which modularizes [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[97],"tags":[98],"class_list":["post-2811","post","type-post","status-publish","format-standard","hentry","category-java","tag-java"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java 9 to 22 - New Dev Point<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/newdevpoint.in\/java-9-to-22\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java 9 to 22 - New Dev Point\" \/>\n<meta property=\"og:description\" content=\"Java has undergone significant changes from Java 9 to Java 22+, with each version introducing new features, performance improvements, and API updates. Here\u2019s a comprehensive overview of the essential features introduced from Java 9 to Java 22. Java 9 (Released September 2017) Module System (Project Jigsaw): Introduced the Java Platform Module System (JPMS), which modularizes [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/newdevpoint.in\/java-9-to-22\/\" \/>\n<meta property=\"og:site_name\" content=\"New Dev Point\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-17T09:02:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-17T09:02:38+00:00\" \/>\n<meta name=\"author\" content=\"shubham sharma\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"shubham sharma\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/newdevpoint.in\/java-9-to-22\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/newdevpoint.in\/java-9-to-22\/\"},\"author\":{\"name\":\"shubham sharma\",\"@id\":\"\/#\/schema\/person\/7cf41169be58481bdb3e99a21eadf983\"},\"headline\":\"Java 9 to 22\",\"datePublished\":\"2024-11-17T09:02:37+00:00\",\"dateModified\":\"2024-11-17T09:02:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/newdevpoint.in\/java-9-to-22\/\"},\"wordCount\":1000,\"publisher\":{\"@id\":\"\/#\/schema\/person\/7cf41169be58481bdb3e99a21eadf983\"},\"keywords\":[\"JAVA\"],\"articleSection\":[\"JAVA\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/newdevpoint.in\/java-9-to-22\/\",\"url\":\"https:\/\/newdevpoint.in\/java-9-to-22\/\",\"name\":\"Java 9 to 22 - New Dev Point\",\"isPartOf\":{\"@id\":\"\/#website\"},\"datePublished\":\"2024-11-17T09:02:37+00:00\",\"dateModified\":\"2024-11-17T09:02:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/newdevpoint.in\/java-9-to-22\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/newdevpoint.in\/java-9-to-22\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/newdevpoint.in\/java-9-to-22\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/newdevpoint.in\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java 9 to 22\"}]},{\"@type\":\"WebSite\",\"@id\":\"\/#website\",\"url\":\"\/\",\"name\":\"New Dev Point\",\"description\":\"Some problems explained\",\"publisher\":{\"@id\":\"\/#\/schema\/person\/7cf41169be58481bdb3e99a21eadf983\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"\/#\/schema\/person\/7cf41169be58481bdb3e99a21eadf983\",\"name\":\"shubham sharma\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f1878142b2f2ce63d4dba43c0aebc897a83093dcfce8815374bdb905e45562df?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f1878142b2f2ce63d4dba43c0aebc897a83093dcfce8815374bdb905e45562df?s=96&d=mm&r=g\",\"caption\":\"shubham sharma\"},\"logo\":{\"@id\":\"\/#\/schema\/person\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Java 9 to 22 - New Dev Point","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/newdevpoint.in\/java-9-to-22\/","og_locale":"en_US","og_type":"article","og_title":"Java 9 to 22 - New Dev Point","og_description":"Java has undergone significant changes from Java 9 to Java 22+, with each version introducing new features, performance improvements, and API updates. Here\u2019s a comprehensive overview of the essential features introduced from Java 9 to Java 22. Java 9 (Released September 2017) Module System (Project Jigsaw): Introduced the Java Platform Module System (JPMS), which modularizes [&hellip;]","og_url":"https:\/\/newdevpoint.in\/java-9-to-22\/","og_site_name":"New Dev Point","article_published_time":"2024-11-17T09:02:37+00:00","article_modified_time":"2024-11-17T09:02:38+00:00","author":"shubham sharma","twitter_card":"summary_large_image","twitter_misc":{"Written by":"shubham sharma","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/newdevpoint.in\/java-9-to-22\/#article","isPartOf":{"@id":"https:\/\/newdevpoint.in\/java-9-to-22\/"},"author":{"name":"shubham sharma","@id":"\/#\/schema\/person\/7cf41169be58481bdb3e99a21eadf983"},"headline":"Java 9 to 22","datePublished":"2024-11-17T09:02:37+00:00","dateModified":"2024-11-17T09:02:38+00:00","mainEntityOfPage":{"@id":"https:\/\/newdevpoint.in\/java-9-to-22\/"},"wordCount":1000,"publisher":{"@id":"\/#\/schema\/person\/7cf41169be58481bdb3e99a21eadf983"},"keywords":["JAVA"],"articleSection":["JAVA"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/newdevpoint.in\/java-9-to-22\/","url":"https:\/\/newdevpoint.in\/java-9-to-22\/","name":"Java 9 to 22 - New Dev Point","isPartOf":{"@id":"\/#website"},"datePublished":"2024-11-17T09:02:37+00:00","dateModified":"2024-11-17T09:02:38+00:00","breadcrumb":{"@id":"https:\/\/newdevpoint.in\/java-9-to-22\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/newdevpoint.in\/java-9-to-22\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/newdevpoint.in\/java-9-to-22\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/newdevpoint.in\/"},{"@type":"ListItem","position":2,"name":"Java 9 to 22"}]},{"@type":"WebSite","@id":"\/#website","url":"\/","name":"New Dev Point","description":"Some problems explained","publisher":{"@id":"\/#\/schema\/person\/7cf41169be58481bdb3e99a21eadf983"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"\/#\/schema\/person\/7cf41169be58481bdb3e99a21eadf983","name":"shubham sharma","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f1878142b2f2ce63d4dba43c0aebc897a83093dcfce8815374bdb905e45562df?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f1878142b2f2ce63d4dba43c0aebc897a83093dcfce8815374bdb905e45562df?s=96&d=mm&r=g","caption":"shubham sharma"},"logo":{"@id":"\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/newdevpoint.in\/wp-json\/wp\/v2\/posts\/2811","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/newdevpoint.in\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/newdevpoint.in\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/newdevpoint.in\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/newdevpoint.in\/wp-json\/wp\/v2\/comments?post=2811"}],"version-history":[{"count":0,"href":"https:\/\/newdevpoint.in\/wp-json\/wp\/v2\/posts\/2811\/revisions"}],"wp:attachment":[{"href":"https:\/\/newdevpoint.in\/wp-json\/wp\/v2\/media?parent=2811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/newdevpoint.in\/wp-json\/wp\/v2\/categories?post=2811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/newdevpoint.in\/wp-json\/wp\/v2\/tags?post=2811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}