{"id":16438,"date":"2020-01-29T08:00:58","date_gmt":"2020-01-29T11:00:58","guid":{"rendered":"https:\/\/www.impacta.com.br\/blog\/?p=16438"},"modified":"2021-01-05T10:08:56","modified_gmt":"2021-01-05T13:08:56","slug":"java-12-descubra-o-que-entrou-e-saiu-na-nova-versao","status":"publish","type":"post","link":"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/","title":{"rendered":"Java 12: descubra o que entrou e saiu na nova vers\u00e3o"},"content":{"rendered":"<div class=\"content-article\">\n<div id=\"read-only-article\">\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Em 2019, foi anunciada a disponibilidade da 12\u00aa vers\u00e3o do\u00a0<a href=\"https:\/\/www.impacta.com.br\/blog\/2019\/11\/13\/linguagem-java-por-que-se-tornar-um-programador-java\/\" target=\"_blank\" rel=\"noopener noreferrer\">Java<\/a>, uma das tecnologias mais importantes na \u00e1rea de TI. E foi por conta dessa import\u00e2ncia que a Oracle optou por aumentar o ritmo de desenvolvimento da plataforma, de modo a aproxim\u00e1-la das exig\u00eancias de mercado e outros desenvolvimentos.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">As novidades do Java 12 s\u00e3o diversas e, ainda que n\u00e3o se trate de uma vers\u00e3o LTS \u2014 o que implica em um menor tempo de suporte e manuten\u00e7\u00e3o \u2014, ela trouxe recursos bastante \u00fateis para os desenvolvedores.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Por conta dessas novidades, preparamos esse post em que explicaremos melhor quais foram as principais novidades e melhorias, al\u00e9m do que foi retirado na nova vers\u00e3o. Quer saber mais? Ent\u00e3o continue a leitura e confira!<\/span><\/p>\n<h2 style=\"text-align: left;\"><strong><span style=\"font-size: 14pt;\">Novos m\u00e9todos String<\/span><\/strong><\/h2>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">A proposta de aprimoramento do JDK n\u00ba 326 \u2014 a JEP 326 \u2014 inclui dois novos\u00a0<a href=\"https:\/\/www.impacta.com.br\/blog\/2013\/08\/07\/como-usar-o-metodo-tostring-em-java\/\" target=\"_blank\" rel=\"noopener noreferrer\">m\u00e9todos no Java<\/a>\u00a012 para lidar com strings: o indent e o transform.<\/span><\/p>\n<h3 style=\"text-align: left;\"><strong><span style=\"font-size: 14pt;\">Indent<\/span><\/strong><\/h3>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">O indent \u00e9 bastante intuitivo e, como seu nome deixa claro, aplica uma identifica\u00e7\u00e3o \u2014 o espa\u00e7amento \u00e0 esquerda \u2014 no texto de sa\u00edda. Confira o exemplo a seguir:<\/span><\/p>\n<p style=\"text-align: left;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16446\" src=\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/01\/java-3.png\" alt=\"captura java 3\" width=\"600\" height=\"80\" \/><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Para o c\u00f3digo acima, a sa\u00edda ser\u00e1:<\/span><\/p>\n<p style=\"text-align: left;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16447\" src=\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/01\/java-4.png\" alt=\"captura java 4\" width=\"300\" height=\"81\" \/><\/p>\n<p><span style=\"font-size: 14pt;\">No exemplo de sa\u00edda acima, foram adicionados 3 espa\u00e7amentos no lado esquerdo de cada linha, conforme passado como argumento do m\u00e9todo.<\/span><\/p>\n<h3><strong><span style=\"font-size: 14pt;\">Transform<\/span><\/strong><\/h3>\n<p><span style=\"font-size: 14pt;\">Al\u00e9m disso, a Oracle implementou o m\u00e9todo transform. Basicamente, ele recebe uma express\u00e3o lambda com uma string como par\u00e2metro e retorna um objeto. Abaixo, temos um exemplo.<\/span><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16448\" src=\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/01\/java-5.png\" alt=\"java 5\" width=\"600\" height=\"87\" \/><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Nesse caso, a sa\u00edda ser\u00e1:<\/span><\/p>\n<p style=\"text-align: left;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16449\" src=\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/01\/java-6.png\" alt=\"captura java 6\" width=\"300\" height=\"59\" \/><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Um outro exemplo de uso \u00e9 na transforma\u00e7\u00e3o de texto para caixa alta:<\/span><\/p>\n<p style=\"text-align: left;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16450\" src=\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/01\/java-7.png\" alt=\"captura java 7\" width=\"500\" height=\"67\" \/><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Ao adicionar esse trecho no exemplo de c\u00f3digo mostrado, teremos a mesma sa\u00edda, por\u00e9m, com todos os caracteres mai\u00fasculos.<\/span><\/p>\n<h2 style=\"text-align: left;\"><strong><span style=\"font-size: 14pt;\">Express\u00f5es switchs<\/span><\/strong><\/h2>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">A nova vers\u00e3o do\u00a0<a href=\"https:\/\/www.impacta.com.br\/blog\/2017\/04\/03\/entenda-a-importancia-de-se-aprender-java\/\" target=\"_blank\" rel=\"noopener noreferrer\">Java<\/a>\u00a0conta com duas novidades nas express\u00f5es<a title=\"Como configurar o Switch HP V1910-24G\" href=\"https:\/\/www.impacta.com.br\/blog\/2015\/02\/03\/como-configurar-switch-hp-v1910-24g\/\" target=\"_blank\" rel=\"noopener noreferrer\"> switch<\/a>: introdu\u00e7\u00e3o da case value -&gt; sintaxe e a possibilidade de atribui\u00e7\u00e3o de uma express\u00e3o switch a uma vari\u00e1vel. A primeira novidade torna as instru\u00e7\u00f5es break desnecess\u00e1rias, enquanto\u00a0a segunda permite que uma express\u00e3o switch seja utilizada como retorno de um m\u00e9todo.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Nos exemplos a seguir, mostramos o antes e o depois dessa mudan\u00e7a.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Antes:<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16442 size-full\" src=\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/01\/Java.jpg\" alt=\"c\u00f3digo java 1\" width=\"563\" height=\"424\" \/><\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Com a refatora\u00e7\u00e3o do Java 12:<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-16451\" src=\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/01\/java-8.png\" alt=\"captura java 8\" width=\"619\" height=\"145\" \/><\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Dessa forma, o c\u00f3digo fica muito mais f\u00e1cil de ler, sendo uma \u00f3tima alternativa ao switch tradicional.<\/span><\/p>\n<h2 style=\"text-align: left;\"><strong><span style=\"font-size: 14pt;\">Melhorias significativas no garbage collector G1<\/span><\/strong><\/h2>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">A vers\u00e3o 12 da JDK tamb\u00e9m trouxe melhorias para o garbage collector G1. Um dos objetivos dessa ferramenta \u00e9 atender a meta de tempo de pausa para as coletas de lixo na mem\u00f3ria RAM. Entretanto, h\u00e1 casos em que esse objetivo n\u00e3o \u00e9 alcan\u00e7ado.<\/span><\/p>\n<h3 style=\"text-align: left;\"><strong><span style=\"font-size: 14pt;\">Grupos de coleta<\/span><\/strong><\/h3>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Para que\u00a0a meta do tempo de pausa fornecido pelo usu\u00e1rio seja alcan\u00e7ada, a JEP 344 faz com que o coletor se comporte de maneira diferente. Agora, a ferramenta aborta o processo de coleta e divide as regi\u00f5es a serem coletadas em dois grupos: partes obrigat\u00f3rias e opcionais.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Assim, se a meta de tempo de pausa n\u00e3o for alcan\u00e7ada de outra maneira, o coletor pode abortar a coleta da parte opcional.<\/span><\/p>\n<h3 style=\"text-align: left;\"><strong><span style=\"font-size: 14pt;\">Retorno autom\u00e1tico da mem\u00f3ria heap<\/span><\/strong><\/h3>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Outro ponto que era problem\u00e1tico no G1 era a demora no retorno da mem\u00f3ria utilizada na heap para o sistema operacional, visto que o G1 apenas fazia esse retorno ao realizar uma coleta completa ou durante um ciclo concorrente.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Essa forma de gerenciamento de mem\u00f3ria se mostra uma desvantagem principalmente em ambientes de containers, em que os recursos s\u00e3o pagos pelo uso. Assim, um dos objetivos da atualiza\u00e7\u00e3o \u00e9 o de solucionar essa quest\u00e3o ao permitir que a mem\u00f3ria heap seja automaticamente devolvida para o sistema operacional assim que estiver ociosa.<\/span><\/p>\n<h2 style=\"text-align: left;\"><strong><span style=\"font-size: 14pt;\">Recursos removidos na JDK 12<\/span><\/strong><\/h2>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Naturalmente, alguns recursos s\u00e3o removidos conforme uma plataforma \u00e9 atualizada\u00a0\u2014 seja pela implementa\u00e7\u00e3o de t\u00e9cnicas mais eficazes ou simplesmente por se tratarem de recursos obsoletos. Considerando isso, algumas remo\u00e7\u00f5es foram feitas na vers\u00e3o 12 do Java e a seguir, listamos as principais delas.<\/span><\/p>\n<h3 style=\"text-align: left;\"><strong><span style=\"font-size: 14pt;\">Remo\u00e7\u00e3o da classe com.sun.awt.SecurityWarning<\/span><\/strong><\/h3>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">A classe com.sun.awt.SecurityWarning foi descontinuada e marcada como forRemoval=true na vers\u00e3o 11 do Java (JDK-8205588).<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Assim, por n\u00e3o ser mais utilizada, foi removida neste release.<\/span><\/p>\n<h3 style=\"text-align: left;\"><strong><span style=\"font-size: 14pt;\">Remo\u00e7\u00e3o de m\u00e9todos finalize nas classes de entrada e sa\u00edda de arquivo<\/span><\/strong><\/h3>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Os m\u00e9todos finalize das classes FileInputStream e FileOutputStream foram descontinuados ainda na vers\u00e3o 9 do Java, mas estavam presentes na plataforma at\u00e9 a vers\u00e3o 12, na qual foram removidos.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Vale notar, nesse caso, que o java.lang.ref.Cleaner foi implementado no JDK 9 com o objetivo de fechar descritores de arquivos que n\u00e3o s\u00e3o mais acess\u00edveis a partir das classes FileInputStream e FileOutputStream.<\/span><\/p>\n<h3 style=\"text-align: left;\"><strong><span style=\"font-size: 14pt;\">Remo\u00e7\u00e3o do finalize nas classes java.util.ZipFile\/Inflator\/Deflator<\/span><\/strong><\/h3>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">O m\u00e9todo finalize tamb\u00e9m foi descontinuado nas classes java.util.ZipFile, java.util.Inflator, e java.util.Deflator da JDK 9 e sua implementa\u00e7\u00e3o foi atualizada para evitar sua utiliza\u00e7\u00e3o at\u00e9 que na vers\u00e3o 12 foi oficialmente removido.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Assim, as subclasses que substituem o m\u00e9todo finalize para executar a limpeza devem ser modificadas para usar mecanismos de limpeza alternativos.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Remo\u00e7\u00e3o do suporte aos sinalizadores -source, -target e -release do javac 6\/1.6<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">De acordo com a pol\u00edtica descrita na JEP 182 \u2014 a Pol\u00edtica de Aposento das Op\u00e7\u00f5es javac -source e -target \u2014, o suporte aos sinalizadores -source, -target e -release do javac 6\/1.6 foi removido.<\/span><\/p>\n<h2 style=\"text-align: left;\"><strong><span style=\"font-size: 14pt;\">A import\u00e2ncia dos cursos<\/span><\/strong><\/h2>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">A Oracle tem buscado aumentar o ritmo de desenvolvimento do Java para garantir a entrega de\u00a0<a href=\"https:\/\/www.impacta.com.br\/blog\/2019\/06\/03\/8-ferramentas-automacao-testes-ajudam-gestao-de-ti\/\" target=\"_blank\" rel=\"noopener noreferrer\">recursos testados<\/a>\u00a0e otimizados e que atendam \u00e0s demandas do mercado.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Nesse sentido, nota-se que al\u00e9m da necessidade de dar aten\u00e7\u00e3o a quest\u00f5es como a\u00a0<a href=\"https:\/\/www.impacta.com.br\/blog\/2019\/06\/05\/metodologia-agil-o-que-e-e-como-usa-la-no-mercado-de-ti\/\" target=\"_blank\" rel=\"noopener noreferrer\">metodologia \u00e1gil<\/a>\u00a0ideal, por exemplo, \u00e9 importante observar o quanto a tecnologia tem crescido e a necessidade de as companhias estarem por dentro dessas novidades.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Para a\u00a0<a href=\"https:\/\/www.impacta.com.br\/blog\/2019\/05\/22\/descubra-a-carreira-em-desenvolvimento-de-jogos\/\" target=\"_blank\" rel=\"noopener noreferrer\">carreira em desenvolvimento<\/a>, \u00e9 necess\u00e1rio que esses novos recursos sejam implementados em projetos de forma que se possa ter um desempenho de ponta nas aplica\u00e7\u00f5es desenvolvidas. Por conta disso, a realiza\u00e7\u00e3o de cursos \u00e9 vista como de grande import\u00e2ncia para profissionais que desejem estar atualizados em rela\u00e7\u00e3o ao seu mercado.<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 14pt;\">Entendeu quais foram as novidades do Java 12? Quer continuar por dentro do que vem por a\u00ed? Ent\u00e3o, n\u00e3o deixe de assinar a nossa newsletter para conhecer as novidades e <a title=\"E-BOOK: Tend\u00eancias do Mercado de Tecnologia!\" href=\"https:\/\/www.impacta.com.br\/blog\/2019\/12\/26\/e-book-tendencias-do-mercado-de-tecnologia\/\" target=\"_blank\" rel=\"noopener noreferrer\">tend\u00eancias da \u00e1rea<\/a>!<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"sharing-default-minimal post-bottom\"><div class=\"nectar-social default\" data-position=\"\" data-rm-love=\"0\" data-color-override=\"override\"><div class=\"nectar-social-inner\"><a href=\"#\" class=\"nectar-love\" id=\"nectar-love-16438\" title=\"Love this\"> <i class=\"icon-salient-heart-2\"><\/i><span class=\"love-text\">Love<\/span><span class=\"total_loves\"><span class=\"nectar-love-count\">0<\/span><\/span><\/a><a class='facebook-share nectar-sharing' href='#' title='Share this'> <i class='fa fa-facebook'><\/i> <span class='social-text'>Share<\/span> <\/a><a class='twitter-share nectar-sharing' href='#' title='Share this'> <i class='fa icon-salient-x-twitter'><\/i> <span class='social-text'>Share<\/span> <\/a><a class='linkedin-share nectar-sharing' href='#' title='Share this'> <i class='fa fa-linkedin'><\/i> <span class='social-text'>Share<\/span> <\/a><a class='pinterest-share nectar-sharing' href='#' title='Pin this'> <i class='fa fa-pinterest'><\/i> <span class='social-text'>Pin<\/span> <\/a><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Em 2019, foi anunciada a disponibilidade da 12\u00aa vers\u00e3o do\u00a0Java, uma das tecnologias mais importantes na \u00e1rea de TI. E foi por conta dessa import\u00e2ncia que a Oracle optou por aumentar o ritmo de desenvolvimento da plataforma, de modo a aproxim\u00e1-la das exig\u00eancias de mercado e outros desenvolvimentos. As novidades do Java 12 s\u00e3o diversas [&hellip;]<\/p>\n","protected":false},"author":23,"featured_media":17107,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,3],"tags":[1023,1024,1025,136,23],"class_list":["post-16438","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento","category-tecnologia","tag-java-12","tag-jdk","tag-metodos-java","tag-oracle","tag-ti"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>Novidades do Java 12: o que entrou e saiu na nova vers\u00e3o!<\/title>\r\n<meta name=\"description\" content=\"Foi anunciada a 12\u00aa vers\u00e3o do Java, uma das tecnologias mais importantes na \u00e1rea de TI. Ela trouxe recursos bastante \u00fateis para os desenvolvedores. Confira!\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/\" \/>\r\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Novidades do Java 12: o que entrou e saiu na nova vers\u00e3o!\" \/>\r\n<meta property=\"og:description\" content=\"Foi anunciada a 12\u00aa vers\u00e3o do Java, uma das tecnologias mais importantes na \u00e1rea de TI. Ela trouxe recursos bastante \u00fateis para os desenvolvedores. Confira!\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Blog Impacta - Dicas e Not\u00edcias sobre Carreira\" \/>\r\n<meta property=\"article:published_time\" content=\"2020-01-29T11:00:58+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2021-01-05T13:08:56+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/shutterstock_1122339353.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"850\" \/>\r\n\t<meta property=\"og:image:height\" content=\"284\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"Reda\u00e7\u00e3o Impacta\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Reda\u00e7\u00e3o Impacta\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/\",\"url\":\"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/\",\"name\":\"Novidades do Java 12: o que entrou e saiu na nova vers\u00e3o!\",\"isPartOf\":{\"@id\":\"https:\/\/www.impacta.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/shutterstock_1122339353.png\",\"datePublished\":\"2020-01-29T11:00:58+00:00\",\"dateModified\":\"2021-01-05T13:08:56+00:00\",\"author\":{\"@id\":\"https:\/\/www.impacta.com.br\/blog\/#\/schema\/person\/3882324164f9237ab7e8d7ac28ecfe79\"},\"description\":\"Foi anunciada a 12\u00aa vers\u00e3o do Java, uma das tecnologias mais importantes na \u00e1rea de TI. Ela trouxe recursos bastante \u00fateis para os desenvolvedores. Confira!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/#primaryimage\",\"url\":\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/shutterstock_1122339353.png\",\"contentUrl\":\"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/shutterstock_1122339353.png\",\"width\":850,\"height\":284},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.impacta.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java 12: descubra o que entrou e saiu na nova vers\u00e3o\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.impacta.com.br\/blog\/#website\",\"url\":\"https:\/\/www.impacta.com.br\/blog\/\",\"name\":\"Blog Impacta - Dicas e Not\u00edcias sobre Carreira\",\"description\":\"Dicas, Not\u00edcias e Conte\u00fados sobre Carreira, Tecnologia, Design, Gest\u00e3o e Marketing. Conhe\u00e7a e Acompanhe o Blog Impacta\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.impacta.com.br\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.impacta.com.br\/blog\/#\/schema\/person\/3882324164f9237ab7e8d7ac28ecfe79\",\"name\":\"Reda\u00e7\u00e3o Impacta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.impacta.com.br\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2532096eed25696c0e117e2cbb2f2e7c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2532096eed25696c0e117e2cbb2f2e7c?s=96&d=mm&r=g\",\"caption\":\"Reda\u00e7\u00e3o Impacta\"},\"url\":\"https:\/\/www.impacta.com.br\/blog\/author\/redacao_impacta\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Novidades do Java 12: o que entrou e saiu na nova vers\u00e3o!","description":"Foi anunciada a 12\u00aa vers\u00e3o do Java, uma das tecnologias mais importantes na \u00e1rea de TI. Ela trouxe recursos bastante \u00fateis para os desenvolvedores. Confira!","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.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/","og_locale":"pt_BR","og_type":"article","og_title":"Novidades do Java 12: o que entrou e saiu na nova vers\u00e3o!","og_description":"Foi anunciada a 12\u00aa vers\u00e3o do Java, uma das tecnologias mais importantes na \u00e1rea de TI. Ela trouxe recursos bastante \u00fateis para os desenvolvedores. Confira!","og_url":"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/","og_site_name":"Blog Impacta - Dicas e Not\u00edcias sobre Carreira","article_published_time":"2020-01-29T11:00:58+00:00","article_modified_time":"2021-01-05T13:08:56+00:00","og_image":[{"width":850,"height":284,"url":"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/shutterstock_1122339353.png","type":"image\/png"}],"author":"Reda\u00e7\u00e3o Impacta","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Reda\u00e7\u00e3o Impacta","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/","url":"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/","name":"Novidades do Java 12: o que entrou e saiu na nova vers\u00e3o!","isPartOf":{"@id":"https:\/\/www.impacta.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/#primaryimage"},"image":{"@id":"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/#primaryimage"},"thumbnailUrl":"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/shutterstock_1122339353.png","datePublished":"2020-01-29T11:00:58+00:00","dateModified":"2021-01-05T13:08:56+00:00","author":{"@id":"https:\/\/www.impacta.com.br\/blog\/#\/schema\/person\/3882324164f9237ab7e8d7ac28ecfe79"},"description":"Foi anunciada a 12\u00aa vers\u00e3o do Java, uma das tecnologias mais importantes na \u00e1rea de TI. Ela trouxe recursos bastante \u00fateis para os desenvolvedores. Confira!","breadcrumb":{"@id":"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/#primaryimage","url":"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/shutterstock_1122339353.png","contentUrl":"https:\/\/www.impacta.com.br\/blog\/wp-content\/uploads\/2020\/04\/shutterstock_1122339353.png","width":850,"height":284},{"@type":"BreadcrumbList","@id":"https:\/\/www.impacta.com.br\/blog\/java-12-descubra-o-que-entrou-e-saiu-na-nova-versao\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.impacta.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Java 12: descubra o que entrou e saiu na nova vers\u00e3o"}]},{"@type":"WebSite","@id":"https:\/\/www.impacta.com.br\/blog\/#website","url":"https:\/\/www.impacta.com.br\/blog\/","name":"Blog Impacta - Dicas e Not\u00edcias sobre Carreira","description":"Dicas, Not\u00edcias e Conte\u00fados sobre Carreira, Tecnologia, Design, Gest\u00e3o e Marketing. Conhe\u00e7a e Acompanhe o Blog Impacta","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.impacta.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.impacta.com.br\/blog\/#\/schema\/person\/3882324164f9237ab7e8d7ac28ecfe79","name":"Reda\u00e7\u00e3o Impacta","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.impacta.com.br\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2532096eed25696c0e117e2cbb2f2e7c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2532096eed25696c0e117e2cbb2f2e7c?s=96&d=mm&r=g","caption":"Reda\u00e7\u00e3o Impacta"},"url":"https:\/\/www.impacta.com.br\/blog\/author\/redacao_impacta\/"}]}},"acf":{"post_description":null,"capa_mobile":null},"_links":{"self":[{"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/posts\/16438","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/comments?post=16438"}],"version-history":[{"count":0,"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/posts\/16438\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/media\/17107"}],"wp:attachment":[{"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/media?parent=16438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/categories?post=16438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.impacta.com.br\/blog\/wp-json\/wp\/v2\/tags?post=16438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}