{"id":73272,"date":"2019-10-15T09:47:04","date_gmt":"2019-10-15T09:47:04","guid":{"rendered":"https:\/\/www.whizlabs.com\/blog\/?p=73272"},"modified":"2019-10-23T11:39:27","modified_gmt":"2019-10-23T11:39:27","slug":"java-12-features","status":"publish","type":"post","link":"https:\/\/www.whizlabs.com\/blog\/java-12-features\/","title":{"rendered":"New Enhancements in Java 12 Features"},"content":{"rendered":"<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">The popularity of many programming languages is one of the formidable highlights that we notice in the IT world. However, one of the programming languages has never failed to lose its reputation that is Java. Java is as popular now as it was 23 years ago when it was introduced. Recently, the latest release of Java came to the market with the Java Development Kit (JDK) 12. In this discussion, we&#8217;ll throw light on the Java 12 features.<\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">The excitement to know more about Java 12 features is skyrocketing in the present times. Since the major release of Java SE 9+, Java follows a six-month release cycle. This is a clear indicator that the programming language and virtual machine are going through faster improvements to cope with rapid technology innovation.<\/span><\/p>\n<p><a href=\"https:\/\/www.whizlabs.com\/ocpjd-java-se-11-programmer-i\/practice-tests\/\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter wp-image-72679 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/08\/java-1z0-815-practice-tests.jpg\" alt=\"\" width=\"728\" height=\"90\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/08\/java-1z0-815-practice-tests.jpg 728w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/08\/java-1z0-815-practice-tests-300x37.jpg 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/08\/java-1z0-815-practice-tests-640x79.jpg 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/08\/java-1z0-815-practice-tests-681x84.jpg 681w\" sizes=\"(max-width: 728px) 100vw, 728px\" \/><\/a><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #ea7e02;color:#ea7e02\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #ea7e02;color:#ea7e02\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.whizlabs.com\/blog\/java-12-features\/#Whats_New_in_Java_12_Features\" >What&#8217;s New in Java 12 Features<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.whizlabs.com\/blog\/java-12-features\/#New_Additions\" >New Additions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.whizlabs.com\/blog\/java-12-features\/#Shenandoah\" >Shenandoah<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.whizlabs.com\/blog\/java-12-features\/#Garbage_Collector_Updates\" >Garbage Collector Updates<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.whizlabs.com\/blog\/java-12-features\/#Switch_Expressions\" >Switch Expressions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.whizlabs.com\/blog\/java-12-features\/#Microbenchmark_suite_Default_CDS_archives_and_JVM_Constants_API\" >Microbenchmark suite, Default CDS archives, and JVM Constants API<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.whizlabs.com\/blog\/java-12-features\/#Multiple_Improvements\" >Multiple Improvements<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.whizlabs.com\/blog\/java-12-features\/#New_Java_Flight_Recorder_Security_Events\" >New Java Flight Recorder Security Events<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"p1\" style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Whats_New_in_Java_12_Features\"><\/span><span class=\"s1\">What&#8217;s New in Java 12 Features<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">Every new version of Java since Java SE 9 till the latest Java 12 has new changes. While we attempt to take a look at what\u2019s new in Java 12, the bundle of changes is inevitable. They can include library additions, modifications in the JDK clean-up process, and new language features. So, the following discussion aims to point out the different new features that you can get with Java 12. <\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li class=\"p1\" style=\"text-align: justify;\">\n<h3><span class=\"ez-toc-section\" id=\"New_Additions\"><\/span>New Additions<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/li>\n<\/ul>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">The first entry among Java 12 new features is visible in the facility of support for Unicode 11. With the new Java 12 release, support for Unicode 11.0.0 is no more an issue. Java 11 features included support for Unicode 10.0.0. Now, after the introduction of new features of Unicode 11.0.0, Java 12 provides updated support for the additions. <\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">The new features under concern here include 684 new characters, 11 new blocks, and seven new scripts. The 684 new characters primarily involve additions such as 66 emoji characters and a Copyleft symbol. The other new characters include half stars for rating systems, Xiangqi Chinese chess symbols, and additional astrological symbols. <\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">The new Java 12 features also include seven new scripts such as Sogdian, Old Sogdian, Medefaidrin, Hanifi Rohingya, Dogra, Makassar, and Gunjala Gondi. Among the 11 new blocks in Java 12, seven blocks are ideal for these new scripts. The remaining four blocks are ideal for the existing scripts. The existing scripts include Chess Symbols, Georgian Extended, Indic Siyaq Numbers, and Mayan Numerals.\u00a0<\/span><\/p>\n<blockquote><p>Java SE 11 Developer is the most recent certification for Java professionals to validate their skills. If you&#8217;re preparing to become Java 11 developer, check how you can achieve <a href=\"https:\/\/www.whizlabs.com\/blog\/ocp-java-se-11-developer-certification\/\" target=\"_blank\" rel=\"noopener noreferrer\">Oracle Certified Java SE 11 Developer certification<\/a>.<\/p><\/blockquote>\n<ul style=\"text-align: justify;\">\n<li class=\"p1\" style=\"text-align: justify;\">\n<h3><span class=\"ez-toc-section\" id=\"Shenandoah\"><\/span><span class=\"s1\">Shenandoah<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/li>\n<\/ul>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">The next entry among new features with a <a href=\"https:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/jdk12-downloads-5295953.html\" target=\"_blank\" rel=\"noopener noreferrer\">Java 12 download<\/a> is the low pause-time garbage collector, Shenandoah. This new garbage collection (GC) algorithm is experimental. Shenandoah is ideal for applications that demand higher responsiveness and better predictability of short pauses. Shenandoah is one of the striking new Java 12 features that can improve the performance of programs. <\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">This algorithm can help programs to run with the available memory capacity. Shenandoah also helps in the optimization of programs to prevent interruptions in running programs lasting more than a few milliseconds. The Shenandoah algorithm supports the garbage collection pause-time by implementing evacuation work in unison with running Java threads. Shenandoah helps in trading concurrent CPU cycles and space for introducing pause time improvements. <\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">Most important of all, the pause times do not depend on heap size, thereby implying the facility of consistent pause-times. However, Oracle also states clearly that this new algorithm is not meant for addressing all JVM pause issues. If JVM pause issues arise for monitoring inflation of the application or due to Time to Safe Point (TTSP), then the Shenandoah algorithm is irrelevant. <\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li class=\"p1\" style=\"text-align: justify;\">\n<h3><span class=\"ez-toc-section\" id=\"Garbage_Collector_Updates\"><\/span><span class=\"s1\">Garbage Collector Updates<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/li>\n<\/ul>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">Another finding which you can stumble upon while finding what\u2019s new in Java 12 refers to the improvements in G1. The G1 garbage collector got two new updates in Java 12. The first update is known as \u201cAbortable Mixed Collections for G1\u201d. This update is meant for ensuring that G1 mixed collections are abortable upon exceeding the pause limit. Presently, G1 implements an analysis engine for identifying the amount of work to conduct in the course of a collection. <\/span><\/p>\n<h3 class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\"><a href=\"https:\/\/www.whizlabs.com\/ocpjd-java-se-11-programmer-ii\/practice-tests\/\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"wp-image-72676 size-full alignleft\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/08\/java-izo-816-practice-tests.jpg\" alt=\"1Z0-816 Practice Tests\" width=\"300\" height=\"250\" \/><\/a><\/span><\/h3>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">After determining the collection set and starting the collection, G1 should collect all live objects in all collection set regions without interruptions. As a result, the garbage collector could exceed its pause time limit. The Abortable Mixed Collections for G1 update in Java 12 new features help in resolving this issue. <\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">The next update is \u201cPromptly Return Unused Committed Memory from G1\u201d. The new G1 update improves the performance of garbage collectors by returning unused committed memory.\u00a0<\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">G1 always tries to avoid full GCs, and it triggers concurrent cycles based on Java heap occupancy and allocation activity. Therefore, G1 would never return Java heap memory in many cases without any external intervention. With the new Promptly Return Unused Committed Memory from G1, the garbage collector returns Java heap memory to OS. The only condition here is that the G1 should be idle. <\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li class=\"p1\" style=\"text-align: justify;\">\n<h3><span class=\"ez-toc-section\" id=\"Switch_Expressions\"><\/span><span class=\"s1\">Switch Expressions<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/li>\n<\/ul>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">Another formidable highlight which you can come across in a new Java 12 download refers to Switch Expressions. The new JEP is ideal for the extension of the switch statement. The switch statement is a multi-tier branch statement that helps in the easier dispatch of execution to various components in code. Switch statement refers to the value of the expressions for dispatching execution. With new Java 12 features, you can use the switch as an expression or even as a statement. As a result, users can avail of simplification of the coding process.<\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">Furthermore, this new feature in Java 12 also prepares the foundation for another feature. The new feature is known as Pattern Matching, for instance of and also has the code JEP305. Generally, the highly verbose and visually confusing code can make it hard to find and debug certain errors. In the case of Switch, a missing break statement could be the reason for considerable anomalies. However, with the new Java 12 features, you can find a new switch label written as \u201ccase L -&gt;.\u201d The new switch label implies the execution of code to the right of the arrow upon finding matching labels.<\/span><\/p>\n<blockquote><p>Also Read: <a href=\"https:\/\/www.whizlabs.com\/blog\/things-java-developers-should-learn\/\" target=\"_blank\" rel=\"noopener noreferrer\">Must Have Skills for Java Developers<\/a><\/p><\/blockquote>\n<ul style=\"text-align: justify;\">\n<li class=\"p1\" style=\"text-align: justify;\">\n<h3><span class=\"ez-toc-section\" id=\"Microbenchmark_suite_Default_CDS_archives_and_JVM_Constants_API\"><\/span><span class=\"s1\">Microbenchmark suite, Default CDS archives, and JVM Constants API<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/li>\n<\/ul>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">The other new features in Java 12 include JVM Constants API, Microbenchmark suite, and Default CDS archives. The Default CDS archives in Java 12 features improve the JDK build process for developing a class data sharing archive. As a result, it can effectively improve out-of-the-box startup time. Microbenchmark suite feature in Java 12 also helps with a basic collection of microbenchmarks to JDK source code. <\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">This can help developers in running current benchmarks alongside creating new ones. The introduction of JVM Constants API as new Java 12 features is also a striking highlight in Java 12. The JVM Constants API can help in modeling nominal descriptions of important run-time and class-file artifacts. Examples of such artifacts include the constants which can be loaded from the constant pool. This API is the ideal instrument for tools involved in the manipulation of Java classes and methods. <\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li class=\"p1\" style=\"text-align: justify;\">\n<h3><span class=\"ez-toc-section\" id=\"Multiple_Improvements\"><\/span><span class=\"s1\">Multiple Improvements<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/li>\n<\/ul>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">Apart from these formidable features, Java 12 also brings many other additions with it. The support for Compact Number Formatting is one of the Java 12 features that attract attention. The \u2018NumberFormat\u2019 helps in representing a number in a human-readable or short form. The specifications of LDML for Compact Number Formats define compact number formats. <\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\"><img decoding=\"async\" class=\"size-full wp-image-73306 alignright\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/300X250.jpg\" alt=\"1Z0-817 Practice Tests\" width=\"300\" height=\"250\" \/>The factory methods in \u2018NumberFormat\u2019 such as NumberFormat.Style help in compact number formatting.\u00a0<\/span><span class=\"s1\">Most important of all, Java 12 provides a new feature in the form of command-line flag \u201c-XX: +ExtensiveErrorReports.\u201d This feature enables extensive reporting of information about a specific crash documented in the \u201chs_err&lt;pid&gt;.log\u201d file. <\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">You should note that this feature is not active by default in product builds. In the case of maximal information requirements, this command-line flag provides credible advantages.<\/span><\/p>\n<p><span class=\"s1\">Another noticeable feature in Java 12 comes in the form of a fix for an earlier issue. <\/span><span class=\"s1\">The HotSpot Windows OS Detection fix is now able to identify Windows Server 2019 correctly. Previously, the recognition of Windows Server 2019 as Windows Server 2016 led to incorrect values in the \u201chs_err_pid\u201d file and the \u201cos.name\u201d system property.<\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li class=\"p1\" style=\"text-align: justify;\">\n<h3><span class=\"ez-toc-section\" id=\"New_Java_Flight_Recorder_Security_Events\"><\/span><span class=\"s1\">New Java Flight Recorder Security Events<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<\/li>\n<\/ul>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">Another formidable improvement over <a href=\"https:\/\/www.whizlabs.com\/blog\/java-11-features\/\" target=\"_blank\" rel=\"noopener noreferrer\">Java 11 features<\/a> in Java 12 is the introduction of new JFR Security Events. Java 12 now includes four new Java Flight Recorder (JFR) Security Events in the security library. Disabled by default, you can enable these events through the standard JFR options or the JFR configuration files. The four events are \u201cjdk.SecurityPropertyModification\u201d, \u201cjdk.TLSHandshake\u201d, \u201cjdk.X509Validation\u201d and \u201cjdk.X509Certificate\u201d. <\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">The \u201cjdk.SecurityPropertyModification\u201d is ideal for recording method calls such as Security.setProperty (String key, String value). The \u201cjdk.TLSHandshake\u201d event is ideal for recording TLS handshake activities. The event fields, in this case, include Peer hostname, Peer port, and certificate ID of peer client. The event fields also include the TLS cipher suite negotiated, and the TLS protocol version negotiated. <\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">The \u201cjdk.X509Validation\u201d event is ideal for recording details about X.509 certificates that go through negotiation in positive X.509 validation. The \u201cjdk.X509Certificate\u201d event is ideal for recording details about X.509 certifications. The event fields in \u201cjdk.X509Certificate\u201d include certificate algorithm, certification serial number, certificate subject, and certificate issuer. The other event fields include key type, certificate ID, key length, and certificate validity.<\/span><\/p>\n<blockquote><p>Preparing for a Java interview? Check out the collection of <a href=\"https:\/\/www.whizlabs.com\/blog\/top-java-interview-questions\/\" target=\"_blank\" rel=\"noopener noreferrer\">top Java interview questions<\/a> with detailed answers, and get ready to crack the interview.<\/p><\/blockquote>\n<h4 class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">Bottom Line<\/span><\/h4>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">As the Java ecosystem continues to grow with every passing day, new updates and additional features have become the norm. However, the prominent question alongside Java 12 features refers directly to the thoughts of developers about the changes. The implementation and upgrades for new language features could be very troublesome in the case of larger organizations and systems. <\/span><\/p>\n<p class=\"p1\" style=\"text-align: justify;\"><span class=\"s1\">Compatibility with legacy code and the local modifications by the team can be a crucial setback for Java 12 adoption. The popularity of Java 12 is yet to gain some traction in the market. However, Java 12 is not likely to introduce any new features soon, thereby creating confusion about feasibility. The positive aspect of Java 12 is that it promotes the introduction of smaller features at faster rates in Java. As a result, Java could align with major programming languages in the market to maintain its popularity and dominance.\u00a0<\/span><\/p>\n<p style=\"text-align: justify;\">As there is no certification associated with Java SE version 12, you can validate your skills for the latest Java 11 certification. If you are preparing for any Java certification, enroll for the <a href=\"https:\/\/www.whizlabs.com\/oracle-java-certifications\/\" target=\"_blank\" rel=\"noopener noreferrer\">Java certification training courses<\/a> and get ready to give your skills a recognition.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The popularity of many programming languages is one of the formidable highlights that we notice in the IT world. However, one of the programming languages has never failed to lose its reputation that is Java. Java is as popular now as it was 23 years ago when it was introduced. Recently, the latest release of Java came to the market with the Java Development Kit (JDK) 12. In this discussion, we&#8217;ll throw light on the Java 12 features. The excitement to know more about Java 12 features is skyrocketing in the present times. Since the major release of Java SE [&hellip;]<\/p>\n","protected":false},"author":220,"featured_media":73302,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[13],"tags":[2534,2533,2531,2532],"class_list":["post-73272","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","tag-java-11-features","tag-java-12-download","tag-java-12-new-features","tag-whats-new-in-java-12"],"uagb_featured_image_src":{"full":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",600,315,false],"thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features-150x150.png",150,150,true],"medium":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features-300x158.png",300,158,true],"medium_large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",600,315,false],"large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",600,315,false],"1536x1536":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",600,315,false],"2048x2048":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",600,315,false],"profile_24":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",24,13,false],"profile_48":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",48,25,false],"profile_96":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",96,50,false],"profile_150":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",150,79,false],"profile_300":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",300,158,false],"tptn_thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features-250x250.png",250,250,true],"web-stories-poster-portrait":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",600,315,false],"web-stories-publisher-logo":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",96,50,false],"web-stories-thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2019\/10\/Java-12-features.png",150,79,false]},"uagb_author_info":{"display_name":"Aditi Malhotra","author_link":"https:\/\/www.whizlabs.com\/blog\/author\/aditi\/"},"uagb_comment_info":1,"uagb_excerpt":"The popularity of many programming languages is one of the formidable highlights that we notice in the IT world. However, one of the programming languages has never failed to lose its reputation that is Java. Java is as popular now as it was 23 years ago when it was introduced. Recently, the latest release of&hellip;","_links":{"self":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/73272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/users\/220"}],"replies":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/comments?post=73272"}],"version-history":[{"count":11,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/73272\/revisions"}],"predecessor-version":[{"id":73312,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/73272\/revisions\/73312"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media\/73302"}],"wp:attachment":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media?parent=73272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/categories?post=73272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/tags?post=73272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}