{"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\/news\/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, l'azienda Oracle <noindex><a rel=\"nofollow\" href=\"http:\/\/mail.openjdk.java.net\/pipermail\/announce\/2020-March\/000282.htm\">ha rilasciato<\/a><\/noindex> 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 fornita dal progetto open source OpenJDK. In Java SE 14 \u00e8 mantenuta la retrocompatibilit\u00e0 con le versioni precedenti della piattaforma Java, tutti i progetti Java precedentemente scritti funzioneranno senza modifiche sotto la nuova versione. Le build pronte per l'installazione di Java SE 14 (JDK, JRE e Server JRE) <noindex><a rel=\"nofollow\" href=\"http:\/\/jdk.java.net\/14\">sono stati preparati<\/a><\/noindex> per Linux (x86_64), Windows e macOS. L'implementazione di riferimento sviluppata nell'ambito del progetto OpenJDK <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/14\/\">Java 14<\/a><\/noindex> \u00e8 completamente aperta sotto licenza GPLv2 con eccezioni GNU ClassPath, che consentono il binding dinamico con prodotti commerciali. <\/p>\n<p>Java SE 14 \u00e8 classificato come una versione con ciclo di vita normale, gli aggiornamenti verranno rilasciati fino alla prossima release. Come filone LTS (supporto a lungo termine) si consiglia di utilizzare Java SE 11, gli aggiornamenti per cui verranno rilasciati fino al 2026. Il precedente filone LTS Java 8 sar\u00e0 supportato fino a dicembre 2020. La prossima release LTS \u00e8 prevista per settembre 2021. Ricordiamo che a partire dalla release Java 10, il progetto \u00e8 passato a un nuovo processo di sviluppo, che prevede cicli di rilascio pi\u00f9 brevi. Le nuove funzionalit\u00e0 vengono ora sviluppate in un unico branch master, che viene aggiornato continuamente e da cui si diramano branch di stabilizzazione per 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\">segnalare<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> \u00c8 stato aggiunto il supporto sperimentale <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/305\">corrispondenza con il modello<\/a><\/noindex> nell'operatore &#171;instanceof&#187;, che consente di definire immediatamente una variabile locale per accedere al valore verificato. Ad esempio, \u00e8 possibile scrivere subito &#171;if (obj instanceof String s &#038;&#038; s.length() &gt; 5) {.. s.contains(..) ..}&#187; senza una dichiarazione esplicita &#171;String s = (String) obj&#187;.\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 non \u00e8 pi\u00f9 necessario definire &#171;Group group = (Group) obj&#187;:<\/p>\n<p>   if (obj instanceof Group group) {<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<li class=\"l\"> \u00c8 stata aggiunta la supporto sperimentale per la nuova parola chiave &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/359\">record<\/a><\/noindex>&#171;, che fornisce una forma compatta per definire le classi, consentendo di evitare la definizione esplicita di vari diversi 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 una classe utilizza implementazioni generiche dei metodi equals(), hashCode() e toString(), non \u00e8 necessario definire esplicitamente questi metodi:\n<p>   record pubblico BankTransaction(LocalDate data,<br \/>\n                              double importo,<br \/>\n                              String descrizione) {}<\/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\">Standardizzato<\/a><\/noindex> ed \u00e8 stata inclusa per impostazione predefinita la supporto per la nuova forma di espressioni &#171;switch&#187;, che non richiede l'uso dell'operatore &#171;break&#187;, consentendo di combinare etichette ripetute e permettendo l'uso non solo nella forma di operatore, ma anche come espressione.\n<p>   var log = switch (evento) {<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 messaggio = evento.toString();<br \/>\n           LocalDateTime adesso = LocalDateTime.now();<br \/>\n           yield &#171;Evento sconosciuto &#187; + message +<br \/>\n              &#187; registrato il &#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\">per blocchi di testo<\/a><\/noindex> &#8212; una nuova forma di stringhe letterali, che consente di includere nel codice sorgente dati di testo su pi\u00f9 righe senza l'uso di escape e mantenendo il formato originale del testo nel blocco. Il blocco \u00e8 delimitato da tre virgolette doppie. In Java 14, nei blocchi di testo \u00e8 stata implementata la supporto per la sequenza di escape &#171;&#092;s&#187; per definire uno spazio e &#171;&#092;&#187; per concatenare con la riga successiva (ignorando il ritorno a capo, quando \u00e8 necessario visualizzare una riga molto lunga). Ad esempio, invece del codice\n<p>   String html = &#171;&lt;HTML&gt;&#187; +<br \/>\n   &#171;&#092;n&#092;t&#187; + &#171;&lt;BODY&gt;&#187; +<br \/>\n   &#171;&#092;n&#092;t&#092;t&#187; + &#171;&lt;H1&gt;&#092;&#187;Java 14 \u00e8 qui!&#092;&#187;&lt;\\\/H1&gt;&#187; +<br \/>\n   &#171;&#092;n&#092;t&#187; + &#171;&lt;\\\/BODY&gt;&#187; +<br \/>\n   &#171;&#092;n&#187; + &#171;&lt;\\\/HTML&gt;&#187;;<\/p>\n<p>si pu\u00f2 specificare:<\/p>\n<p>   String html = &#171;&#187;&#187;<br \/>\n   &lt;HTML&gt;<br \/>\n     &lt;BODY&gt;<br \/>\n       &lt;H1&gt;&#187;Java 14&#092;<br \/>\n \u00e8 qui!&#187;&lt;\\\/H1&gt;<br \/>\n     &lt;\\\/BODY&gt;<br \/>\n   &lt;\\\/HTML&gt;&#187;&#187;&#187;;<\/p>\n<li class=\"l\"> Espansa l'informativit\u00e0 della diagnostica in caso di eccezioni <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/358\">NullPointerException<\/a><\/noindex>. Se in passato il messaggio di errore faceva riferimento solo al numero di riga, ora specifica quale dei metodi ha causato l'eccezione. La diagnostica estesa \u00e8 attualmente attivata solo all'avvio con il flag &#171;-XX:+ShowCodeDetailsInExceptionMessages&#187;. Ad esempio, specificando questo flag, l'eccezione nella riga\n<p>   var name = user.getLocation().getCity().getName();<\/p>\n<p> porter\u00e0 alla visualizzazione del messaggio<\/p>\n<p>   Eccezione nel thread \u00abmain\u00bb java.lang.NullPointerException: Impossibile invocare \u00abLocation.getCity()\u00bb<br \/>\n   perch\u00e9 il valore restituito da \u00abUser.getLocation()\u00bb \u00e8 nullo<br \/>\n   in NullPointerExample.main(NullPointerExample.java:5):5)<\/p>\n<p>che permette di capire che il metodo Location.getCity() non \u00e8 stato invocato, ma User.getLocation() ha restituito un valore nullo.<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/343\">Realizzato<\/a><\/noindex> una versione preliminare dell'utility jpackage, che permette di creare pacchetti per applicazioni Java autonome (self-contained). L'utility si basa su javapackager di JavaFX e consente di formare pacchetti in formati nativi per diverse piattaforme (msi e exe per Windows, pkg e dmg per macOS, deb e rpm per Linux). I pacchetti includono tutte le dipendenze necessarie.\n<li class=\"l\"> Nella raccolta di rifiuti G1 <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/345\">\u00e8 stata aggiunta<\/a><\/noindex> nuovo meccanismo di distribuzione della memoria, tenendo conto delle specificit\u00e0 del lavoro su grandi sistemi che utilizzano l'architettura <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Non-Uniform_Memory_Access\">NUMA<\/a><\/noindex>. Un nuovo distributore di memoria viene attivato tramite il flag \u00ab+XX:+UseNUMA\u00bb e consente di aumentare notevolmente 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 monitorare in tempo reale gli 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 creare buffer di byte mappati (MappedByteBuffer) che fanno riferimento alla memoria non volatile (NVM).\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/370\">Realizzato<\/a><\/noindex> bozza dell'API Foreign-Memory Access, che consente alle applicazioni Java di accedere in modo sicuro ed efficiente alle aree di memoria al di fuori della 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\">Dichiarati<\/a><\/noindex> obsoleti i port per il sistema operativo Solaris e per i processori SPARC (Solaris\/SPARC, Solaris\/x64 e Linux\/SPARC) con l'intento di rimuovere questi port in futuro. La classificazione di questi port come obsoleti permetter\u00e0 alla comunit\u00e0 di accelerare lo sviluppo di nuove funzionalit\u00e0 di OpenJDK, senza sprecare tempo nel 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 due anni fa era stato dichiarato obsoleto e non \u00e8 pi\u00f9 supportato (da tempo CMS \u00e8 stato sostituito dal garbage collector G1). Inoltre, <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/366\">annunciato<\/a><\/noindex> obsoleto l'uso della combinazione degli algoritmi di raccolta dei rifiuti ParallelScavenge e SerialOld (avvio con le opzioni \u00ab-XX:+UseParallelGC -XX:-UseParallelOldGC\u00bb).\n<li class=\"l\"> \u00c8 fornito supporto sperimentale per il garbage collector ZGC (Z Garbage Collector) sulle piattaforme macOS e Windows (in precedenza supportato solo su Linux). ZGC opera in modalit\u00e0 passiva, minimizzando il pi\u00f9 possibile i ritardi causati dalla garbage collection (il tempo di arresto durante l'uso di ZGC non supera i 10 ms) e pu\u00f2 funzionare sia con heap di piccole dimensioni che con enormi heap, che variano da diverse centinaia di megabyte fino a diversi terabyte.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/367\">Rimossi<\/a><\/noindex> toolkit e API per la compressione di 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-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.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\/news\/vypusk-java-se-14\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.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\/news\/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 rilasciato la piattaforma","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/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\/news\/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}]}}