{"id":99453,"date":"2021-03-17T04:22:35","date_gmt":"2021-03-17T02:22:35","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-java-se-16"},"modified":"2021-03-17T04:22:35","modified_gmt":"2021-03-17T02:22:35","slug":"vypusk-java-se-16","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-java-se-16","title":{"rendered":"Lansarea Java SE 16","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dup\u0103 \u0219ase luni de dezvoltare, compania Oracle a lansat platforma Java SE 16 (Java Platform, Standard Edition 16), a c\u0103rei implementare de referin\u021b\u0103 utilizeaz\u0103 proiectul deschis OpenJDK. \u00cen Java SE 16, compatibilitatea \u00eenapoi cu versiunile anterioare ale platformei Java este p\u0103strat\u0103, toate proiectele Java scrise anterior vor func\u021biona f\u0103r\u0103 modific\u0103ri pe noua versiune. Pachetele gata pentru instalare Java SE 16 (JDK, JRE \u0219i Server JRE) sunt preg\u0103tite pentru Linux (x86_64, AArch64), Windows \u0219i macOS. Implementarea de referin\u021b\u0103 a Java 16, dezvoltat\u0103 \u00een cadrul proiectului OpenJDK, este complet deschis\u0103 sub licen\u021ba GPLv2 cu excep\u021biile GNU ClassPath, care permit legarea dinamic\u0103 cu produsele comerciale.     <\/p>\n<p>Java SE 16 este \u00eencadrat \u00een categoria versiunilor cu ciclu obi\u0219nuit de suport, actualiz\u0103rile pentru care vor fi lansate p\u00e2n\u0103 la urm\u0103toarea versiune. Ca ramur\u0103 cu termen lung de suport (LTS), se recomand\u0103 utilizarea Java SE 11, actualiz\u0103rile pentru care vor fi lansate p\u00e2n\u0103 \u00een 2026. Urm\u0103toarea versiune LTS este planificat\u0103 pentru septembrie 2021. Amintim c\u0103, \u00eencep\u00e2nd cu lansarea Java 10, proiectul a trecut la un nou proces de dezvoltare, care implic\u0103 un ciclu mai scurt de formare a noilor versiuni. Func\u021bionalitatea nou\u0103 este acum dezvoltat\u0103 \u00eentr-o ramur\u0103 master constant actualizat\u0103, \u00een care se includ modific\u0103rile deja finalizate, iar de la care se desprind ramuri pentru stabilizarea noilor versiuni la fiecare \u0219ase luni.       <\/p>\n<p>\u00cen preg\u0103tirea noii versiuni, dezvoltarea a fost transferat\u0103 de la sistemul de gestionare a versiunilor Mercurial la Git \u0219i platforma de colaborare GitHub. Se a\u0219teapt\u0103 ca migrarea s\u0103 \u00eembun\u0103t\u0103\u021beasc\u0103 performan\u021ba opera\u021biunilor cu repository-ul, s\u0103 creasc\u0103 eficien\u021ba stoc\u0103rii, s\u0103 asigure accesul la modific\u0103ri pe \u00eentreaga istorie a proiectului, s\u0103 \u00eembun\u0103t\u0103\u021beasc\u0103 suportul pentru revizuirea codului \u0219i s\u0103 activeze API-ul pentru automatizarea fluxurilor de lucru. \u00cen plus, utilizarea Git \u0219i GitHub face proiectul mai atractiv pentru \u00eencep\u0103tori \u0219i dezvoltatori obi\u0219nui\u021bi cu Git.    <\/p>\n<p>Printre nout\u0103\u021bile Java 16 se num\u0103r\u0103:  <\/p>\n<ul>\n<li class=\"l\"> A fost ad\u0103ugat modul experimental jdk.incubator.vector cu o implementare a API-ului Vector, care ofer\u0103 func\u021bii pentru calcule vectoriale ce sunt realizate folosind instruc\u021biuni vectoriale ale procesoarelor x86_64 \u0219i AArch64, permi\u021b\u00e2nd aplicarea simultan\u0103 a opera\u021biunilor la mai multe valori (SIMD). Spre deosebire de func\u021bionalit\u0103\u021bile de avectorizare automat\u0103 a opera\u021biunilor scalare oferite de compilatorul JIT HotSpot, noul API permite gestionarea explicit\u0103 a avectoriz\u0103rii pentru procesarea paralel\u0103 a datelor.\n<li class=\"l\"> \u00cen codul JDK \u0219i al VM HotSpot, scris \u00een C++, este permis s\u0103 se foloseasc\u0103 caracteristicile introduse \u00een specifica\u021bia C++14. Anterior, era permis\u0103 utilizarea standardelor C++98\/03.\n<li class=\"l\"> \u00cen colectorul de gunoi ZGC (Z Garbage Collector), care func\u021bioneaz\u0103 \u00een mod pasiv \u0219i minimizeaz\u0103 \u00eent\u00e2rzierile cauzate de colectarea gunoaielor, a fost ad\u0103ugat\u0103 posibilitatea de procesare paralel\u0103 a stivelor firelor f\u0103r\u0103 a suspenda execu\u021bia firelor aplica\u021biei. \u00cen ZGC au r\u0103mas acum doar acele opera\u021biuni care necesit\u0103 suspendarea activit\u0103\u021bii, care au \u00eent\u00e2rzieri constante, de obicei ner\u0103spunz\u00e2nd mai mult de c\u00e2teva sute de microsecunde.\n<li class=\"l\"> \u00cen clasele SocketChannel, ServerSocketChannel \u0219i java.nio.channels a fost ad\u0103ugat\u0103 suportul pentru socket-urile Unix (AF_UNIX).\n<li class=\"l\"> A fost realizat un port pentru distribu\u021bia Linux Alpine cu biblioteca standard C musl, popular\u0103 \u00een medii de containere, microservicii, cloud \u0219i sisteme \u00eencorporate. Portul propus \u00een astfel de medii permite executarea programelor Java ca aplica\u021bii obi\u0219nuite. \u00cen plus, utiliz\u00e2nd jlink, se pot elimina toate modulele neutilizate \u0219i se poate crea un mediu minim suficient pentru executarea aplica\u021biei, permi\u021b\u00e2nd crearea de imagini compacte specifice aplica\u021biilor.\n<li class=\"l\"> A fost implementat mecanismul Elastic Metaspace, care optimizeaz\u0103 opera\u021biunile de alocare \u0219i de returnare a memoriei ocupate de metadatele claselor (metaspace) \u00een JVM HotSpot. Utilizarea Elastic Metaspace reduce fragmentarea memoriei, scade costurile \u00een \u00eenc\u0103rc\u0103torul de clase \u0219i contribuie pozitiv la performan\u021ba aplica\u021biilor server pe termen lung prin returnarea mai rapid\u0103 c\u0103tre sistemul de operare a memoriei ocupate de metadatele claselor neutilizate. Pentru a alege modul de eliberare a memoriei dup\u0103 desc\u0103rcarea claselor, a fost propus\u0103 op\u021biunea &#171;-XX:MetaspaceReclaimPolicy=(balanced|aggressive|none)&#187;.\n<li class=\"l\"> A fost ad\u0103ugat portul JDK pentru sistemele Windows care ruleaz\u0103 pe hardware cu procesoare bazate pe arhitectura AArch64.\n<li class=\"l\"> A fost propus\u0103 a treia variant\u0103 preliminar\u0103 a API-ului Foreign-Memory Access, care permite aplica\u021biilor Java s\u0103 acceseze \u00een mod sigur \u0219i eficient zonele de memorie \u00een afara heap-ului Java, manipul\u00e2nd noile abstractiz\u0103ri MemorySegment, MemoryAddress \u0219i MemoryLayout.\n<li class=\"l\"> A fost implementat un API experimental Foreign Linker, care ofer\u0103 acces din Java la codul nativ. \u00cempreun\u0103 cu API-ul Foreign-Memory, noul interfa\u021b\u0103 simplific\u0103 semnificativ crearea de wrapper-e pentru bibliotecile partajate obi\u0219nuite.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 utilitatea jpackage, care permite crearea de pachete pentru aplica\u021biile Java autonome (self-contained). Utilitatea se bazeaz\u0103 pe javapackager din JavaFX \u0219i permite formarea de pachete \u00een formate native pentru diferite platforme (msi \u0219i exe pentru Windows, pkg \u0219i dmg pentru macOS, deb \u0219i rpm pentru Linux). Pachetele includ toate dependen\u021bele necesare.\n<li class=\"l\"> Implicit, a fost activat\u0103 o incapsulare strict\u0103 a tuturor elementelor interne JDK, cu excep\u021bia API-urilor critice, cum ar fi sun.misc.Unsafe. Valoarea op\u021biunii &#171;&#8212;illegal-access&#187; este acum setat\u0103 implicit la &#171;deny&#187; \u00een loc de &#171;permit&#187;, ceea ce va bloca \u00eencerc\u0103rile de acces din cod la majoritatea claselor, metodelor \u0219i c\u00e2mpurilor interne. Pentru a ocoli aceast\u0103 restric\u021bie, ar trebui folosit\u0103 op\u021biunea &#171;&#8212;illegal-access=permit&#187;.\n<li class=\"l\"> A fost stabilizat\u0103 implementarea opera\u021biei de potrivire cu \u0219ablon \u00een operatorul &#171;instanceof&#187;, care permite imediat definirea unei variabile locale pentru referirea la valoarea verificat\u0103. De exemplu, este posibil s\u0103 scrii imediat &#171;if (obj instanceof String s &#038;&#038; s.length() &gt; 5) {.. s.contains(..) ..}&#187; f\u0103r\u0103 a defini explicit &#171;String s = (String) obj&#187;. A fost: if (obj instanceof Group) { Group group = (Group) obj; var entries = group.getEntries(); } Acum, se poate evita definirea &#171;Group group = (Group) obj&#187;: if (obj instanceof Group group) { var entries = group.getEntries(); }\n<li class=\"l\"> A fost stabilizat\u0103 implementarea cuv\u00e2ntului cheie &#171;record&#187;, care ofer\u0103 o form\u0103 compact\u0103 pentru definirea claselor, permi\u021b\u00e2nd evitarea defini\u021biei explicite a diferitelor metode de nivel sc\u0103zut, cum ar fi equals(), hashCode() \u0219i toString(), \u00een cazul \u00een care datele sunt p\u0103strate doar \u00een c\u00e2mpuri, comportamentul acestora r\u0103m\u00e2n\u00e2nd neschimbat. C\u00e2nd \u00een clas\u0103 sunt utilizate implement\u0103ri generice ale metodelor equals(), hashCode() \u0219i toString(), poate fi evitat\u0103 defini\u021bia explicit\u0103 a acestora: public record BankTransaction(LocalDate date, double amount, String description) {}\n<p>Aceast\u0103 declara\u021bie va duce la ad\u0103ugarea automat\u0103 a implement\u0103rilor metodelor equals(), hashCode() \u0219i toString() \u00een plus fa\u021b\u0103 de constructor \u0219i metodele care controleaz\u0103 modificarea datelor (getter).      <\/p>\n<li class=\"l\"> A fost propus a doua variant\u0103 preliminar\u0103 a claselor \u0219i interfe\u021belor sigilate (\"sealed\"), care nu pot fi utilizate de alte clase \u0219i interfe\u021be pentru mo\u0219tenire, extindere sau suprascrierea implement\u0103rii. Clasele sigilate ofer\u0103, de asemenea, o modalitate mai declarativ\u0103 de a restric\u021biona utilizarea superclasei dec\u00e2t modificatorii de acces, baz\u00e2ndu-se pe enumerarea explicit\u0103 a subclaselelor permise pentru extindere.         package com.example.geometry;       public sealed class Shape          permits com.example.polar.Circle,                  com.example.quad.Rectangle,                  com.example.quad.simple.Square {&#8230;}        <\/ul>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54769\">opennet.ro<\/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 16 (Java Platform, Standard Edition 16), \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. \u0412 Java SE 16 \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, \u0432\u0441\u0435 \u0440\u0430\u043d\u0435\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 Java-\u043f\u0440\u043e\u0435\u043a\u0442\u044b \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 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 [&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-99453","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - 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 16 (Java Platform, Standard Edition 16), \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\/ro\/blog\/news\/vypusk-java-se-16\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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 16 | 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 16 (Java Platform, Standard Edition 16), \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\/ro\/blog\/news\/vypusk-java-se-16\" \/>\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-03-17T02:22:35+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-03-17T02:22:35+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\udd47Lansare Java SE 16 | ProHoster","description":"Dup\u0103 \u0219ase luni de dezvoltare, compania Oracle a lansat platforma Java SE 16 (Java Platform, Standard Edition 16), av\u00e2nd ca implementare de referin\u021b\u0103 proiectul deschis OpenJDK.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-java-se-16","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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 16 | 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 16 (Java Platform, Standard Edition 16), \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\/ro\/blog\/news\/vypusk-java-se-16","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-03-17T02:22:35+00:00","article:modified_time":"2021-03-17T02:22:35+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"99453","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-03-17 02:50:53","updated":"2022-09-27 17:21:53","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/99453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=99453"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/99453\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=99453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=99453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=99453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}