{"id":6916,"date":"2021-08-06T10:25:55","date_gmt":"2021-08-06T04:55:55","guid":{"rendered":"https:\/\/www.innovationm.com\/blog\/?p=6916"},"modified":"2021-08-06T10:27:12","modified_gmt":"2021-08-06T04:57:12","slug":"latest-features-of-java-16","status":"publish","type":"post","link":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/","title":{"rendered":"Latest Features Of Java 16"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Java is one of the most powerful programming languages in the software world. Recently,\u00a0<\/span><b>Java 16<\/b><span style=\"font-weight: 400;\">, the latest version of Java has been released on\u00a0<\/span><b>16th March 2021.<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Oracle announced the availability of\u00a0<\/span><b>Java 16 (JDK 16)<\/b><span style=\"font-weight: 400;\">\u00a0with 17 new enhancements to the platform. This latest Java Development Kit release comes with language enhancements, new tools, and improved memory management to improve developer productivity and flexibility.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">According to IDC\u2019s latest report\u00a0<\/span><a href=\"https:\/\/www.oracle.com\/a\/ocom\/resources\/java-turns-25.pdf\"><span style=\"font-weight: 400;\">\u201cJava Turns 25\u201d<\/span><\/a><span style=\"font-weight: 400;\">, over nine million developers representing 69% of full-time developers worldwide use Java \u2013 this is more than any other language.<\/span><\/p>\n<h2><strong>Java 16: What\u2019s New?<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">JDK 16 offers performance, security, and stability updates along with 17 main changes that are known as\u00a0<\/span><b>JDK Enhancement Proposals \u2013 JEPs<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h2><strong>Key Highlights Of Java 16:<\/strong><\/h2>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Language enhancements that were introduced in JDK 14 and finalized in JDK 16<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Improved memory management<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">New Packaging Tool<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">UNIX-Domain Socket Channels<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Warning for Value-based Classes<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Encapsulating JDK Internals by default<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Enable C++ 14 Language Features<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Incubating and Preview Features<\/span><\/li>\n<\/ul>\n<h3><strong>Language Enhancement:<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Pattern matching and records were introduced in Java 14 as preview features and are now implemented in Java 16.<\/span><\/p>\n<ul>\n<li aria-level=\"1\">\n<h4><b><i>Pattern Matching For Instanceof:<\/i><\/b><\/h4>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The instanceof operator in Java is used to check object reference. It returns an either true or false values and checks whether an object belongs to a parent class, child class, or an interface. It is also used to check the type of object.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If this result returns true, the next step is to explicitly cast it to the specific type that is being compared. Pattern Matching for instance in Java helps remove redundant code of casting by introducing Pattern Matching variable.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">With this JEP, the instanceof operator comes with a pattern variable. If the instanceof condition is true, the pattern variable binds to the variable being compared. This removes the need for explicit casting and allows conditional extraction of components from objects more safely and clearly.<\/span><\/p>\n<ul>\n<li aria-level=\"1\">\n<h4><b><i>Records:<\/i><\/b><\/h4>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Another feature that was introduced in Java 14 and Java 15 is Records. Record is a special Java class that offers a compact syntax for defining immutable data classes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This will simplify passing immutable data between objects. Before this, it was a mundane task to pass immutable data as it required boilerplate methods and classes. Record simply designed to hold data in it.<\/span><\/p>\n<h4><strong>Improved Memory Management<i>:<\/i><\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">These two new features are introduced in Java 16 \u2013 Elastic Metaspace and ZGC: Concurrent Thread-Stack Processing.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We will see these two features in detail.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\">\n<h4><b><i>Elastic Metaspace:<\/i><\/b><\/h4>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The primary function of Metaspace is to manage memory for class metadata. Elastic Metaspace is introduced to improve the allocation and deallocation of metaspace memory in the HotSpot JVM. This is used to return unneeded memory to the OS more quickly, thereby reducing overhead and memory fragmentation.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It allocates memory in smaller chunks and improves elasticity by returning unused metaspace memory to the OS. It leads to greater performance and reduced maintenance costs.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\">\n<h4><b><i>ZGC: Concurrent Thread-Stack Processing:<\/i><\/b><\/h4>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Oracle\u2019s Z Garbage Collector is one of the low-latency collectors in the HotSpot JVM. This JEP moves ZGC thread-stack processing from safepoints to a concurrent phase.<\/span><\/p>\n<h3><strong>New Packaging Tool:<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">This was also introduced in Java 14 as an incubator module. This new Packaging tool can be used for packaging self-contained Java applications. To give users a natural installation experience, it supports native packaging formats.<\/span><\/p>\n<h3><strong>Unix-Domain Socket Channel:<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Unix-Domain sockets are similar to TCP\/IP sockets and are used for inter-process communication (IPC) on the same host OS. Unlike TCP\/IP sockets, these sockets are addressed by file system pathnames rather than IP addresses and port numbers.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">They are more secure and efficient than TCP\/IP loopback connections. Java 16 adds support for all of the features of UNIX-domain sockets. Now, Java\u2019s socket channel\/server-socket channel API can use Unix domain sockets for faster and efficient IPC on the same host. Before Java 16, this was limited to TCP\/IP sockets.<\/span><\/p>\n<h3><strong>Warning For Value-based Classes:<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">This JEP designates the primitive wrapper classes as value-based and deprecates their constructors for removal, causing new deprecation warnings.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It provides warnings on improper attempts to synchronize on instances of any value-based classes.<\/span><\/p>\n<h3><strong>Encapsulating JDK Internals By Default:<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">This is implemented with a goal to continuously improve the security and maintainability of the JDK. This JEP denotes the strong encapsulation of all internal elements of the JDK \u2013 except for some critical internal APIs.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This further encourages developers to migrate from using internal elements to using standard APIs, so developers can easily upgrade to future Java releases.<\/span><\/p>\n<h3><strong>Enable C++ 14 Language Features:<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">This JEP enables the use of C++14 language features in JDK C++ source code. It also offers guidance on which of these features may be used in HotSpot code.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This JEP, along with JEP 357 and JEP 369 is focused to improve productivity for OpenJDK developers.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The abovementioned JEPs migrate the source code repositories of the OpenJDK community from Mercurial to Git and host OpenJDK\u2019s Git repositories on GitHub.<\/span><\/p>\n<h4><strong>Incubating And Preview Features:<\/strong><\/h4>\n<ul>\n<li aria-level=\"1\">\n<h4><b><i>Vector API:<\/i><\/b><\/h4>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">This Incubator Vector API is an initial iteration of an incubator vector module. It expresses vector computations that compile at runtime to optimal vector hardware instructions. This vector API is based on the principle that Java developers should be able to use any native library that is required for a particular task.<\/span><\/p>\n<ul>\n<li aria-level=\"1\">\n<h4><b><i>Foreign Linker API:<\/i><\/b><\/h4>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">This API offers statically typed, pure Java access to native code.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\">\n<h4><b><i>Foreign-Memory Access API:<\/i><\/b><\/h4>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">It allows Java programs to safely and efficiently access foreign memory outside of the Java heap. It also provides the foundation for the Foreign Linker API.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\">\n<h4><b><i>Sealed Classes:<\/i><\/b><\/h4>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">This second preview of sealed classes restricts which other classes or interfaces may extend or implement them. It allows the author to control which code is responsible for implementing it.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Java is one of the most powerful programming languages in the software world. Recently,\u00a0Java 16, the latest version of Java has been released on\u00a016th March 2021. Oracle announced the availability of\u00a0Java 16 (JDK 16)\u00a0with 17 new enhancements to the platform. This latest Java Development Kit release comes with language enhancements, new tools, and improved [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6920,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[256],"tags":[695,696,692,694,693,697],"class_list":["post-6916","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java-application","tag-features-in-java-16","tag-features-of-jdk-java-16","tag-java-update","tag-jdk-java-16","tag-latest-features-of-java-16","tag-latest-jdk-16-features"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JDK 16 (JAVA Update) - Latest Features Of Java 16<\/title>\n<meta name=\"description\" content=\"Highlights of the latest upgrade of standard Java 16 include primitive classes, sealed classes, records, a vector API, and ports for Windows.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JDK 16 (JAVA Update) - Latest Features Of Java 16\" \/>\n<meta property=\"og:description\" content=\"Highlights of the latest upgrade of standard Java 16 include primitive classes, sealed classes, records, a vector API, and ports for Windows.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/\" \/>\n<meta property=\"og:site_name\" content=\"InnovationM - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-06T04:55:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-06T04:57:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/08\/Latest-Features-Of-Java-16-1024x576.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"InnovationM Admin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"InnovationM Admin\" \/>\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:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/\"},\"author\":{\"name\":\"InnovationM Admin\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"headline\":\"Latest Features Of Java 16\",\"datePublished\":\"2021-08-06T04:55:55+00:00\",\"dateModified\":\"2021-08-06T04:57:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/\"},\"wordCount\":937,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/Latest-Features-Of-Java-16.png\",\"keywords\":[\"features in Java 16\",\"features of JDK Java 16\",\"JAVA Update\",\"JDK Java 16\",\"Latest Features Of Java 16\",\"Latest JDK 16 Features\"],\"articleSection\":[\"Java Application\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/\",\"name\":\"JDK 16 (JAVA Update) - Latest Features Of Java 16\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/Latest-Features-Of-Java-16.png\",\"datePublished\":\"2021-08-06T04:55:55+00:00\",\"dateModified\":\"2021-08-06T04:57:12+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"description\":\"Highlights of the latest upgrade of standard Java 16 include primitive classes, sealed classes, records, a vector API, and ports for Windows.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/Latest-Features-Of-Java-16.png\",\"contentUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/Latest-Features-Of-Java-16.png\",\"width\":3556,\"height\":2000,\"caption\":\"Latest Features Of Java 16\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/latest-features-of-java-16\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Latest Features Of Java 16\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\",\"name\":\"InnovationM - Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\",\"name\":\"InnovationM Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"caption\":\"InnovationM Admin\"},\"sameAs\":[\"http:\\\/\\\/www.innovationm.com\\\/\"],\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/author\\\/innovationmadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JDK 16 (JAVA Update) - Latest Features Of Java 16","description":"Highlights of the latest upgrade of standard Java 16 include primitive classes, sealed classes, records, a vector API, and ports for Windows.","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:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/","og_locale":"en_US","og_type":"article","og_title":"JDK 16 (JAVA Update) - Latest Features Of Java 16","og_description":"Highlights of the latest upgrade of standard Java 16 include primitive classes, sealed classes, records, a vector API, and ports for Windows.","og_url":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/","og_site_name":"InnovationM - Blog","article_published_time":"2021-08-06T04:55:55+00:00","article_modified_time":"2021-08-06T04:57:12+00:00","og_image":[{"width":1024,"height":576,"url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/08\/Latest-Features-Of-Java-16-1024x576.png","type":"image\/png"}],"author":"InnovationM Admin","twitter_misc":{"Written by":"InnovationM Admin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/#article","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/"},"author":{"name":"InnovationM Admin","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"headline":"Latest Features Of Java 16","datePublished":"2021-08-06T04:55:55+00:00","dateModified":"2021-08-06T04:57:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/"},"wordCount":937,"commentCount":0,"image":{"@id":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/08\/Latest-Features-Of-Java-16.png","keywords":["features in Java 16","features of JDK Java 16","JAVA Update","JDK Java 16","Latest Features Of Java 16","Latest JDK 16 Features"],"articleSection":["Java Application"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/","url":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/","name":"JDK 16 (JAVA Update) - Latest Features Of Java 16","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/#primaryimage"},"image":{"@id":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/08\/Latest-Features-Of-Java-16.png","datePublished":"2021-08-06T04:55:55+00:00","dateModified":"2021-08-06T04:57:12+00:00","author":{"@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"description":"Highlights of the latest upgrade of standard Java 16 include primitive classes, sealed classes, records, a vector API, and ports for Windows.","breadcrumb":{"@id":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/#primaryimage","url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/08\/Latest-Features-Of-Java-16.png","contentUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/08\/Latest-Features-Of-Java-16.png","width":3556,"height":2000,"caption":"Latest Features Of Java 16"},{"@type":"BreadcrumbList","@id":"https:\/\/www.innovationm.com\/blog\/latest-features-of-java-16\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.innovationm.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Latest Features Of Java 16"}]},{"@type":"WebSite","@id":"https:\/\/www.innovationm.com\/blog\/#website","url":"https:\/\/www.innovationm.com\/blog\/","name":"InnovationM - Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.innovationm.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed","name":"InnovationM Admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","caption":"InnovationM Admin"},"sameAs":["http:\/\/www.innovationm.com\/"],"url":"https:\/\/www.innovationm.com\/blog\/author\/innovationmadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/6916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/comments?post=6916"}],"version-history":[{"count":0,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/6916\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media\/6920"}],"wp:attachment":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media?parent=6916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/categories?post=6916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/tags?post=6916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}