á áá
áááľ á¨ááŤáŁ ááĽáŚá˝á á áá ááá áááłá á á á
á°áá áŁ
á፠áĽá ááŞá¤á á ááá áĽá
á á áŁá á°ááłá
áá¸á ááá áá á¨á áááá á áᣠá´áááááá˝ áĽá á¨áłáá-á°ááá
áááᎠá°ááŞáľ áá á˛á°áŠ á፠áĽá ááá˝ JVM ááááá˝ á áŁá áĽá á¨ááľáłááť áŚáł áľááááľáą áĽá áááŤá á áŁá áááá áľááá áĽá
á áá áááá. áá áá áá ááŤáŁáá˝ ááá áá á áŁá á°áľáá áŤáááᢠáĽáá° áĽáľá áá, áá
áááł á áá ááłááŠáľ ááľáá áááŁá áááἠáááŻá.
áĽá á á áŁá ááŁá áąáŁáśáá á፠á á˛áľ á°á¨á áá á°ááˇá!
42 á¨á°ááááľáŁ á¨8 ááŤáľ á¨áá
á á¨á°áĽ áľáŤ áĽá 177 á áľááŤá ááá˘áá˝ - á¨ááá áá¤áľ á á
áłá 2019 á¨á°áááá
áᏠáłááŠáľ á áľááá áĽá ááá˝ á°áŞ ááŽááŤááá áá´áá˝á áá° á ááľ ááá˝ á°áŞ áŽá áĽáá´áľ áĽáá°ááŤáá
áľ áĽááłáááłááᢠá á áአáłáŞá áĽááááŤáá á¨ááŤá á¨áłááŠáľ ááá˝ á°áŞ áŽá áááłáááľ áá áĽáá°áá áĽá áĽáá´áľ áĽáá°áá á áááá áĽááááááá˘
á ááááŞáŤ áłáŞáá áĽáááá¨áľá˘
á á¨áśá˝ áĽá ááŤáŁáá˝
á¨áľáŞáľ 8u131 ááᎠá፠á ergonomics á°ááŁá ááťáťáá˝ ááááŤáľ áĽá ááá áŤáá° á¨áľáá ááŤáŁáá˝á ááá¨á˘ á á°ááá JVM á áá áá áŤá á ááŽá°á°á áŽáŽá˝ áĽá¨á°áŤ áĽáá°áá áŤááá áĽá á¨áá áááłáá˝á -á á°áá ášáŤ/ááááá áááłáá˝á áááá áá˝ááᢠá áĽááἠáá á áŁá áĽáŠ ááᣠáá á¨á¤á˝á˛á˛á á ááááŽá˝á á¨áá áá áĽá á áśááŤáľáŁ áá˛áŁ ááá° á¨áá°áŤ áŁá áá á¨áľá áá°áá áŞáŤ á áá áĽáá áᢠá áá ááááŤáľ áá á áááŹá˝á ááĽáŤááłááą áĽáŤá á¨á°áᨠáá áá°á áá áĽá ᨠI/O áľáŤáá˝á á áá áŁá á áá áĽáŤá áá á áá áĽáá˛áŤááľ áŤáľá˝ááá, áááłá á¨ááἠááłáá, áááá˝á ááá ááá˝ á áááááśá˝á á˛á°ááą. áŤá áááľ á¨áĽáá°áá á áááľ á áááŹá˝á áá á á á°áá áŽáŽá˝ áĽááľ áá á¨á°á፠á áá°áá, ááá áá á á ááľ áá áĽáŤááá˝ áĽááľ áá. á á°á¨ááŞá, áá áááľ á áŠá áááľáľ ááľáĽ á áŠáŹáá˝ áĽááľ áá áŤá áŽáłáá˝ ááá áá°áŚá˝ áĽáá áĽáá á áá¨áąá, áĽá ááłáŠ á áá¨á¨áť á áľáŽáľá ááľáĽ áŤá áá.
á¨ááľáłááľ áľáŤá
ááŽá˝ áľááľáł áá¸á. áĽá á¨ááľá -áŽáá´ááá á¨ááľáłááľ ááąáááśá˝ á ááá ááአááľáááľ á áá°ááᢠá¨áá°áá áŞáŤáá˝ áĽá ááŽá˝ áĽááľ áá¨áá áĽáť ááááŠáŁ áĽá ááĽáá áá ááááś á¨áááŤá¨á áľáááá˝ áĽá á áá¤áąá á¨á áááá ááľááľ áá ááłá áá᪠áŤááĽáááłáᢠáĽáá˛ááᣠá áááŹá˝áá áŁá áá áááᎠá°ááŞáľ ááááá˝á á¨áá áá á¨áá ááá á¨áłáłá¤á áá á¨á°ááá ááá áá¸á፠á¨áá áá á¨áá ááá á áá ááááľ áá á°á¨ áľááľáłá á¨áá áá á¨áá JVM ááľáĽ áĽáá˛ááá¨áą áĽá áá á°á¨ áľááľáłá áłáááľá áĽáá´áľ áĽáá°áááŁá አááá¨áľ á¨ááŤáľá˝á ááłáŞáŤ áŤáľáááááłáᢠJVM áŤáą (áááłá XX:+ UseCGroupMemoryLimitForHeap)ᢠáĽá ááá áĽááłá á¨á፠9 ááᎠJVM áľáĽáľáŚá˝á ááá á áĽá á áá áá°á¨áľ ááááľá á°ááŻáᣠáá á°á¨ áľááľáłá ááá¨áľ áĽá ááľá°áłá°á á áŁá á¨á°ááłá°á ááłá ááá˘
áŽáłáá˝ áĽá áá°áŚá˝
Java 11 áá˛áአáŽáłáá˝ áľáá á áľá°áááá (áĽáá° PreferContainerQuotaForCPUCount)ᢠáŠá áááľáľ áá°áĽ áĽá áŽáłáá˝á áá°áááᢠá á ᣠáá
áá áľááá áá°áŁá ᣠáá á áááŹá˝á áĽáá°áá á¨á°áá°á á áŽáł á áá á¨áá ᣠáĽáá°áá áá áá áĽáá¨ááłáá - áĽáá° áŁá
áá á¨á፠á áááŹá˝áá˝ - á áŽá áĽááľ áĽá ááĽáŤááłááą á¨á°áᨠáá á ááá°áĽ ááá°áá ᢠáĽáŤá ᣠá¨á፠á áá
áá ááľáĽ áľáá˝ áľááľ á áá˘
á á°á¨ááŞá ᣠáŽáłáá˝á áĽá áá°áŚá˝á á¨á°á áá ááá á¨ááľá¨áá ᨠKubernetes áááá á°ááŁáŤáľá á¨á°á áá á˝áአáĽáá˛á á áŤáą á áááłáᢠáááá á˝áá ááááłáľ á ááá á°á¨á᪠ááĽáśá˝á áĽáá ááá ááá áá¨á¨áť áá á¨áá á á áá ááŞá áĽáááŁááᢠáĽá á ááá á°áá ááľáĽ áŁá á¨áá°á áááľ áľáááľ á¨ááᣠá áĽááá áááľ á¨áááááá á áá áĽá ááĽáśá˝á áĽáá ááááá˘
áĽá á¨áá áá áá áá áá°á¨á?
á ááá áááľááἠáŤáá°ááłá°á áĽá á¨ááá¨ááá I/O á¤á°-ááťáááľá áĽá áĽáá° Netty áŤá ááááá˝á áá ááá˘
á ááá¨áááá I/Oᣠá¨áŽááśá˝ ááĽá á áľáአá¨áááá ᨠI/O ááŽá˝ áĽááľ áľááááľá á¨ááá áááŞáŤ ááááᢠá áľááá áĽá á áá á˛áá, áá á¸ááá á áŽáŽá˝ ááŤá¨á áá¤áłá á áá ááááľ ááá°áŤá¨áľ áĽá á¨áá°á á¨áľáŤ áŤááá˝á á áľáá˝ ááĽáśá˝ áĽáá˛ááŁá አáŤáľá˝áááłá.
áĽáá´áľ áá ፠áá?
á áᣠááá ááá á áᢠáŞá áá˛á ááŽááŤááá ááĽáśá˝á á á°áťá áááł ááá áá áá¨áłááŁááá áá áá áŤáľá¨áááᢠá á°ááá áŽáą áŤááá¨áá¨á ááááá˝á áá°á¨áľ á ááľá¨á áĽáá°áá ááá áĽá ᨠI/O ááŽá˝ áĽááłááłááľ ááľá¨á áŤáľááááᢠáĽá áá áá ááá á¨á°áᨠá¨áĽáľááľ áĽá á¨á áááá áá´á áá. áĽá ááá áĽááłá áĽáá áĽá á áá á¤á°-ááťáááľ á˘ááŠá á á°ááá°á á¨á áľá°áłá°áĽ ááááľ áĽá ááá ááἠáá.
á ááááŞáŤ ᣠáŁáá°ááłá°á áááł á¨áá°áŤ áŽáľ áĽáá´áľ áĽáá°ááá ááá áŤáľáááááłáᢠá áá´ á ááááľ I/Oá áá áá á¨áááá ááĽáŤáá ááá˝ á˛á°áá°á áá ááá áĽááłáá áľ á ááá áááá˝ á ááĽá ᢠáá áĽá áááľ áĽá áá á á á¨á áá á áá á áá°áŤáᢠá ááľáŠáŁ áááś áĽáŞáá˝á áááᣠááá˝ á°áŞ ááŽááŤáá˝á ááá ááŁáá áá áá áá˝ááᢠááá áá ፠áĽáť á áá°ááᥠá¨ááá¨ááá I/Oá ááá ááᣠáááąáá á¨ááŤááľ á áááá áĽá á°áá á áŤáľáááááłáᣠá á°ááá á ááá áŚáłá˘ á á¤á˝á˛á˛á ááłá ááá ááá ááá ááᣠáá á¨ááἠááłáá˝áŁ á¨ááá áľáááśá˝ áĽá ááá˝á á áá˘
áĽá ááá áĽááłá á á ááá á¨áŤá áĽáľá¨ áŤá ááá˝ ááľá áľ á ááĽááá á˘áŤáłáľááᣠáĽáá˛á ááááą ááἠá á°ááŁá ááľ ááľáĽ á áľá¸á᪠ááá áá˝ááᢠáľááá ᣠááá˝ á°áŞ áĽá á áľááá áŽáľá á¨ááŁáá á˝ááł á¨áá¨á°ááľá áááľá¨á á áľá áááł ááááá˘
- á áśááľáá áľáááą ááľáĽ á áŁá á á°áŤá áŚáłáá˝ ááľáĽ ááĽáśá˝á á áĽááľ áá áá;
- á á᪠ááááš ááľáĽ ááá á¨á ἠáŽáľ áá ááá˘
áłááŠáľá á ááľá°ááá áá
á áĽáááą áá á¨áłááŠáľ áááľ áá - ááá˝ á°áŞ áĽá á áľááá áá´áá˝á á á ááľ á¨áŠáŤ áá ááľáĽ ááááľá˘
áłááŠáľ á Vert.x áĽá Netty áá á¨á°áá°á¨á° ááᣠááá˘áá áááá á ááŤáł ááá˝ á°áŞ ááááá˝ áĽá á áĽáŤáá˝ á ááľá˘ áłááŠáľ á¨á°áá°áá á¨á¤á˝á˛á˛á áááᎠá°ááŞáľ áĽáť áłááá á ááľá°áľ áá á¨á°áá°á¨áą á ááá´áá¸ááá˝á áááááŁáľ ááᢠá áŁá áŞá ááá˝ á°áŞ á áááᣠá¨áááááľ ááááŞáŤ áľáááśá˝ (Apache KafkaᣠAMQPᣠááá°) áá á áŁá áá¤áłá á áá ááአáá°áŤáá˘
áá´á á°ááłáłáŠá ááá˝ á°áŞ áá°á ááááąá á áľááá áĽá ááá˝ á°áŞ áŽáľ áĽáá´áľ áá áá áĽáá°ááťá ááá˘
áłááŠáľ áá áá á ááŠá áááł áá áŤáᢠá á áľááá áĽá ááá˝ á°áŞ ááŤá¨á áŤáá áá፠ááá˝ áá - ááááąá ááá˝ á°áŞ á¨ááá áá ááᢠá áĽáááą á¨áá¨áłá á ááľá°áľ-áá ááᣠaka IO áá ááľáĽ á¨ááŤáááá áááá ááá á¨ááŤáľá°áááľ ááŁáᣠá¨ááŤááľ áŽáľ ááᢠááá áá ááá˛á REST ááá á°áá á-áá á áááŹá˝áá˝ áŤáááľáŁ áłááŠáľ á áŁá á áľááá á¨áá á¨ááŽááŤá á ááŁáĽ áá´á á°ááá áśááłáᢠáááłáᣠá áłááŠáľ ááľáĽ áŤáá á¨á¤á˝á˛á˛á áľáá á¨ááŤááľ áĽá ááá˝ á°áŞ áá°á (Eclipse Vert.x áĽá Netty) á áá áá áá á¨á°áá°á¨á° ááᢠá áá°áá áŞáŤá á¨á°áá ááľ ááá á¨á¤á˝á˛á˛á áĽáŤááá˝ á ááááŞáŤ á ááľá°áľ loop (IO Thread) á áŠá áááá áĽá á¨á፠áĽáŤááášá áá°ááŤáľá°áłáľá¨á áŽáľ ááá áááŤáᢠáĽáá° ááľá¨áťá ᣠá¨áĽáŤáá á áľá°áłá°á áŽáľ á á°áᨠáá ááľáĽ áá ፠áá˝áá (á¨á áŤá°á áá á°áĽá á¨áá áŤá ᣠá servlets áĽá Jax-RS ááľáĽ áĽá á áá á¨áááá) ááá ᨠI/O áá (reactive route) áááá áá ááá˘
á¨áááĽááľ ááááŞáŤ á˛áľá°á áááááá˝ á Vert.x áá°á áá á¨áá°áŠ á¨ááá¨ááá á°áá áá˝á áá áááᢠáľááá ᣠá¨ááá áá á˛áľá°áá˝ áááááśá˝á á áĽááľ áááᣠááá á áĽá ááľáŹáľ áá˝ááá˘
á áŁá˘áŤá áá
ááá˝ á°áŞ ááááśá˝á áá áá ááá˝ á°áŞ SQL á°áá áá˝ Apache Kafkaá á áŞá áá˛á áááĽááľ áá áá AMQPá á áŞá áá˛á áááĽááľ áá áá Vertx API á áá áá
áĽáá˛áá á¨á°ááŤáŠ á¨áŞá áá˛á ááŽááŤáá˝á á á áłá˝ áĽáť áááľá°ááᣠIDE á áŤáľáááá áĽá áŽáááá°á á áŤáľáááá áááľá°áá á ááľáá áá á¨áá°áŠ á áἠáľáá ááá˝á ááĽá¨ááᢠáĽááá
á áľáá
ááśá˝ ááááľ áá˝áá
á áá ááĽáśá˝
áłááŠáľá áááá¨á 4 ááááŤáśá˝ - á¨áłááŠáľ ááŽáááľ áľá áŁá˘áŤ -
áłááŠáľ.io - á GitHub áá á¨áłááŠáľ ááŽáááľ -
github.com/quarkusio/quarkus - á¨áłááŠáľ ááŽáááľ áľáá°á -
twitter.com/QuarkusIO - á¨áłááŠáľ ááŽáááľ ááááľ -
quarkusio.zulipchat.com - á¨áłááŠáľ ááŽáááľ ááľá¨áŽá˝ -
groups.google.com/forum/# !áá¨á/quarkus-dev
á¨áááą áá ááá°ááá á áłááŠáľ áá 10 á¨áŞá˛áŽ áľáá ááśá˝
á áľá¨-ááš áá áĽááłááľ
áááąá ááá¨áłáľ áĽáá˛á¨áłá á¨áłááŠáľá á¨á°ááŤáŠ áá˝áłáá˝ áĽá á¨á á ááá ááłááá˝á á¨áá¸áá 10 á¨áŞá˛áŽ áľáá ááśá˝á ááá áááĄ-
1. áłááŠáľá ááľá°ááá ᥠá¨áááĽáá áľáááľ á፠ááá á ááŠá áááľáľ
á áśááľ Qvarnstrom áĽá áá°á ááŞá
á¨áłááŠáľ ááŽáááľ áἠááŠá áááľáľ áĽá á áááá á áᣠá áŤáŁá˘áá˝ á¨á፠ááľá¨á ááá á áĽá á á¸áá áĽá á áľááá á¨ááŽááŤááá áá´áá˝á áá° á ááľ á¨áŠáŤ áá á áŤáŁá˘ á ááŁáá ááá˘áá˝ á¨á°ááŤáŠ á¨á°á¨ááá á áááŹá˝ááľ á ááá´áá¸á áá á˛á°áŠ á ááŤá¨áŁá¸áá á á°áááá ááááľ ááá¨á ááᢠá¨áá
á áłá˝ áŁáá á¨ááá˘áŤ áááá á¨á áá áááá˘
2. áłááŠáľáĄ áĽá á á áŁá ááŁá áąáŁáśáá ááŤ
á : Burr Sutter
áá
á¨á´ááá˝á ááĽáł áľáááľ á¨á˘áá°áááŤáá á፠á áááŹá˝áá˝áᣠá¤áá ááá˝áᣠáááᎠá°ááŞáľ áĽá á áááá á áᣠá°ááŁáŤáľá á áŠá áááľáľ/OpenShift á áŤáŁá˘ ááááťá¸áľ Quarkusá áĽáá´áľ áá áá áĽáá°ááťá áŤáłáŤááŁáá
á á áŁá áľáá˝áŁááŁá áĽá á¨á áá áá°á á¨áá˝á áŤá°ááá¸ááá˘
3. áłááŠáľ áĽá ááŤá ááŞá¤áᥠHibernateá áá° áĽá á á áŁá ááĽááśá˝ á ááá á áĽá áá° áááľ-á áśáá áá áá˝ ááááľá˘
á°áŤá˛: Sanne Grinovero
á¨ááá
áľ á ááŤá¨áĄ áłááŠáľ áĽáá´áľ áĽáá°ááŁáŁ áĽáá´áľ áĽáá°áá°áŤ áĽá áĽáá´áľ áĽáá° Hibernate ORM áŤá ááľáĽáľáĽ á¤á°-ááááá˝á áááľáŤáľ áĽáá°ááŤáľá˝á á¨GalVM ááľáá˝ áá á°áłáá ááá áááŤáá˘
4. á áááá á áᣠáá°áá áŞáŤáá˝á áááááľ áááŠ
á°áŤá˛: ááá˛á áá°á
á¨áłá˝ áŤáá áŞá˛áŽ áłááŠáľá á áá áá ááá á¨á፠á áááŹá˝á ááá á áĽá áĽáá° á áááá á áᣠá áááŹá˝á á Knative áá áĽáá°ááŤá°á፠áŤáłáŤáá˘
5. áłááŠáľ: áŽáľ ááľá¨á áááá
á°áŤá˛: á¤áľá°á áŤáá
áłááŠáľ á¨ááá˘áá˝á áἠááá áĽáá°ááŤá¸áá áĽáá˛á¨áą á¨ááŤáľá˝áá á¨ááááŞáŤáá á¨áłááŠáľ ááŽáááľ áááá á á¨áŞá˛áŽ áááŞáŤá˘
6. á፠áĽá áŽáá´áááŽá˝ - á¨áá°ááľ ááááłá¸á á ááľ áá áá áĽáá°ááá
á ááá ááľá á°áá á
áá
á¨ááá
áľ á ááŤá¨áĽ á¨ááŤá áłáŞá áŤáľá°áááá áĽá ááá áłááŠáľ á¨á፠á¨áá°ááľ áĽáá°ááá áŤáĽáŤáŤáá˘
7. áłááŠáľáĄ áĽá á á áŁá ááŁá áąáŁáśáá ááŤ
á°áŤá˛: Dimitris Andreadis
á¨ááá˘áá˝ áĽáá
á áŤááá á¨áłááŠáľ áĽá
áá˝ á á ááá áĽááł ááááᾠᣠáĽá
á á áŁá á¨áá°á ááĽáᾠᣠááἠá¤á°-áá˝áááľ áĽá á°á¨ááá˝á˘
8. á¨áłááŠáľ áĽá á¨áąáŁáśáá áŽáŹáľ áľáááśá˝
á°áŤá˛áĄ áááááľ á˘áľáŽáá
á¨ááŤááŞá¤á áá á ááááľáŁ áłááŠáľ áĽá
á á áŁá ááŁá á¨áá á¨áĽáľááľ á°ááᎠáĽá á¨áąáŁáśáá á¨áŠáŤ áá á áŤáŁá˘á áá°áŁáᢠá°áŤá˛á áľá áłááŠáľ ááá˝ á°áŞ áá áĽá ááá˝ á°áŞ áĽá áĽá¨áľ á áááŹá˝áá˝á áááááŁáľ áĽáá´áľ áĽáá°áá ááá áľ ááááŤáá˘
9. á Eclipse ááááŽááŽááá ááľáĽ á¨áłááŠáľ áĽá ááŁá á¨áá°áá áŞáŤ áĽáľááľ
á°áŤá˛: John Clingan
Eclipse MicroProfile áĽá Quarkusá á ááŁáá ááá˘áá˝ á á áľá ááá°á¨ááśá˝ á¨áááአáá áŁá
᪠áŤáá¸á á áŽáá´ááá á¨á°á°áŠ á¨áááᎠááŽááá áá°áá áŞáŤáá˝á ááá á áá˝ááᢠáŞá˛áŽá á áŠá áááľáľ ááľá¨á áá ááá°ááŤáľ á áŽáá´ááá á¨á°áŤá á¨áááᎠááŽááá áá°áá áŞáŤá áĽáá´áľ áŽáľ ááľá¨á áĽáá°ááťá á áááá áŤáłáŤáá˘
10. Java, "Turbo" áľáŞáľ
á°áŤá˛: ááá¨áľ Biel
á°áŤá˛á áłááŠáľá áĽáá´áľ áá áá áĽáá°ááťá áŤáłáŤá áĽá
á á áŁá áľáὠᣠáĽá
á á áŁá ááŁá á¨á፠áŽáá´áááŽá˝ áĽááá°á áááśá˝á á¨ááŤááá áŁá á°áá á áááá á ááá á á¨áŁá˘á˘
ááá: hab.com