{"id":74554,"date":"2020-03-18T20:41:55","date_gmt":"2020-03-18T17:41:55","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-java-se-14"},"modified":"2020-03-18T20:41:55","modified_gmt":"2020-03-18T17:41:55","slug":"vypusk-java-se-14","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/vypusk-java-se-14","title":{"rendered":"Uscita di Java SE 14","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dopo sei mesi di sviluppo, Oracle <noindex><a rel=\"nofollow\" href=\"http:\/\/mail.openjdk.java.net\/pipermail\/announce\/2020-March\/000282.htm\">ha rilasciato<\/a><\/noindex> la piattaforma <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase-downloads.html\">Java SE 14<\/a><\/noindex> (Java Platform, Standard Edition 14), la cui implementazione di riferimento \u00e8 il progetto open source OpenJDK. In Java SE 14 \u00e8 mantenuta la retrocompatibilit\u00e0 con le versioni precedenti della piattaforma Java; tutti i progetti Java gi\u00e0 scritti continueranno a funzionare senza modifiche su questa nuova versione. Sono disponibili pacchetti pronti per l'installazione di Java SE 14 (JDK, JRE e Server JRE) <noindex><a rel=\"nofollow\" href=\"http:\/\/jdk.java.net\/14\">preparati<\/a><\/noindex> per Linux (x86_64), Windows e macOS. L'implementazione di riferimento sviluppata nel progetto OpenJDK <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/14\/\">Java 14<\/a><\/noindex> \u00e8 completamente open source sotto la licenza GPLv2 con eccezioni GNU ClassPath, che consentono il collegamento dinamico con prodotti commerciali. <\/p>\n<p>Java SE 14 \u00e8 classificato tra le versioni a ciclo di vita standard, con aggiornamenti previsti fino alla prossima release. Per una branch a lungo termine (LTS) si consiglia di utilizzare Java SE 11, con aggiornamenti disponibili fino al 2026. La precedente branch LTS, Java 8, sar\u00e0 supportata fino a dicembre 2020. Il prossimo rilascio LTS \u00e8 previsto per settembre 2021. Ricordiamo che a partire dalla release di Java 10, il progetto ha adottato un nuovo processo di sviluppo, che prevede cicli di rilascio pi\u00f9 brevi. Ora, le nuove funzionalit\u00e0 vengono sviluppate in un branch master costantemente aggiornato, in cui vengono incluse le modifiche pronte, e da cui si diramano branch per stabilizzare le nuove versioni ogni sei mesi. <\/p>\n<p>Da <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/14\/\">novit\u00e0<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/jdk.java.net\/14\/release-notes#newfeatures\">Java 14<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase\/14u-relnotes.html\">\u00e8 possibile<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/javamagazine\/java-14-arrives-with-a-host-of-new-features\">selezionare<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> Supporto sperimentale aggiunto <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/305\">corrispondenza con il modello<\/a><\/noindex> nell'operatore <code>instanceof<\/code>, che consente di definire immediatamente una variabile locale per accedere al valore verificato. Ad esempio, si pu\u00f2 scrivere direttamente <code>if (obj instanceof String s &amp;&amp; s.length() &gt; 5) {.. s.contains(..) ..}<\/code> senza una definizione esplicita <code>String s = (String) obj<\/code>.\n<p>Era:<\/p>\n<p>   if (obj instanceof Group) {<br \/>\n     Group group = (Group) obj;<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<p>Ora \u00e8 possibile evitare la definizione <code>Group group = (Group) obj<\/code>:<\/p>\n<p>   if (obj instanceof Group group) {<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<li class=\"l\"> Aggiunta la supporto sperimentale per la nuova parola chiave &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/359\">record<\/a><\/noindex><code>, che fornisce una forma compatta per definire classi, permettendo di evitare la definizione esplicita di vari metodi a basso livello, come equals(), hashCode() e toString(), nei casi in cui i dati sono memorizzati solo nei campi, il cui comportamento non cambia. Quando si utilizzano implementazioni standard dei metodi equals(), hashCode() e toString() in una classe, \u00e8 possibile evitarne la definizione esplicita:\n<p>   public record BankTransaction(LocalDate date,<br \/>\n                              double amount,<br \/>\n                              String description) {}<\/p>\n<p>Questa dichiarazione porter\u00e0 all'aggiunta automatica delle implementazioni dei metodi equals(), hashCode() e toString() oltre al costruttore e ai metodi che controllano la modifica dei dati (getter).<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/361\">Standardizzata<\/a><\/noindex> ed \u00e8 abilitato per impostazione predefinita il supporto per la nuova forma di espressioni &#171;switch&#187;, che non richiede l'indicazione dell'operatore &#171;break&#187;, permettendo di unire etichette duplicate e consentendo l'uso non solo come operatore, ma anche come espressione.\n<p>   var log = switch (event) {<br \/>\n       case PLAY -&gt; &#171;L'utente ha attivato il pulsante di riproduzione&#187;;<br \/>\n       case STOP, PAUSE -&gt; &#171;L'utente ha bisogno di una pausa&#187;;<br \/>\n       default -&gt; {<br \/>\n           String message = event.toString();<br \/>\n           LocalDateTime now = LocalDateTime.now();<br \/>\n           yield &#171;Evento sconosciuto &#187; + message +<br \/>\n              &#187; registrato su &#187; + now;<br \/>\n       }<br \/>\n   };<\/p>\n<li class=\"l\"> Espansa la supporto sperimentale <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/368\">dei blocchi di testo<\/a><\/noindex> &#8212; nuova forma di letterali di stringa, permettendo di includere nel codice sorgente dati testuali multilinea senza applicare l'escaping dei caratteri e mantenendo il formato originale del testo nel blocco. Il blocco \u00e8 incapsulato da tre virgolette doppie. In Java 14, nei blocchi di testo \u00e8 implementato il supporto per la sequenza di escape &#171;&#092;s&#187; per definire uno spazio e &#171;&#092;&#187; per unirsi alla riga successiva (ignorando il ritorno a capo quando \u00e8 necessario stampare una riga molto lunga). Ad esempio, invece del codice\n<p>   String html = \"\" +<br \/>\n   \"\n\t\" + \"\" +<br \/>\n   &#171;&#092;n&#092;t&#092;t&#187; + &#171;&lt;H1&gt;&#092;&#187;Java 14 \u00e8 arrivato!&#092;&#187;&lt;\/H1&gt;&#187; +<br \/>\n   \"\n\t\" + \"\" +<br \/>\n   \"\n\" + \"\";<\/p>\n<p>si pu\u00f2 specificare:<\/p>\n<p>   String html = \"\"\"<br \/>\n   &lt;HTML&gt;<br \/>\n     &lt;BODY&gt;<br \/>\n       &lt;H1&gt;&#187;Java 14&#092;<br \/>\n Java 15<\/H1><br \/>\n     &lt;\/BODY&gt;<br \/>\n   \"\"\";<\/p>\n<li class=\"l\"> Aumentata l'informativit\u00e0 della diagnosi in caso di eccezioni <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/358\">NullPointerException<\/a><\/noindex>. Se in precedenza il messaggio di errore faceva solo riferimento al numero di riga, ora fornisce dettagli su quale metodo ha causato l'eccezione. La diagnostica avanzata \u00e8 attualmente attivata solo durante l'esecuzione con il flag &#171;-XX:+ShowCodeDetailsInExceptionMessages&#187;. Ad esempio, impostando questo flag, l'eccezione nella riga\n<p>   var name = user.getLocation().getCity().getName();<\/p>\n<p> porter\u00e0 a un messaggio di output<\/p>\n<p>   Eccezione nel thread &#171;main&#187; java.lang.NullPointerException: Impossibile invocare &#171;Location.getCity()&#187;<br \/>\n   perch\u00e9 il valore di ritorno di &#171;User.getLocation()&#187; \u00e8 nullo<br \/>\n   at NullPointerExample.main(NullPointerExample.java:5):5)<\/p>\n<p>che permette di capire che il metodo Location.getCity() non \u00e8 stato invocato, e che User.getLocation() ha restituito un valore null.<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/343\">Implementato<\/a><\/noindex> una versione preliminare dello strumento jpackage, che consente di creare pacchetti per applicazioni Java autoconclusive (self-contained). Lo strumento si basa su javapackager di JavaFX e permette di generare pacchetti in formati nativi per diverse piattaforme (msi ed exe per Windows, pkg e dmg per macOS, deb e rpm per Linux). I pacchetti includono tutte le dipendenze necessarie.\n<li class=\"l\"> Nel garbage collector G1 <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/345\">\u00e8 stato aggiunto<\/a><\/noindex> nuovo meccanismo di allocazione della memoria, che tiene conto delle specificit\u00e0 del lavoro su grandi sistemi che utilizzano architetture <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Non-Uniform_Memory_Access\">NUMA<\/a><\/noindex>. Un nuovo allocatore di memoria viene attivato utilizzando il flag &#171;+XX:+UseNUMA&#187; e consente di aumentare significativamente le prestazioni sui sistemi NUMA.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/349\">Aggiunto<\/a><\/noindex> API per il monitoraggio in tempo reale degli eventi JFR (JDK Flight Recorder), ad esempio per organizzare un monitoraggio continuo.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/352\">Aggiunto<\/a><\/noindex> modulo jdk.nio.mapmode, che offre nuove modalit\u00e0 (READ_ONLY_SYNC, WRITE_ONLY_SYNC) per la creazione di buffer di byte mappati (MappedByteBuffer) che fanno riferimento a memoria non volat di tipo NVM.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/370\">Implementato<\/a><\/noindex> una versione preliminare dell'API Foreign-Memory Access che consente alle applicazioni Java di accedere in modo sicuro ed efficiente alle aree di memoria al di fuori dell'heap Java, manipolando nuove astrazioni come MemorySegment, MemoryAddress e MemoryLayout.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/362\">Annunciati<\/a><\/noindex> porte obsolete per il sistema operativo Solaris e processori SPARC (Solaris\/SPARC, Solaris\/x64 e Linux\/SPARC) con l'intenzione di rimuovere tali porte in futuro. La classificazione di queste porte come obsolete permetter\u00e0 alla comunit\u00e0 di accelerare lo sviluppo di nuove funzionalit\u00e0 in OpenJDK, senza sprecare tempo a mantenere caratteristiche specifiche per Solaris e SPARC.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/363\">Rimosso<\/a><\/noindex> il garbage collector CMS (Concurrent Mark Sweep), che \u00e8 stato contrassegnato come obsoleto due anni fa e non \u00e8 pi\u00f9 supportato (il garbage collector G1 ha preso il suo posto da tempo). Inoltre, <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/366\">annunciato<\/a><\/noindex> Obsoleto l'uso della combinazione di algoritmi di raccolta dei rifiuti ParallelScavenge e SerialOld (esecuzione con le opzioni &#171;-XX:+UseParallelGC -XX:-UseParallelOldGC&#187;).\n<li class=\"l\"> \u00c8 stato fornito il supporto sperimentale per il garbage collector ZGC (Z Garbage Collector) sulle piattaforme macOS e Windows (in precedenza supportato solo su Linux). ZGC funziona in modalit\u00e0 passiva, minimizzando il pi\u00f9 possibile i ritardi dovuti alla raccolta dei rifiuti (il tempo di arresto durante l'uso di ZGC non supera i 10 ms) e pu\u00f2 funzionare sia con heap piccoli che con enormi, da centinaia di megabyte a diversi terabyte.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/367\">Rimossi<\/a><\/noindex> strumenti e API per la compressione dei file JAR utilizzando l'algoritmo Pack200.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52559\">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 14 (Java Platform, Standard Edition 14), \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 14 \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-74554","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.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\" \/>\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\/it\/blog\/novosti-interneta\/vypusk-java-se-14\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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 14 | 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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/vypusk-java-se-14\" \/>\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=\"2020-03-18T17:41:55+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-18T17:41:55+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\udd47Rilascio di Java SE 14 | ProHoster","description":"Dopo sei mesi di sviluppo, Oracle ha lanciato la piattaforma","canonical_url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/vypusk-java-se-14","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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 14 | 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","og:url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/vypusk-java-se-14","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":"2020-03-18T17:41:55+00:00","article:modified_time":"2020-03-18T17:41:55+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"74554","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-02-28 18:12:24","updated":"2022-10-01 23:29:02","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/74554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=74554"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/74554\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=74554"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=74554"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=74554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}