{"id":101268,"date":"2021-09-15T10:22:53","date_gmt":"2021-09-15T08:22:53","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-java-se-17"},"modified":"2021-09-15T10:22:53","modified_gmt":"2021-09-15T08:22:53","slug":"vypusk-java-se-17","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-java-se-17","title":{"rendered":"Lan\u00e7amento do Java SE 17","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ap\u00f3s seis meses de desenvolvimento, a Oracle lan\u00e7ou a plataforma Java SE 17 (Java Platform, Standard Edition 17), cuja implementa\u00e7\u00e3o de refer\u00eancia utiliza o projeto aberto OpenJDK. Exceto pela remo\u00e7\u00e3o de algumas funcionalidades obsoletas, a compatibilidade com vers\u00f5es anteriores da plataforma Java foi mantida no Java SE 17 \u2014 a maioria dos projetos Java escritos anteriormente funcionar\u00e1 sem altera\u00e7\u00f5es quando executados na nova vers\u00e3o. As vers\u00f5es prontas para instala\u00e7\u00e3o do Java SE 17 (JDK, JRE e Server JRE) foram preparadas para Linux (x86_64, AArch64), Windows (x86_64) e macOS (x86_64, AArch64). A implementa\u00e7\u00e3o de refer\u00eancia do Java 17, desenvolvida no \u00e2mbito do projeto OpenJDK, \u00e9 totalmente open source sob a licen\u00e7a GPLv2 com exce\u00e7\u00f5es do GNU ClassPath, que permitem a vincula\u00e7\u00e3o din\u00e2mica com produtos comerciais.     <\/p>\n<p>Java SE 17 \u00e9 classificado como uma vers\u00e3o com suporte de longo prazo (LTS), com atualiza\u00e7\u00f5es programadas at\u00e9 2029. O lan\u00e7amento de atualiza\u00e7\u00f5es para a vers\u00e3o intermedi\u00e1ria anterior, Java 16, foi encerrado. A vers\u00e3o anterior LTS, Java 11, ser\u00e1 mantida at\u00e9 2026. O pr\u00f3ximo lan\u00e7amento LTS est\u00e1 previsto para setembro de 2024. Vale lembrar que, a partir do lan\u00e7amento do Java 10, o projeto adotou um novo processo de desenvolvimento, com um ciclo de lan\u00e7amento mais curto. A nova funcionalidade agora \u00e9 desenvolvida em um branch master constantemente atualizado, do qual novos branches s\u00e3o derivados a cada seis meses para a estabiliza\u00e7\u00e3o dos lan\u00e7amentos.     <\/p>\n<p>Entre as novidades do Java 17, destacam-se:  <\/p>\n<ul>\n<li class=\"l\"> Foi proposta uma implementa\u00e7\u00e3o experimental de correspond\u00eancia de padr\u00f5es nas express\u00f5es \"switch\", permitindo que nos r\u00f3tulos \"case\" sejam utilizados n\u00e3o valores exatos, mas padr\u00f5es flex\u00edveis que abrangem uma s\u00e9rie de valores, para os quais anteriormente era necess\u00e1rio usar longas cadeias de express\u00f5es \"if...else\". Al\u00e9m disso, dentro do \"switch\" h\u00e1 agora suporte para o tratamento de valores NULL.         Object o = 123L;     String formatted = switch (o) {         case Integer i -&gt; String.format(\"int %d\", i);         case Long l    -&gt; String.format(\"long %d\", l);         case Double d  -&gt; String.format(\"double %f\", d);         case String s  -&gt; String.format(\"String %s\", s);         default        -&gt; o.toString();     };\n<li class=\"l\"> Foi estabilizado o suporte a classes e interfaces seladas, que n\u00e3o podem ser utilizadas por outras classes e interfaces para heran\u00e7a, extens\u00e3o ou sobrescrita de implementa\u00e7\u00e3o. Classes seladas tamb\u00e9m fornecem uma maneira mais declarativa de restringir o uso da superclasse, em vez de usar modificadores de acesso, com base na enumera\u00e7\u00e3o expl\u00edcita de subclasses que t\u00eam permiss\u00e3o para extens\u00e3o.       package com.example.geometry;       public sealed class Shape          permits com.example.polar.Circle,                  com.example.quad.Rectangle,                  com.example.quad.simple.Square {...}\n<li class=\"l\"> Foi proposta uma segunda implementa\u00e7\u00e3o preliminar da API Vector, fornecendo fun\u00e7\u00f5es para c\u00e1lculos vetoriais, que s\u00e3o executados utilizando instru\u00e7\u00f5es vetoriais dos processadores x86_64 e AArch64, permitindo aplicar opera\u00e7\u00f5es simultaneamente a v\u00e1rios valores (SIMD). Ao contr\u00e1rio das capacidades de auto-vetoriza\u00e7\u00e3o de opera\u00e7\u00f5es escalares fornecidas pelo compilador JIT HotSpot, a nova API permite gerenciar explicitamente a vetoriza\u00e7\u00e3o para o processamento paralelo de dados.\n<li class=\"l\"> Foi implementada uma pr\u00e9via do API Foreign Function &amp; Memory, que permite que aplica\u00e7\u00f5es interajam com c\u00f3digo e dados fora do ambiente de execu\u00e7\u00e3o Java. O novo API possibilita a chamada eficaz de fun\u00e7\u00f5es que n\u00e3o s\u00e3o executadas na JVM, al\u00e9m de acessar mem\u00f3ria n\u00e3o gerida pela JVM. Por exemplo, \u00e9 poss\u00edvel chamar fun\u00e7\u00f5es de bibliotecas compartilhadas externas e acessar dados de processo sem usar JNI.\n<li class=\"l\"> O motor de renderiza\u00e7\u00e3o para macOS, que suporta o API Java 2D, utilizado no API Swing, foi adaptado para utilizar o API gr\u00e1fico Metal. Por padr\u00e3o, no macOS, o OpenGL ainda \u00e9 empregado, e para habilitar o suporte ao Metal, \u00e9 necess\u00e1rio configurar o par\u00e2metro '-Dsun.java2d.metal=true' e ter, pelo menos, a vers\u00e3o 10.14.x do macOS.\n<li class=\"l\"> Foi adicionado um porto para a plataforma macOS\/AArch64 (computadores Apple baseados nos novos chips Apple M1). A caracter\u00edstica distintiva do porto \u00e9 o suporte ao mecanismo de prote\u00e7\u00e3o de mem\u00f3ria W^X (Write XOR Execute), onde as p\u00e1ginas de mem\u00f3ria n\u00e3o podem ser acessadas simultaneamente para grava\u00e7\u00e3o e execu\u00e7\u00e3o. (o c\u00f3digo s\u00f3 pode ser executado ap\u00f3s a grava\u00e7\u00e3o ser proibida, e a grava\u00e7\u00e3o em uma p\u00e1gina de mem\u00f3ria s\u00f3 \u00e9 poss\u00edvel ap\u00f3s a execu\u00e7\u00e3o ser proibida).\n<li class=\"l\"> Foi restaurado o uso apenas da sem\u00e2ntica estrita (strictfp) para express\u00f5es com ponto flutuante. O suporte para a sem\u00e2ntica 'default', dispon\u00edvel desde a vers\u00e3o Java 1.2, que inclu\u00eda simplifica\u00e7\u00f5es para operar em sistemas com coprocessadores matem\u00e1ticos extremamente antigos x87, foi descontinuado (com o surgimento das instru\u00e7\u00f5es SSE2, a necessidade de sem\u00e2ntica adicional desapareceu).\n<li class=\"l\"> Novos tipos de interfaces para geradores de n\u00fameros pseudoaleat\u00f3rios foram implementados, al\u00e9m de algoritmos adicionais para uma gera\u00e7\u00e3o mais qualificada de n\u00fameros aleat\u00f3rios. Os aplicativos agora t\u00eam a op\u00e7\u00e3o de escolher o algoritmo de gera\u00e7\u00e3o de n\u00fameros pseudoaleat\u00f3rios. O suporte para a gera\u00e7\u00e3o de fluxos de objetos aleat\u00f3rios foi aprimorado.\n<li class=\"l\"> Foi implementada a encapsula\u00e7\u00e3o estrita obrigat\u00f3ria de todos os elementos internos do JDK, exceto para APIs cr\u00edticas, como sun.misc.Unsafe. A encapsula\u00e7\u00e3o estrita bloqueia tentativas de acesso a classes, m\u00e9todos e campos internos a partir de c\u00f3digo. Anteriormente, era poss\u00edvel desabilitar o modo de encapsula\u00e7\u00e3o estrita com a op\u00e7\u00e3o '--illegal-access=permit', mas agora ela foi considerada obsoleta. Para aplica\u00e7\u00f5es que necessitam de acesso a classes, m\u00e9todos e campos internos, \u00e9 necess\u00e1rio defini-los explicitamente usando a op\u00e7\u00e3o '--add-opens' ou o atributo Add-Opens no arquivo de manifesto.\n<li class=\"l\"> Os aplicativos agora podem definir filtros para a deserializa\u00e7\u00e3o de dados, que podem depender do contexto e ser escolhidos dinamicamente em liga\u00e7\u00e3o a opera\u00e7\u00f5es de deserializa\u00e7\u00e3o espec\u00edficas. Os filtros definidos s\u00e3o aplic\u00e1veis em todo o <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/vps\/abuzoustojchivye-vps\/\"   title=\"m\u00e1quina virtual\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4313\">m\u00e1quina virtual<\/a>  (JVM-wide), ou seja, cobrem n\u00e3o apenas o pr\u00f3prio aplicativo, mas tamb\u00e9m as bibliotecas de terceiros utilizadas no aplicativo.\n<li class=\"l\"> No Swing, foi adicionado o m\u00e9todo javax.swing.filechooser.FileSystemView.getSystemIcon para carregar \u00edcones em alta defini\u00e7\u00e3o, permitindo uma melhor forma\u00e7\u00e3o da interface em telas com alta densidade de pixels (HighDPI).\n<li class=\"l\"> Na API java.net.DatagramSocket, foi implementado suporte para conectar a grupos Multicast sem a necessidade de usar a API separada java.net.MulticastSocket.\n<li class=\"l\"> A ferramenta IGV (Ideal Graph Visualizer) foi aprimorada, fornecendo visualiza\u00e7\u00e3o interativa da representa\u00e7\u00e3o intermedi\u00e1ria do c\u00f3digo no compilador JIT HotSpot VM C2.\n<li class=\"l\"> Na JavaDoc, de forma semelhante ao compilador javac, agora ao exibir um erro, o n\u00famero da linha problem\u00e1tica no arquivo fonte e o local do erro ser\u00e3o indicados.\n<li class=\"l\"> Adicionado o atributo native.encoding, que reflete o nome da codifica\u00e7\u00e3o de caracteres do sistema (UTF-8, koi8-r, cp1251, etc.).\n<li class=\"l\"> Adicionado o interface java.time.InstantSource, permitindo manipular o tempo sem estar vinculado a um fuso hor\u00e1rio.\n<li class=\"l\"> Adicionado o API java.util.HexFormat para convers\u00e3o em representa\u00e7\u00e3o hexadecimal e vice-versa.\n<li class=\"l\"> Adicionado ao compilador o modo blackhole, que desativa opera\u00e7\u00f5es de exce\u00e7\u00e3o de c\u00f3digo n\u00e3o utilizado (elimina\u00e7\u00e3o de c\u00f3digo morto), o que pode ser utilizado em testes de desempenho.\n<li class=\"l\"> Foi adicionada a op\u00e7\u00e3o '-Xlog:async' ao Runtime para registrar logs em modo ass\u00edncrono.\n<li class=\"l\"> Ao estabelecer conex\u00f5es seguras, por padr\u00e3o \u00e9 utilizado o TLS 1.3 (anteriormente era utilizado o TLS 1.2).\n<li class=\"l\">  Classificado como obsoleto e projetado para remo\u00e7\u00e3o, o API Applet (java.applet.Applet*, javax.swing.JApplet), usado para executar aplicativos Java em navegadores (perdeu relev\u00e2ncia ap\u00f3s o fim do suporte ao plugin Java para navegadores).\n<li class=\"l\"> Classificado como obsoleto e projetado para remo\u00e7\u00e3o, o Security Manager, que h\u00e1 muito perdeu relev\u00e2ncia e se tornou obsoleto ap\u00f3s o fim do suporte ao plugin do navegador.\n<li class=\"l\"> Removido o mecanismo RMI Activation, que se tornou obsoleto, foi reclassificado como uma op\u00e7\u00e3o j\u00e1 no Java 8 e quase n\u00e3o \u00e9 aplicado na pr\u00e1tica moderna.\n<li class=\"l\"> Removido do SDK o compilador experimental que suporta JIT (just-in-time) para compila\u00e7\u00e3o din\u00e2mica de c\u00f3digo Java para a HotSpot JVM, bem como o modo de compila\u00e7\u00e3o antecipada (AOT, ahead-of-time) de classes em c\u00f3digo de m\u00e1quina antes da execu\u00e7\u00e3o da m\u00e1quina virtual. O compilador foi escrito em Java e se baseou no trabalho do projeto Graal. Observa-se que manter o compilador requer um grande esfor\u00e7o, que n\u00e3o se justifica devido \u00e0 falta de interesse dos desenvolvedores.    <\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55802\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Java SE 17 (Java Platform, Standard Edition 17), \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenJDK. \u0417\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 Java SE 17 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u043f\u0440\u043e\u0448\u043b\u044b\u043c\u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Java &#8212; \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0440\u0430\u043d\u0435\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 Java-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u043e\u0434 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-101268","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Java SE 17 (Java Platform, Standard Edition 17), \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenJDK.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-java-se-17\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a Java SE 17 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Java SE 17 (Java Platform, Standard Edition 17), \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenJDK.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-java-se-17\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-09-15T08:22:53+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-09-15T08:22:53+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lan\u00e7amento do Java SE 17 | ProHoster","description":"Ap\u00f3s seis meses de desenvolvimento, a Oracle lan\u00e7ou a plataforma Java SE 17 (Java Platform, Standard Edition 17), utilizando o projeto de c\u00f3digo aberto OpenJDK como implementa\u00e7\u00e3o de refer\u00eancia.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-java-se-17","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a Java SE 17 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Java SE 17 (Java Platform, Standard Edition 17), \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenJDK.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-java-se-17","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-09-15T08:22:53+00:00","article:modified_time":"2021-09-15T08:22:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"101268","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-09-15 08:34:15","updated":"2022-10-01 06:25:28","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/101268","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=101268"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/101268\/revisions"}],"predecessor-version":[{"id":164188,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/101268\/revisions\/164188"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=101268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=101268"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=101268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}