{"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\/es\/blog\/news\/vypusk-java-se-14","title":{"rendered":"Lanzamiento de Java SE 14","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Despu\u00e9s de seis meses de desarrollo, la empresa Oracle <noindex><a rel=\"nofollow\" href=\"http:\/\/mail.openjdk.java.net\/pipermail\/announce\/2020-March\/000282.htm\">lanz\u00f3<\/a><\/noindex> plataforma <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase-downloads.html\">Java SE 14<\/a><\/noindex> (Java Platform, Standard Edition 14), cuya implementaci\u00f3n de referencia utiliza el proyecto de c\u00f3digo abierto OpenJDK. Java SE 14 mantiene la compatibilidad hacia atr\u00e1s con versiones anteriores de la plataforma Java; todos los proyectos Java previamente escritos funcionar\u00e1n sin modificaciones al ejecutarse en la nueva versi\u00f3n. Construcciones listas para instalar de Java SE 14 (JDK, JRE y Server JRE) <noindex><a rel=\"nofollow\" href=\"http:\/\/jdk.java.net\/14\">preparadas<\/a><\/noindex> para Linux (x86_64), Windows y macOS. Implementaci\u00f3n de referencia desarrollada en el marco del proyecto OpenJDK <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/14\/\">Java 14<\/a><\/noindex> est\u00e1 completamente abierta bajo la licencia GPLv2 con excepciones de GNU ClassPath, que permiten el enlace din\u00e1mico con productos comerciales. <\/p>\n<p>Java SE 14 se clasifica como un lanzamiento con un ciclo de soporte normal, con actualizaciones que ser\u00e1n lanzadas hasta el pr\u00f3ximo lanzamiento. Para una rama con soporte extendido (LTS), se debe usar Java SE 11, cuyas actualizaciones se lanzar\u00e1n hasta 2026. La anterior rama LTS, Java 8, se mantendr\u00e1 hasta diciembre de 2020. El pr\u00f3ximo lanzamiento LTS est\u00e1 programado para septiembre de 2021. Recordemos que a partir del lanzamiento de Java 10, el proyecto cambi\u00f3 a un nuevo proceso de desarrollo, que implica un ciclo m\u00e1s corto para la creaci\u00f3n de nuevos lanzamientos. La nueva funcionalidad ahora se desarrolla en una rama master que se actualiza continuamente, en la que se incluyen cambios listos y de la cual se bifurcan ramas cada seis meses para estabilizar nuevos lanzamientos. <\/p>\n<p>De <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/14\/\">novedades<\/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\">en<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/javamagazine\/java-14-arrives-with-a-host-of-new-features\">marcar<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> Se ha a\u00f1adido soporte experimental para <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/305\">coincidencia con el patr\u00f3n<\/a><\/noindex> en el operador &#171;instanceof&#187;, que permite definir inmediatamente una variable local para hacer referencia al valor comprobado. Por ejemplo, se puede escribir directamente &#171;if (obj instanceof String s &#038;&#038; s.length() &gt; 5) {.. s.contains(..) ..}&#187; sin definici\u00f3n expl\u00edcita &#171;String s = (String) obj&#187;.\n<p>Antes:<\/p>\n<p>   if (obj instanceof Group) {<br \/>\n     Group group = (Group) obj;<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<p>Ahora se puede prescindir de la definici\u00f3n &#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\"> Se ha a\u00f1adido soporte experimental para la nueva palabra clave \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/359\">record<\/a><\/noindex>&#171;, que proporciona una forma compacta de definir clases, evitando la necesidad de definir expl\u00edcitamente varios m\u00e9todos de bajo nivel, como equals(), hashCode() y toString(), en los casos en que los datos se almacenan solo en campos, cuyo comportamiento no cambia. Cuando en la clase se utilizan implementaciones t\u00edpicas de los m\u00e9todos equals(), hashCode() y toString(), se puede omitir su definici\u00f3n expl\u00edcita:\n<p>   public record BankTransaction(LocalDate date,<br \/>\n                              double amount,<br \/>\n                              String description) {}<\/p>\n<p>Esta declaraci\u00f3n llevar\u00e1 a la adici\u00f3n autom\u00e1tica de las implementaciones de los m\u00e9todos equals(), hashCode() y toString(), adem\u00e1s del constructor y m\u00e9todos que controlan la modificaci\u00f3n de datos (getter).<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/361\">Estandarizado<\/a><\/noindex> y se ha habilitado por defecto el soporte para la nueva forma de expresiones \u00abswitch\u00bb, que no requiere la especificaci\u00f3n del operador \u00abbreak\u00bb, permitiendo combinar etiquetas repetidas y pudiendo utilizarse no solo en forma de operador, sino tambi\u00e9n como expresi\u00f3n.\n<p>   var log = switch (event) {<br \/>\n       case PLAY -&gt; \u00abEl usuario ha presionado el bot\u00f3n de reproducci\u00f3n\u00bb;<br \/>\n       case STOP, PAUSE -&gt; \u00abEl usuario necesita un descanso\u00bb;<br \/>\n       default -&gt; {<br \/>\n           String message = event.toString();<br \/>\n           LocalDateTime now = LocalDateTime.now();<br \/>\n           yield \u00abEvento desconocido \u00bb + message +<br \/>\n              \u00bb registrado en \u00bb + now;<br \/>\n       }<br \/>\n   };<\/p>\n<li class=\"l\"> Se ha ampliado el soporte experimental <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/368\">de bloques de texto<\/a><\/noindex> \u2014 una nueva forma de literales de cadena, que permite incluir en el c\u00f3digo fuente datos textuales de varias l\u00edneas sin necesidad de escapar caracteres en ellos y manteniendo el formato original del texto en el bloque. El bloque se delimita con tres comillas dobles. En Java 14, en los bloques de texto se ha implementado el soporte para la secuencia de escape \u00ab\\s\u00bb para definir un espacio y \u00ab\\\u00bb para concatenar con la siguiente l\u00ednea (ignorando el salto de l\u00ednea cuando se necesita imprimir una l\u00ednea muy larga). Por ejemplo, en lugar del c\u00f3digo\n<p>   String html = &#171;&lt;HTML&gt;&#187; +<br \/>\n   &#171;&#092;n&#092;t&#187; + &#171;&lt;BODY&gt;&#187; +<br \/>\n   \u00ab\\n\\t\\t\u00bb + \u00ab<h1>\u00a1Java 14 ya est\u00e1 aqu\u00ed!<\/h1>\u00bb +<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>se puede especificar:<\/p>\n<p>   String html = &#171;&#187;&#187;<br \/>\n   &lt;HTML&gt;<br \/>\n     &lt;BODY&gt;<br \/>\n       <h1>\u00bbJava 14\\<br \/>\n \u00a1ya est\u00e1 aqu\u00ed!&#187;&lt;\\\/H1&gt;<br \/>\n     &lt;\\\/BODY&gt;<br \/>\n   &lt;\\\/HTML&gt;&#187;&#187;&#187;;<\/p>\n<li class=\"l\"> Se ha ampliado la informaci\u00f3n de diagn\u00f3stico al producirse excepciones <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/358\">NullPointerException<\/a><\/noindex>. Si antes el mensaje de error solo hac\u00eda referencia al n\u00famero de l\u00ednea, ahora detalla qu\u00e9 m\u00e9todo caus\u00f3 la excepci\u00f3n. La diagnosis ampliada actualmente solo se activa al ejecutar con la bandera \u00ab-XX:+ShowCodeDetailsInExceptionMessages\u00bb. Por ejemplo, si se especifica esta bandera, la excepci\u00f3n en la l\u00ednea\n<p>   var name = user.getLocation().getCity().getName();<\/p>\n<p> resultar\u00e1 en el mensaje<\/p>\n<p>   Exception in thread \u00abmain\u00bb java.lang.NullPointerException: No se puede invocar \u00abLocation.getCity()\u00bb<br \/>\n   porque el valor de retorno de \u00abUser.getLocation()\u00bb es null<br \/>\n   at NullPointerExample.main(NullPointerExample.java:5):5)<\/p>\n<p>lo que permite entender que el m\u00e9todo Location.getCity() no fue invocado, y que User.getLocation() devolvi\u00f3 un valor nulo.<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/343\">Se implement\u00f3<\/a><\/noindex> una versi\u00f3n preliminar de la utilidad jpackage, que permite crear paquetes para aplicaciones Java autoconclusivas (self-contained). Esta utilidad se basa en javapackager de JavaFX y permite formar paquetes en formatos nativos para varias plataformas (msi y exe para Windows, pkg y dmg para macOS, deb y rpm para Linux). Los paquetes incluyen todas las dependencias necesarias.\n<li class=\"l\"> En el recolector de basura G1 <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/345\">se ha agregado<\/a><\/noindex> un nuevo mecanismo de distribuci\u00f3n de memoria que considera las especificaciones del trabajo en grandes sistemas que utilizan la arquitectura <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Non-Uniform_Memory_Access\">NUMA<\/a><\/noindex>. Un nuevo distribuidor de memoria se activa con la bandera \u00ab+XX:+UseNUMA\u00bb y permite mejorar significativamente el rendimiento en sistemas NUMA.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/349\">Se a\u00f1adi\u00f3<\/a><\/noindex> API para monitorear eventos en tiempo real JFR (JDK Flight Recorder), por ejemplo, para organizar un monitoreo continuo.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/352\">Se a\u00f1adi\u00f3<\/a><\/noindex> el m\u00f3dulo jdk.nio.mapmode, que ofrece nuevos modos (READ_ONLY_SYNC, WRITE_ONLY_SYNC) para crear buffers byte mapeados (MappedByteBuffer), que apuntan a memoria no vol\u00e1til (NVM).\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/370\">Se implement\u00f3<\/a><\/noindex> una versi\u00f3n preliminar de la API de Acceso a Memoria Extranjera, que permite a las aplicaciones Java acceder de forma segura y eficiente a \u00e1reas de memoria fuera del mont\u00f3n de Java, manipulando nuevas abstracciones MemorySegment, MemoryAddress y MemoryLayout.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/362\">Se han declarado<\/a><\/noindex> puertos obsoletos para el sistema operativo Solaris y procesadores SPARC (Solaris\/SPARC, Solaris\/x64 y Linux\/SPARC) con la intenci\u00f3n de eliminar estos puertos en el futuro. Clasi\ufb01car los puertos mencionados como obsoletos permitir\u00e1 a la comunidad acelerar el desarrollo de nuevas funcionalidades en OpenJDK, sin perder tiempo en mantener caracter\u00edsticas espec\u00edficas de Solaris y SPARC.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/363\">Eliminado<\/a><\/noindex> el recolector de basura CMS (Concurrent Mark Sweep), que hace dos a\u00f1os fue declarado obsoleto y qued\u00f3 sin soporte (el recolector de basura G1 ha reemplazado a CMS desde hace tiempo). Adem\u00e1s, <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/366\">que<\/a><\/noindex> obsoleto el uso de la combinaci\u00f3n de algoritmos de recolecci\u00f3n de basura ParallelScavenge y SerialOld (ejecuci\u00f3n con las opciones \u00ab-XX:+UseParallelGC -XX:-UseParallelOldGC\u00bb).\n<li class=\"l\"> Se ha proporcionado soporte experimental para el recolector de basura ZGC (Z Garbage Collector) en las plataformas macOS y Windows (anteriormente solo se admit\u00eda en Linux). ZGC funciona en modo pasivo, minimizando, en la medida de lo posible, las interrupciones debido a la recolecci\u00f3n de basura (el tiempo de detenci\u00f3n al usar ZGC no supera los 10 ms) y puede trabajar tanto con montones peque\u00f1os como con enormes, que van desde varios cientos de megabytes hasta varios terabytes.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/367\">Eliminados<\/a><\/noindex> herramientas y API para comprimir archivos JAR utilizando el algoritmo Pack200.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fuente: <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.2 - 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\/es\/blog\/news\/vypusk-java-se-14\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47Lanzamiento de Java SE 14 | ProHoster","description":"Despu\u00e9s de seis meses de desarrollo, Oracle lanz\u00f3 la plataforma","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/vypusk-java-se-14","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/74554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=74554"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/74554\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=74554"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=74554"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=74554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}