{"id":94334,"date":"2020-09-16T01:42:08","date_gmt":"2020-09-15T23:42:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-java-se-15"},"modified":"2020-09-16T01:42:08","modified_gmt":"2020-09-15T23:42:08","slug":"vypusk-java-se-15","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/news\/vypusk-java-se-15","title":{"rendered":"Lanzamiento de Java SE 15","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-September\/000291.html\">lanz\u00f3<\/a><\/noindex> plataforma <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase-downloads.html\">Java SE 15<\/a><\/noindex> (Java Platform, Standard Edition 15), que utiliza como implementaci\u00f3n de referencia el proyecto abierto OpenJDK. Java SE 15 mantiene la compatibilidad hacia atr\u00e1s con las versiones anteriores de la plataforma Java, todos los proyectos Java escritos anteriormente funcionar\u00e1n sin cambios al ejecutarse en la nueva versi\u00f3n. Las versiones listas para instalar de Java SE 15 (JDK, JRE y Server JRE) <noindex><a rel=\"nofollow\" href=\"http:\/\/jdk.java.net\/15\">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\/15\/\">Java 15<\/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 15 se clasifica como una versi\u00f3n de soporte est\u00e1ndar, y las actualizaciones se lanzar\u00e1n hasta la pr\u00f3xima versi\u00f3n. Se debe utilizar Java SE 11 como rama de soporte a largo plazo (LTS), las actualizaciones de la cual se lanzar\u00e1n hasta 2026. La anterior rama LTS, Java 8, se mantendr\u00e1 hasta diciembre de 2020. La pr\u00f3xima versi\u00f3n LTS est\u00e1 programada para septiembre de 2021. Cabe recordar que a partir de la versi\u00f3n Java 10, el proyecto adopt\u00f3 un nuevo proceso de desarrollo, implicando un ciclo de lanzamiento m\u00e1s corto. La nueva funcionalidad ahora se desarrolla en una rama master que se actualiza continuamente, integrando los cambios listos y de la que se bifurcan ramas cada seis meses para estabilizar nuevas versiones. <\/p>\n<p>De <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">novedades<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/jdk.java.net\/14\/release-notes#newfeatures\">Java 15<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase\/15all-relnotes.html\">en<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/javamagazine\/inside-java-15-fourteen-jeps-in-five-buckets\">marcar<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/339\">Integrado<\/a><\/noindex> soporte para el algoritmo de creaci\u00f3n de firmas digitales EdDSA (Edwards-Curve Digital Signature Algorithm  <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc8032\">RFC 8032<\/a><\/noindex>). La implementaci\u00f3n propuesta de EdDSA no depende de plataformas de hardware, es resistente a ataques por canales laterales (garantizando un tiempo de ejecuci\u00f3n constante en todos los c\u00e1lculos) y super\u00f3 en rendimiento a la implementaci\u00f3n existente de ECDSA, escrita en C, manteniendo el mismo nivel de seguridad. Por ejemplo, EdDSA utilizando una curva el\u00edptica con una clave de 126 bits demuestra un rendimiento similar al de ECDSA con la curva el\u00edptica secp256r1 y una clave de 128 bits.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/360\">Se ha a\u00f1adido<\/a><\/noindex> soporte experimental de clases e interfaces selladas (&#171;sealed&#187;) que no pueden ser utilizadas por otras clases e interfaces para la herencia, extensi\u00f3n o sobreescritura de implementaci\u00f3n. Las clases selladas tambi\u00e9n proporcionan una manera m\u00e1s declarativa de restringir el uso de superclases, en comparaci\u00f3n con los modificadores de acceso, basada en la enumeraci\u00f3n expl\u00edcita de los subclases permitidas para la extensi\u00f3n.\n<p>   package com.example.geometry;<\/p>\n<p>   public sealed class Shape<br \/>\n        permits com.example.polar.Circle,<br \/>\n                com.example.quad.Rectangle,<br \/>\n                com.example.quad.simple.Square {&#8230;}<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/371\">Se ha a\u00f1adido<\/a><\/noindex> soporte para clases ocultas que no pueden ser utilizadas directamente por el bytecode de otras clases. El objetivo clave de las clases ocultas es su uso en marcos que generan din\u00e1micamente clases en tiempo de ejecuci\u00f3n y las utilizan indirectamente a trav\u00e9s de <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9E%D1%82%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)\">reflexi\u00f3n<\/a><\/noindex>. Tales clases generalmente tienen un ciclo de vida limitado, por lo que su mantenimiento para el acceso desde clases generadas est\u00e1ticamente no est\u00e1 justificado y solo resultar\u00e1 en un aumento del consumo de memoria. Las clases ocultas tambi\u00e9n permiten prescindir de la API no est\u00e1ndar sun.misc.Unsafe::defineAnonymousClass, que est\u00e1 programada para ser eliminada en el futuro.\n<li class=\"l\"> Se ha estabilizado y se ha considerado listo para el uso general el recolector de basura ZGC (Z Garbage Collector). ZGC opera en modo pasivo, minimizando lo m\u00e1s posible las demoras debidas a la recolecci\u00f3n de basura (el tiempo de detenci\u00f3n al usar ZGC no excede los 10 ms) y puede trabajar tanto con montones peque\u00f1os como con grandes montones, que var\u00edan desde varios cientos de megabytes hasta varios terabytes.\n<li class=\"l\"> Se ha estabilizado y se ha considerado listo para el uso general<br \/>\n recolector de basura <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/shenandoah\/\">Shenandoah<\/a><\/noindex>, que funciona con m\u00ednimas interrupciones (Low-Pause-Time Garbage Collector). Shenandoah fue desarrollado por Red Hat y es notable por utilizar un algoritmo que reduce el tiempo de detenciones durante la recolecci\u00f3n de basura al realizar la limpieza paralelamente con la ejecuci\u00f3n de aplicaciones Java. El tama\u00f1o de las interrupciones causadas por el recolector de basura es predecible y no depende del tama\u00f1o del mont\u00f3n, es decir, para montones de 200 MB y 200 GB las interrupciones ser\u00e1n id\u00e9nticas (<noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.openjdk.java.net\/display\/shenandoah\/Main\">no exceden<\/a><\/noindex> los 50 ms y generalmente se ajustan a 10 ms);<\/p>\n<li class=\"l\"> Se ha estabilizado y se ha introducido en el lenguaje el soporte <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/378\">de bloques de texto<\/a><\/noindex> &#8212; una nueva forma de literales de cadena que permiten incluir datos textuales multil\u00ednea en el c\u00f3digo fuente sin tener que escapar caracteres y conservando el formato original del texto en el bloque. El bloque est\u00e1 delimitado por tres comillas dobles.\n<p>Por ejemplo, en lugar de c\u00f3digo<\/p>\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;\u00a1Java 15 ya est\u00e1 aqu\u00ed!&#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>se puede especificar:<\/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 15&#092;<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\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/373\">Redesigned<\/a><\/noindex> API Legacy DatagramSocket. Las antiguas implementaciones de java.net.DatagramSocket y java.net.MulticastSocket han sido reemplazadas por una implementaci\u00f3n moderna, m\u00e1s f\u00e1cil de depurar y mantener, y que tambi\u00e9n es compatible con los hilos virtuales desarrollados en el marco del proyecto. <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/projects\/loom\">Loom<\/a><\/noindex>. Para evitar posibles problemas de compatibilidad con el c\u00f3digo existente, la implementaci\u00f3n antigua no se ha eliminado y puede ser activada mediante la opci\u00f3n jdk.net.usePlainDatagramSocketImpl.\n<li class=\"l\"> Se ha propuesto una segunda implementaci\u00f3n experimental. <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/375\">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\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/384\">Se ha propuesto<\/a><\/noindex> segunda implementaci\u00f3n experimental de la palabra clave &#171;<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\/383\">Se propuso<\/a><\/noindex> segundo borrador preliminar de la API Foreign-Memory Access, 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\/374\">DOMRequest<\/a><\/noindex> y se ha declarado obsoleta la t\u00e9cnica de optimizaci\u00f3n Biased Locking, utilizada en HotSpot JVM para reducir los costos de las bloqueos. Esta t\u00e9cnica ha perdido relevancia en sistemas con instrucciones at\u00f3micas provistas por CPUs modernos, siendo tambi\u00e9n muy laboriosa de mantener debido a su complejidad.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/385\">Se ha declarado<\/a><\/noindex> obsoleto el mecanismo <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/14\/docs\/specs\/rmi\/activation.html\">RMI Activation<\/a><\/noindex>, que se eliminar\u00e1 en una de las pr\u00f3ximas versiones. Se se\u00f1ala que RMI Activation ha quedado obsoleto, clasificado como opci\u00f3n desde Java 8 y rara vez se utiliza en la pr\u00e1ctica moderna.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/372\">Eliminado<\/a><\/noindex>  motor de JavaScript <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=35427\">Nashorn<\/a><\/noindex>, que fue declarado obsoleto en Java SE 11.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/381\">Eliminados<\/a><\/noindex> puertos para el sistema operativo Solaris y procesadores SPARC (Solaris\/SPARC, Solaris\/x64 y Linux\/SPARC). La eliminaci\u00f3n de estos puertos permitir\u00e1 a la comunidad acelerar el desarrollo de nuevas funcionalidades de OpenJDK, sin perder tiempo en mantener caracter\u00edsticas espec\u00edficas de Solaris y SPARC.\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=53717\">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 15 (Java Platform, Standard Edition 15), \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 15 \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-94334","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-15\" \/>\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 15 | 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-15\" \/>\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-09-15T23:42:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-15T23:42:08+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 15 | 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-15","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 15 | 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-15","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-09-15T23:42:08+00:00","article:modified_time":"2020-09-15T23:42:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94334","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 11:29:28","updated":"2022-10-03 17:44:46","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\/94334","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=94334"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/94334\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=94334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=94334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=94334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}