{"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\/nl\/blog\/news\/vypusk-java-se-16","title":{"rendered":"Uitgave van Java SE 16","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Na zes maanden ontwikkeling heeft Oracle de Java SE 16 (Java Platform, Standard Edition 16) gelanceerd, waarvan de referentie-implementatie het open-sourceproject OpenJDK is. In Java SE 16 is de achterwaartse compatibiliteit met eerdere versies van het Java-platform behouden; alle eerder geschreven Java-projecten zullen zonder aanpassingen blijven werken onder de nieuwe versie. Kant-en-klare installaties van Java SE 16 (JDK, JRE en Server JRE) zijn voorbereid voor Linux (x86_64, AArch64), Windows en macOS. De referentie-implementatie van Java 16, ontwikkeld binnen het OpenJDK-project, is volledig open onder de GPLv2-licentie met uitzonderingen van GNU ClassPath die dynamische koppeling met commerci\u00eble producten toestaan.     <\/p>\n<p>Java SE 16 valt onder de release met een standaardondersteuningstermijn, waarbij updates zullen worden uitgebracht tot de volgende release. Voor een versie met langdurige ondersteuning (LTS) moet Java SE 11 worden gebruikt, waarvan updates worden uitgebracht tot 2026. De volgende LTS-release staat gepland voor september 2021. Ter herinnering: vanaf de release van Java 10 is het project overgestapt op een nieuw ontwikkelingsproces, dat een kortere cyclus voor de ontwikkeling van nieuwe releases impliceert. Nieuwe functionaliteit wordt nu ontwikkeld in \u00e9\u00e9n voortdurend bijgewerkte master-branch, waarin al bestaande wijzigingen zijn opgenomen en waar elke zes maanden takken worden gemaakt voor de stabilisatie van nieuwe releases.       <\/p>\n<p>Bij de voorbereiding van de nieuwe release is de ontwikkeling overgezet van het versiebeheersysteem Mercurial naar Git en het samenwerkingsplatform GitHub. Verwacht wordt dat deze migratie de prestaties van repositorybewerkingen zal verbeteren, de opslagseffici\u00ebntie zal verhogen, toegang zal bieden tot wijzigingen gedurende de hele geschiedenis van het project, de ondersteuning voor codebeoordelingen zal verbeteren en de API zal inzetten voor het automatiseren van werkprocessen. Bovendien maakt het gebruik van Git en GitHub het project aantrekkelijker voor nieuwkomers en ontwikkelaars die gewend zijn aan Git.    <\/p>\n<p>Enkele nieuwigheden in Java 16 zijn:  <\/p>\n<ul>\n<li class=\"l\"> Een experimentele module jdk.incubator.vector is toegevoegd met een implementatie van de Vector API, die functies biedt voor vectorberekeningen, uitgevoerd met vectorinstructies van x86_64 en AArch64-processoren en waarmee tegelijkertijd bewerkingen op meerdere waarden (SIMD) kunnen worden toegepast. In tegenstelling tot de avocstemingsmogelijkheden voor scalairen die door de JIT-compiler HotSpot worden aangeboden, stelt de nieuwe API gebruikers in staat om de vectorisering voor parallelle gegevensverwerking expliciet te beheren.\n<li class=\"l\"> In de JDK- en VM HotSpot-code, geschreven in C++, zijn de mogelijkheden van de C++14-specificatie toegestaan. Voorheen was alleen gebruik van de C++98\/03-standaarden toegestaan.\n<li class=\"l\"> In de ZGC (Z Garbage Collector), die in passieve modus werkt en pertentieel vertragingen door garbage collection minimaliseert, is de mogelijkheid tot parallelle verwerking van threadstapels toegevoegd zonder dat de uitvoering van applicatiedraden wordt onderbroken. In ZGC zijn nu alleen nog maar pauserelated taken overgebleven, die constante vertragingen vereisen, meestal niet langer dan een paar honderd microseconden.\n<li class=\"l\"> Ondersteuning voor Unix-sockets (AF_UNIX) is toegevoegd in de klassen SocketChannel, ServerSocketChannel en java.nio.channels.\n<li class=\"l\"> Er is een poort voor de Linux-distributie Alpine ge\u00efmplementeerd met de standaard C-bibliotheek musl, die populair is in containeromgevingen, microservices, cloud- en embedded systemen. De voorgestelde poort in dergelijke omgevingen maakt het mogelijk om Java-programma's als reguliere applicaties uit te voeren. Bovendien kan met jlink alle ongebruikte modules worden verwijderd en kan een minimale omgeving worden gecre\u00eberd die voldoende is voor de uitvoering van de applicatie, wat het mogelijk maakt om compacte afbeeldingen te maken, specifiek voor bepaalde applicaties.\n<li class=\"l\"> De Elastic Metaspace-mechanisme is ge\u00efmplementeerd, dat de operaties voor het toewijzen en teruggeven van geheugen, in beslag genomen door de metadata van klassen (metaspace) in JVM HotSpot, optimaliseert. Het gebruik van Elastic Metaspace vermindert de geheugenfragmentatie, verlaagt de overhead van de classloader en heeft bovendien een positieve invloed op de prestaties van langdurig draaiende serverapplicaties door een snellere teruggave van ongebruikte metadata-geheugen aan het besturingssysteem. Voor het kiezen van de modus voor geheugen vrijgeven na het verwijderen van klassen is de optie '-XX:MetaspaceReclaimPolicy=(balanced|aggressive|none)' voorgesteld.\n<li class=\"l\"> De JDK-poort is toegevoegd voor Windows-systemen die draaien op hardware met AArch64-architectuur-processors.\n<li class=\"l\"> Een derde voorlopige versie van de API Foreign-Memory Access is voorgesteld, waarmee Java-toepassingen veilig en effici\u00ebnt toegang kunnen krijgen tot geheugenruimten buiten de Java-heap, door gebruik te maken van nieuwe abstracties zoals MemorySegment, MemoryAddress en MemoryLayout.\n<li class=\"l\"> Een experimentele API Foreign Linker is ge\u00efmplementeerd, die toegang biedt vanuit Java tot native code. Samen met de API Foreign-Memory vereenvoudigt deze nieuwe interface aanzienlijk het cre\u00ebren van wrappers voor standaard gedeelde bibliotheken.\n<li class=\"l\"> De jpackage-tool is toegevoegd, waarmee pakketten voor zelfvoorzienende (self-contained) Java-toepassingen kunnen worden gemaakt. De tool is gebaseerd op javapackager van JavaFX en maakt het mogelijk om pakketten te genereren in formaten die native zijn voor verschillende platforms (msi en exe voor Windows, pkg en dmg voor macOS, deb en rpm voor Linux). Pakketten bevatten alle benodigde afhankelijkheden.\n<li class=\"l\"> Strikte encapsulatie van alle interne elementen van de JDK is standaard ingeschakeld, met uitzondering van kritieke API's zoals sun.misc.Unsafe. De waarde van de optie '--illegal-access' is nu standaard ingesteld op 'deny' in plaats van 'permit', wat zal leiden tot het blokkeren van pogingen van de code om toegang te krijgen tot de meeste interne klassen, methoden en velden. Om deze beperking te omzeilen, kan de optie '--illegal-access=permit' worden gebruikt.\n<li class=\"l\"> De implementatie van pattern matching in de operator 'instanceof' is gestabiliseerd, waardoor er onmiddellijk een lokale variabele kan worden gedefinieerd voor toegang tot de gecontroleerde waarde. Bijvoorbeeld, je kunt nu direct schrijven 'if (obj instanceof String s &amp;&amp; s.length() &gt; 5) {.. s.contains(..) ..}' zonder expliciet 'String s = (String) obj' te defini\u00ebren. Eerder was er: if (obj instanceof Group) { Group group = (Group) obj; var entries = group.getEntries(); } Nu kan het zonder de definitie 'Group group = (Group) obj': if (obj instanceof Group group) { var entries = group.getEntries(); }\n<li class=\"l\"> De implementatie van het sleutelwoord 'record' is gestabiliseerd, wat een compacte vorm biedt voor het defini\u00ebren van klassen, waardoor expliciete definities van verschillende laag-niveau-methoden zoals equals(), hashCode() en toString() kunnen worden omzeild, wanneer gegevens alleen in velden worden opgeslagen en het gedrag bij het werken met deze velden niet verandert. Wanneer in de klasse typische implementaties van de methoden equals(), hashCode() en toString() worden gebruikt, kan in deze klasse worden volstaan zonder ze expliciet te defini\u00ebren: public record BankTransaction(LocalDate date, double amount, String description) {}\n<p>Deze aankondiging zal leiden tot de automatische toevoeging van implementaties van de methoden equals(), hashCode() en toString() naast de constructor en de methoden die de gegevenswijziging controleren (getter).      <\/p>\n<li class=\"l\"> Een tweede voorlopige variant van verzegelde (&#171;sealed&#187;) klassen en interfaces is voorgesteld, die niet door andere klassen en interfaces kunnen worden gebruikt voor overerving, uitbreiding of het overschrijven van de implementatie. Verzegelde klassen bieden ook een meer declaratieve manier om het gebruik van de superklasse te beperken dan toegangmodifiers, gebaseerd op een expliciete opsomming van de toegestane subklassen voor uitbreiding.         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>Bron: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54769\">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 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.3 - 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\/nl\/blog\/news\/vypusk-java-se-16\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47 Uitgave van Java SE 16 | ProHoster","description":"Na zes maanden ontwikkeling heeft Oracle het Java SE 16-platform (Java Platform, Standard Edition 16) uitgebracht, waarvan het open project OpenJDK als referentie-implementatie wordt gebruikt.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/vypusk-java-se-16","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/99453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=99453"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/99453\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=99453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=99453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=99453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}