{"id":76573,"date":"2020-04-03T13:42:25","date_gmt":"2020-04-03T11:42:25","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/nativnaya-kompilyacziya-v-quarkus-pochemu-eto-vazhno"},"modified":"2020-04-03T13:42:25","modified_gmt":"2020-04-03T11:42:25","slug":"nativnaya-kompilyacziya-v-quarkus-pochemu-eto-vazhno","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/nativnaya-kompilyacziya-v-quarkus-pochemu-eto-vazhno","title":{"rendered":"Nativn\u00ed kompilace v Quarkus \u2013 pro\u010d je to d\u016fle\u017eit\u00e9","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ahoj v\u0161ichni! Dnes m\u00e1me na po\u0159adu druh\u00fd p\u0159\u00edsp\u011bvek z na\u0161\u00ed s\u00e9rie o Quarkus \u2013 budeme hovo\u0159it o nativn\u00ed kompilaci.<\/p>\n<p><img decoding=\"async\" alt=\"Nativn\u00ed kompilace v Quarkus \u2013 pro\u010d je to d\u016fle\u017eit\u00e9\" src=\"\/wp-content\/uploads\/2020\/04\/3690313f6718405b06f0a6b5360767e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/blog\/2019\/03\/20\/quarkus-0-12-0-released\/\">Quarkus<\/a><\/noindex> \u2013 je to Java stack zam\u011b\u0159en\u00fd na <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/topics\/kubernetes\/\">Kubernetes<\/a><\/noindex>. A i kdy\u017e je zde samoz\u0159ejm\u011b je\u0161t\u011b spousta pr\u00e1ce, poda\u0159ilo se n\u00e1m dob\u0159e zpracovat mnoho aspekt\u016f, v\u010detn\u011b optimalizace JVM a \u0159ady framework\u016f. Jednou z vlastnost\u00ed Quarkus, kter\u00e1 vyvolala zv\u00fd\u0161en\u00fd z\u00e1jem mezi v\u00fdvoj\u00e1\u0159i, je komplexn\u00ed bezprobl\u00e9mov\u00fd p\u0159\u00edstup k p\u0159etv\u00e1\u0159en\u00ed Java k\u00f3du na spustiteln\u00e9 soubory pro konkr\u00e9tn\u00ed opera\u010dn\u00ed syst\u00e9m (tzv. \u201enativn\u00ed kompilace\u201c) podle vzoru C a C++, kde se takov\u00e1 kompilace obvykle prov\u00e1d\u00ed na konci cyklu skl\u00e1daj\u00edc\u00edho se ze sestaven\u00ed, testov\u00e1n\u00ed a nasazen\u00ed.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nI kdy\u017e je nativn\u00ed kompilace, jak uk\u00e1\u017eeme n\u00ed\u017ee, d\u016fle\u017eit\u00e1, je t\u0159eba poznamenat, \u017ee Quarkus skute\u010dn\u011b dob\u0159e funguje i na b\u011b\u017en\u00e9 Java platform\u011b OpenJDK Hotspot d\u00edky t\u011bm v\u00fdkonov\u00fdm vylep\u0161en\u00edm, kter\u00e1 jsme implementovali po cel\u00e9m stacku. Proto by se na nativn\u00ed kompilaci m\u011blo pohl\u00ed\u017eet jako na dal\u0161\u00ed bonus, kter\u00fd lze vyu\u017e\u00edt podle pot\u0159eby. Ve skute\u010dnosti, pokud jde o nativn\u00ed obrazy, Quarkus se zna\u010dn\u011b op\u00edr\u00e1 o OpenJDK. A vysoce hodnocen\u00fd v\u00fdvojov\u00fd re\u017eim dev mode umo\u017e\u0148uje prakticky okam\u017eit\u00e9 testov\u00e1n\u00ed zm\u011bn d\u00edky vysp\u011bl\u00fdm mo\u017enostem dynamick\u00e9ho prov\u00e1d\u011bn\u00ed k\u00f3du, kter\u00e9 jsou implementov\u00e1ny v Hotspot. Krom\u011b toho p\u0159i vytv\u00e1\u0159en\u00ed nativn\u00edch obraz\u016f vyu\u017e\u00edv\u00e1 GraalVM knihovnu t\u0159\u00edd OpenJDK a schopnosti HotSpot.<\/p>\n<p>Pro\u010d tedy pot\u0159ebujeme nativn\u00ed kompilaci, pokud je v\u0161e u\u017e tak dob\u0159e optimalizov\u00e1no? Na tuto ot\u00e1zku se pokus\u00edme odpov\u011bd\u011bt n\u00ed\u017ee.<\/p>\n<p>Za\u010dn\u011bme s jasn\u00fdm: Red Hat m\u00e1 bohat\u00e9 zku\u0161enosti s optimalizac\u00ed JVM, stack\u016f a framework\u016f v pr\u016fb\u011bhu v\u00fdvoje projektu <noindex><a rel=\"nofollow\" href=\"http:\/\/www.jboss.org\/\">JBoss<\/a><\/noindex>, v\u010detn\u011b:<\/p>\n<ul>\n<li>Prvn\u00ed aplikace serveru pro pr\u00e1ci v cloudu na platform\u011b <noindex><a rel=\"nofollow\" href=\"https:\/\/www.redhat.com\/en\/blog\/openshift-is-the-first-paas-to-support-java-ee-6-full-profile-in-the-cloud\">Red Hat OpenShift<\/a><\/noindex>.<\/li>\n<li>Prvn\u00ed aplikace serveru pro pr\u00e1ci na po\u010d\u00edta\u010d\u00edch <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/index.php\/videos\/youtube\/9c-g7UxT0nk\/\">Plug PC<\/a><\/noindex>.<\/li>\n<li>Prvn\u00ed aplikace serveru pro pr\u00e1ci na <noindex><a rel=\"nofollow\" href=\"http:\/\/blog.arungupta.me\/wildfly-on-raspberry-pi-techtip-24\/\">Raspberry Pi<\/a><\/noindex>.<\/li>\n<li>Cel\u00fd \u0159adu projekt\u016f, kter\u00e9 funguj\u00ed na za\u0159\u00edzen\u00edch <noindex><a rel=\"nofollow\" href=\"http:\/\/www.jboss.org\/iot\/android\/\">Android<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nJsme u\u017e mnoho let aktivn\u00ed v oblasti spu\u0161t\u011bn\u00ed Java aplikac\u00ed v cloudu a na za\u0159\u00edzen\u00edch s omezen\u00fdmi zdroji (\u010dti, IoT) a nau\u010dili jsme se vyt\u011b\u017eit z JVM maximum, pokud jde o v\u00fdkon a optimalizaci pam\u011bti. Jako mnoho dal\u0161\u00edch u\u017e dlouho pracujeme s nativn\u00ed kompilac\u00ed Java aplikac\u00ed p\u0159es <noindex><a rel=\"nofollow\" href=\"https:\/\/gcc.gnu.org\/wiki\/GCJ\">GCJ<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/readytalk.github.io\/avian\/\">Avian<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.excelsiorjet.com\/\">Excelsior JET<\/a><\/noindex> a dokonce <noindex><a rel=\"nofollow\" href=\"https:\/\/source.android.com\/devices\/tech\/dalvik\">Dalvik<\/a><\/noindex> a skv\u011ble si uv\u011bdomujeme v\u00fdhody a nev\u00fdhody takov\u00e9ho p\u0159\u00edstupu (nap\u0159\u00edklad dilema v\u00fdb\u011bru mezi univerz\u00e1lnost\u00ed \"build once \u2013 run-anywhere\" a t\u00edm, \u017ee zkompilovan\u00e9 aplikace maj\u00ed men\u0161\u00ed velikost a spou\u0161t\u011bj\u00ed se rychleji).<\/p>\n<p>Pro\u010d je tak d\u016fle\u017eit\u00e9 br\u00e1t tyto v\u00fdhody a nev\u00fdhody v \u00favahu? Proto\u017ee v n\u011bkter\u00fdch situac\u00edch se jejich pom\u011br st\u00e1v\u00e1 rozhoduj\u00edc\u00edm:<\/p>\n<ul>\n<li>Nap\u0159\u00edklad v serverless\/ud\u00e1lostmi \u0159\u00edzen\u00fdch prost\u0159ed\u00edch, kde <noindex><a rel=\"nofollow\" href=\"https:\/\/mikhail.io\/2018\/08\/serverless-cold-start-war\/\">slu\u017eby mus\u00ed nutn\u011b b\u011b\u017eet<\/a><\/noindex> v re\u00e1ln\u00e9m \u010dase (tvrd\u00e9m nebo m\u011bkk\u00e9m), aby stihly reagovat na ud\u00e1losti. Na rozd\u00edl od dlouho \u017eij\u00edc\u00edch persistentn\u00edch slu\u017eeb, zde souvisej\u00edc\u00ed doba studen\u00e9ho startu kriticky zvy\u0161uje dobu odezvy na po\u017eadavek. Na spu\u0161t\u011bn\u00ed JVM st\u00e1le ub\u00edh\u00e1 zna\u010dn\u00e9 mno\u017estv\u00ed \u010dasu a i kdy\u017e lze v n\u011bkter\u00fdch p\u0159\u00edpadech \u010das zkr\u00e1tit \u010dist\u011b hardwarov\u00fdmi metodami, rozd\u00edl mezi jednou sekundou a 5 milisekundami m\u016f\u017ee b\u00fdt ot\u00e1zkou \u017eivota a smrti. Ano, zde lze experimentovat s vytvo\u0159en\u00edm tepl\u00e9 rezervy Java stroj\u016f (co\u017e jsme nap\u0159\u00edklad ud\u011blali p\u0159i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/projectodd\/kwsk\">portaci OpenWhisk na Knative<\/a><\/noindex>), ale samo o sob\u011b to nezaru\u010duje dostate\u010dn\u00fd po\u010det JVM pot\u0159ebn\u00fd k zpracov\u00e1n\u00ed po\u017eadavk\u016f p\u0159i zvy\u0161ov\u00e1n\u00ed z\u00e1t\u011b\u017ee. Ekonomicky vzato to ur\u010dit\u011b nen\u00ed ten nejlep\u0161\u00ed sc\u00e9n\u00e1\u0159.<\/li>\n<li>D\u00e1le existuje tak\u00e9 \u010dasto se objevuj\u00edc\u00ed aspekt, jako je multitenantnost. I kdy\u017e se JVM sv\u00fdmi schopnostmi zna\u010dn\u011b p\u0159ibl\u00ed\u017eily opera\u010dn\u00edm syst\u00e9m\u016fm, st\u00e1le nejsou schopny d\u011blat to, na co jsme si tak zvykli v Linuxu \u2013 izolovat procesy. Proto selh\u00e1n\u00ed jednoho vl\u00e1kna m\u016f\u017ee vy\u0159adit celou Java ma\u0161inu. Mnoz\u00ed se sna\u017e\u00ed tento nedostatek obej\u00edt t\u00edm, \u017ee p\u0159id\u011bluj\u00ed ka\u017ed\u00e9mu u\u017eivatelsk\u00e9mu aplikaci samostatnou JVM, aby minimalizovali d\u016fsledky selh\u00e1n\u00ed. To d\u00e1v\u00e1 smysl, ale \u0161patn\u011b se to spojuje se \u0161k\u00e1lovatelnost\u00ed.<\/li>\n<li>Krom\u011b toho je pro cloudov\u011b orientovan\u00e9 aplikace d\u016fle\u017eit\u00fdm ukazatelem tak\u00e9 hustota slu\u017eeb na hostiteli. P\u0159echod na metodologii <noindex><a rel=\"nofollow\" href=\"https:\/\/12factor.net\/\">12 faktor\u016f aplikace<\/a><\/noindex>, mikroslu\u017eby a Kubernetes zvy\u0161uj\u00ed po\u010det Java instanc\u00ed pro jednu aplikaci. To znamen\u00e1, \u017ee na jedn\u00e9 stran\u011b to poskytuje flexibilitu a spolehlivost, ale z\u00e1rove\u0148 roste i spot\u0159eba z\u00e1kladn\u00ed pam\u011bti na slu\u017ebu, p\u0159i\u010dem\u017e \u010d\u00e1st t\u011bchto v\u00fddaj\u016f nen\u00ed v\u017edy zcela nezbytn\u00e1. Staticky kompilovan\u00e9 spustiteln\u00e9 soubory zde z\u00edsk\u00e1vaj\u00ed v\u00fdhodu pomoc\u00ed r\u016fzn\u00fdch optimaliza\u010dn\u00edch technik, jako je n\u00edzko\u00farov\u0148ov\u00e1 eliminace mrtv\u00e9ho k\u00f3du, kdy do kone\u010dn\u00e9ho obrazu jsou zahrnuty pouze ty \u010d\u00e1sti framework\u016f (v\u010detn\u011b JDK), kter\u00e9 slu\u017eba skute\u010dn\u011b vyu\u017e\u00edv\u00e1. Proto nativn\u00ed kompilace Quarkus pom\u00e1h\u00e1 efektivn\u011bji umis\u0165ovat instance slu\u017eeb na hostiteli bez ztr\u00e1ty bezpe\u010dnosti.<\/li>\n<\/ul>\n<p>\nVlastn\u011b, v\u00fd\u0161e uveden\u00e9 argumenty u\u017e sta\u010d\u00ed k tomu, abychom pochopili opodstatn\u011bnost nativn\u00ed kompilace z pohledu \u00fa\u010dastn\u00edk\u016f projektu Quarkus. Existuje v\u0161ak je\u0161t\u011b jeden, netechnick\u00fd, ale tak\u00e9 d\u016fle\u017eit\u00fd d\u016fvod: v posledn\u00edch letech se mnoho program\u00e1tor\u016f a v\u00fdvoj\u00e1\u0159sk\u00fdch spole\u010dnost\u00ed vzdalo Javy ve prosp\u011bch nov\u00fdch programovac\u00edch jazyk\u016f, proto\u017ee usoudili, \u017ee Java spolu se sv\u00fdmi JVM, stacky a frameworky se stala p\u0159\u00edli\u0161 n\u00e1ro\u010dnou na pam\u011b\u0165, p\u0159\u00edli\u0161 pomalou atd.<\/p>\n<p>Nicm\u00e9n\u011b zvyknout si pou\u017e\u00edvat stejn\u00fd n\u00e1stroj pro \u0159e\u0161en\u00ed v\u0161ech \u00fakol\u016f \u2013 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/java\/comments\/8xv3ha\/does_anybody_use_spring_boot_with_aws_lambda_do\/\">nen\u00ed v\u017edy spr\u00e1vn\u00e9.<\/a><\/noindex>N\u011bkdy je lep\u0161\u00ed ud\u011blat krok zp\u011bt a hledat n\u011bco jin\u00e9ho. A pokud Quarkus nut\u00ed lidi na chv\u00edli zastavit a zamyslet se, pak je to dobr\u00e9 pro cel\u00fd ekosyst\u00e9m Javy. Quarkus p\u0159edstavuje inovativn\u00ed pohled na to, jak vytv\u00e1\u0159et efektivn\u011bj\u0161\u00ed aplikace, \u010d\u00edm\u017e \u010din\u00ed Javu relevantn\u011bj\u0161\u00ed pro nov\u00e9 architektury aplikac\u00ed, jako je serverless. D\u00e1le, d\u00edky sv\u00e9 roz\u0161i\u0159itelnosti, Quarkus, jak douf\u00e1me, z\u00edsk\u00e1 celou ekosyst\u00e9m Java roz\u0161\u00ed\u0159en\u00ed, co\u017e v\u00fdrazn\u011b zv\u00fd\u0161\u00ed po\u010det framework\u016f, kter\u00e9 z krabice budou podporovat nativn\u00ed kompilaci v r\u00e1mci aplikac\u00ed.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/495212\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0421 \u0432\u0430\u043c\u0438 \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u0441\u0442 \u0438\u0437 \u043d\u0430\u0448\u0435\u0439 \u0441\u0435\u0440\u0438\u0438 \u043f\u043e Quarkus \u2013 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438. Quarkus \u2013 \u044d\u0442\u043e Java-\u0441\u0442\u0435\u043a, \u0437\u0430\u0442\u043e\u0447\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0434 Kubernetes. \u0418 \u0445\u043e\u0442\u044f \u0437\u0434\u0435\u0441\u044c, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043c\u043d\u043e\u0433\u043e\u0435 \u0435\u0449\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043c\u044b \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043c\u0430\u0441\u0441\u0443 \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e JVM \u0438 \u0446\u0435\u043b\u043e\u0433\u043e \u0440\u044f\u0434\u0430 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 Quarkus, \u0432\u044b\u0437\u0432\u0430\u0432\u0448\u0435\u0439 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0441\u0442\u0430\u043b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":76574,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-76573","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442!\" \/>\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\/cs\/blog\/administrirovanie\/nativnaya-kompilyacziya-v-quarkus-pochemu-eto-vazhno\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\u041d\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u0432 Quarkus \u2013 \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/nativnaya-kompilyacziya-v-quarkus-pochemu-eto-vazhno\" \/>\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-04-03T11:42:25+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-03T11:42:25+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\udd47Nativn\u00ed kompilace v Quarkus \u2013 pro\u010d je to d\u016fle\u017eit\u00e9 | ProHoster","description":"Ahoj v\u0161ichni!","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/nativnaya-kompilyacziya-v-quarkus-pochemu-eto-vazhno","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\u041d\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u0432 Quarkus \u2013 \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442!","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/nativnaya-kompilyacziya-v-quarkus-pochemu-eto-vazhno","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-04-03T11:42:25+00:00","article:modified_time":"2020-04-03T11:42:25+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"76573","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 17:34:49","updated":"2022-09-28 02:06:54","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/76573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=76573"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/76573\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/76574"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=76573"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=76573"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=76573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}