ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ! Π’ΠΎΠ²Π° Π΅ Π²ΡΠΎΡΠΈΡΡ ΠΏΠΎΡΡ ΠΎΡ Π½Π°ΡΠ°ΡΠ° ΡΠ΅ΡΠΈΡ Π·Π° Quarkus β Π΄Π½Π΅Ρ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° Π½Π°ΡΠΈΠ²Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ.

β ΡΠΎΠ²Π° Π΅ Java ΡΡΠ΅ΠΊ, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Π·Π° . Π ΠΌΠ°ΠΊΠ°Ρ ΡΠ΅ ΡΡΠΊ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΎΡΡΠ°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ°, Π½ΠΈΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ ΡΠΌΠ΅ ΠΏΡΠΎΡΡΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π°ΡΠΏΠ΅ΠΊΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° JVM ΠΈ ΡΠ΅Π΄ΠΈΡΠ° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²Π΅. ΠΠ΄Π½Π° ΠΎΡ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° Quarkus, ΠΊΠΎΡΡΠΎ ΠΏΠΎΡΠΎΠ΄ΠΈ ΠΏΠΎΠ²ΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, Π΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΈΡΡ Π±Π΅Π·ΡΠ΅Π²Π΅Π½ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π·Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ Π½Π° Java ΠΊΠΎΠ΄ Π² ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ (ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½Π°ΡΠ° "Π½Π°ΡΠΈΠ²Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ"), ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° C ΠΈ C++, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ°ΠΊΠ°Π²Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π² ΠΊΡΠ°Ρ Π½Π° ΡΠΈΠΊΡΠ»Π° Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅.
Π ΠΌΠ°ΠΊΠ°Ρ Π½Π°ΡΠΈΠ²Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ, ΠΊΠ°ΠΊΡΠΎ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΠΎ-Π΄ΠΎΠ»Ρ, Π΄Π° Π΅ Π²Π°ΠΆΠ½Π°, Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ Quarkus ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΈ Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½Π° Java ΠΌΠ°ΡΠΈΠ½Π° OpenJDK Hotspot Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠΌΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π»ΠΈ Π² ΡΠ΅Π»ΠΈΡ ΡΡΠ΅ΠΊ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, Π½Π°ΡΠΈΠ²Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Π±ΠΎΠ½ΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡ. ΠΡΡΡΠ½ΠΎΡΡ, ΡΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ Π½Π°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π·ΠΈ, Quarkus Π² Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° ΡΡΠ΅ΠΏΠ΅Π½ ΡΠ°Π·ΡΠΈΡΠ° Π½Π° OpenJDK. Π ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠ΅ΡΠΈΡΡ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ dev mode ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠ΅Π· ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π² Hotspot. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½Π°ΡΠΈΠ²Π½ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ, GraalVM ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ΡΠ΅ OpenJDK ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° HotSpot.
Π’Π°ΠΊΠ° ΡΠ΅ Π·Π°ΡΠΎ Π²ΡΡΡΠ½ΠΎΡΡ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π½Π°ΡΠΈΠ²Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ, Π°ΠΊΠΎ Π²ΡΠΈΡΠΊΠΎ ΠΈ Π±Π΅Π· ΡΠΎΠ²Π° Π΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΎ? ΠΠ° ΡΠΎΠ·ΠΈ Π²ΡΠΏΡΠΎΡ ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎ-Π΄ΠΎΠ»Ρ.
ΠΠ΅ΠΊΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΡΠΎ: Red Hat ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π° Π±ΠΎΠ³Π°Ρ ΠΎΠΏΠΈΡ Π² ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° JVM, ΡΡΠ΅ΠΊΠΎΠ²Π΅ΡΠ΅ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²Π΅ΡΠ΅ Π² Ρ ΠΎΠ΄Π° Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° , Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ:
- ΠΡΡΠ²ΠΈΡΡ ΡΡΡΠ²ΡΡ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π² ΠΎΠ±Π»Π°ΠΊΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° .
- ΠΡΡΠ²ΠΈΡΡ ΡΡΡΠ²ΡΡ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠΈ .
- ΠΡΡΠ²ΠΈΡΡ ΡΡΡΠ²ΡΡ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° .
- Π¦ΡΠ» Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° .
ΠΠΈΠ΅ Π²Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Java ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΠΊΠ° ΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ (ΡΠ΅ΡΠΈ, IoT) ΠΈ ΡΠΌΠ΅ ΡΠ΅ Π½Π°ΡΡΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·Π²Π»ΠΈΡΠ°ΠΌΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ° ΠΎΡ JVM ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ°ΠΊΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ, Π½ΠΈΠ΅ ΠΎΡΠ΄Π°Π²Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ Π½Π°ΡΠΈΠ²Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° Java ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π· , , ΠΈ Π΄ΠΎΡΠΈ ΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΎΡΡΠ·Π½Π°Π²Π°ΠΌΠ΅ ΠΏΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΌΠΈΠ½ΡΡΠΈΡΠ΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΈΠ»Π΅ΠΌΠ°ΡΠ° Π·Π° ΠΈΠ·Π±ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΎΡΡΡΠ° Π½Π° "build once β run-anywhere" ΠΈ ΡΠΎΠ²Π°, ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ°Ρ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ).
ΠΠ°ΡΠΎ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠ΅Π·ΠΈ ΠΏΠ»ΡΡΠΎΠ²Π΅ ΠΈ ΠΌΠΈΠ½ΡΡΠΈ? ΠΠ°ΡΠΎΡΠΎ Π² Π½ΡΠΊΠΎΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΡΡ Π½ΠΎΡΠΎ ΡΡΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π²Π° ΡΠ΅ΡΠ°Π²Π°ΡΠΎ:
- ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² serverless/ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΈ ΠΎΡ ΡΡΠ±ΠΈΡΠΈΡ ΡΡΠ΅Π΄ΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ Π² ΡΠ΅ΠΆΠΈΠΌ (ΡΡΡΠΎΠ³ ΠΈΠ»ΠΈ ΠΌΠ΅ΠΊ) ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π·Π° Π΄Π° ΡΡΠΏΠ΅ΡΡ Π΄Π° ΡΠ΅Π°Π³ΠΈΡΠ°Ρ Π½Π° ΡΡΠ±ΠΈΡΠΈΡ. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Π΄ΡΠ»Π³ΠΎΠΆΠΈΠ²Π΅Π΅ΡΠΈΡΠ΅ ΠΏΠ΅ΡΡΠΈΡΡΠ΅Π½ΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΡΡΠΊ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΡΡΠ΄Π΅Π½ΠΎΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅. ΠΡΠ΅ ΠΎΡΠ΅ ΠΎΡΠ½Π΅ΠΌΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° JVM, ΠΈ Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π² Π½ΡΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΡΠΊΡΠ°ΡΠ΅Π½ΠΎ Ρ ΡΠΈΡΡΠΎ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ, ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΅Π΄Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Π° ΠΈ 5 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π²ΡΠΏΡΠΎΡ Π½Π° ΠΆΠΈΠ²ΠΎΡ ΠΈ ΡΠΌΡΡΡ. ΠΠ°, ΡΡΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ° Ρ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΡΠ΅Ρ ΡΠ΅Π·Π΅ΡΠ² Π½Π° Java ΠΌΠ°ΡΠΈΠ½ΠΈ (ΠΊΠ°ΠΊΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΠΏΡΠΈ ), Π½ΠΎ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠΈ ΡΠΎΠ²Π° Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ JVM Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ. Π ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°ΡΠΎ, ΡΠΎΠ²Π° ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π΅ Π΅ Π½Π°ΠΉ-ΡΠ°Π·ΡΠΌΠ½ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ.
- Π‘Π»Π΅Π΄ ΡΠΎΠ²Π°, ΠΈΠΌΠ° ΠΈ ΠΎΡΠ΅ Π΅Π΄ΠΈΠ½ ΡΠ΅ΡΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Ρ Π°ΡΠΏΠ΅ΠΊΡ, ΠΊΠ°ΡΠΎ ΠΌΡΠ»ΡΠΈΡΠ΅Π½Π°Π½ΡΠ½ΠΎΡΡ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ JVM Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠΈΡ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ ΡΠΈ Π΄ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΈ Π΄Π° ΠΏΡΠ°Π²ΡΡ ΡΠΎΠ²Π°, Π½Π° ΠΊΠΎΠ΅ΡΠΎ ΡΠΌΠ΅ ΡΠ²ΠΈΠΊΠ½Π°Π»ΠΈ Π² Linux β Π΄Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, Π½Π΅ΡΡΠΏΠ΅Ρ ΡΡ Π½Π° Π΅Π΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈ ΡΡΠ»Π°ΡΠ° Java ΠΌΠ°ΡΠΈΠ½Π° ΠΈΠ·Π²ΡΠ½ ΡΡΡΠΎΡ. ΠΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΠ° ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΡ ΡΠΎΠ·ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΊ, ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΎΡΠ΄Π΅Π»Π½Π° JVM, Π·Π° Π΄Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΈΡΠΈΡΠ΅ ΠΎΡ Π½Π΅ΡΡΠΏΠ΅Ρ Π°. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π½ΠΎ Π½Π΅ ΡΠ΅ ΡΡΡΠ΅ΡΠ°Π²Π° Π΄ΠΎΠ±ΡΠ΅ Ρ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ΡΠΎ.
- ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π·Π° ΠΎΠ±Π»Π°ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Π°ΠΆΠ΅Π½ Π΅ ΡΠ°ΠΊΡΠ² ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π», ΠΊΠ°ΡΠΎ ΠΏΠ»ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π½Π° Ρ ΠΎΡΡ. ΠΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ ΠΊΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ , ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ ΠΈ Kubernetes ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Ρ Π±ΡΠΎΡ Π½Π° Java ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ Π·Π° Π΅Π΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ΠΎΠ΅ΡΡ, ΠΎΡ Π΅Π΄Π½Π° ΡΡΡΠ°Π½Π°, Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΅Π»Π°ΡΡΠΈΡΠ½ΠΎΡΡ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΡΡ Π½Π° Π±Π°Π·ΠΎΠ²Π° ΠΏΠ°ΠΌΠ΅Ρ Π½Π° ΡΡΠ»ΡΠ³Π°, ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΡΠ΅Π·ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΡΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°. Π‘ΡΠ°ΡΠΈΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΠ΅ΡΠ΅Π»ΡΡ ΡΡΠΊ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, ΠΊΠ°ΡΠΎ Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΠΌΡΡΡΠ²ΠΈΡ ΠΊΠΎΠ΄, ΠΏΡΠΈ ΠΊΠΎΠ΅ΡΠΎ Π² ΠΊΡΠ°ΠΉΠ½ΠΈΡ ΠΎΠ±ΡΠ°Π· ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ ΠΎΠ½Π΅Π·ΠΈ ΡΠ°ΡΡΠΈ ΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΡΠΈΡΠ΅ (Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°ΠΌΠΈΡ JDK), ΠΊΠΎΠΈΡΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΠ΅Π°Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°. ΠΠ°ΡΠΎΠ²Π° Π½Π°ΡΠΈΠ²Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° Quarkus ΠΏΠΎΠΌΠ°Π³Π° Π·Π° ΠΏΠ»ΡΡΠ½ΠΎ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈΡΠ΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π½Π° Ρ ΠΎΡΡΠ° Π±Π΅Π· ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΠΈ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΠ°.
ΠΠ°ΠΈΡΡΠΈΠ½Π°, Π³ΠΎΡΠ΅ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ Π²Π΅ΡΠ΅ ΡΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ°Ρ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΎΡΡΡΠ° Π½Π° Π½Π°ΡΠΈΠ²Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΡΡΠ°ΡΡΠ½ΠΈΡΠΈΡΠ΅ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ° Quarkus. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΠΎΡΠ΅ Π΅Π΄Π½Π°, Π½Π΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°, Π½ΠΎ ΡΡΡΠΎ Π²Π°ΠΆΠ½Π° ΠΏΡΠΈΡΠΈΠ½Π°: Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΡΠ° ΡΠ΅ ΠΎΡΠΊΠ°Π·Π°Π»ΠΈ ΠΎΡ Java Π² ΠΏΠΎΠ»Π·Π° Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡΠΈ, ΡΡΠΈΡΠ°ΠΉΠΊΠΈ, ΡΠ΅ Java Π·Π°Π΅Π΄Π½ΠΎ ΡΡΡ ΡΠ²ΠΎΠΈΡΠ΅ JVM, ΡΡΠ΅ΠΊΠΎΠ²Π΅ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΡΠΈ Π΅ ΡΡΠ°Π½Π°Π»Π° ΠΏΡΠ΅ΠΊΠ°Π»Π΅Π½ΠΎ Π»Π°ΠΊΠΎΠΌΠ° ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, ΠΏΡΠ΅ΠΊΠ°Π»Π΅Π½ΠΎ Π±Π°Π²Π½Π° ΠΈ Ρ.Π½.
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π½Π°Π²ΠΈΠΊΡΡ Π΄Π° ΡΠ΅ ΠΏΠΎΠ»Π·Π²Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π·Π°Π΄Π°ΡΠΈ β . ΠΠΎΠ½ΡΠΊΠΎΠ³Π° Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΠΊΡΠ°ΡΠΊΠ° Π½Π°Π·Π°Π΄ ΠΈ Π΄Π° ΠΏΠΎΡΡΡΡΠΈΠΌ Π½Π΅ΡΠΎ Π΄ΡΡΠ³ΠΎ. Π Π°ΠΊΠΎ Quarkus ΠΊΠ°ΡΠ° Ρ
ΠΎΡΠ°ΡΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΡΡ ΠΏΠ°ΡΠ·Π° ΠΈ Π΄Π° ΡΠ΅ Π·Π°ΠΌΠΈΡΠ»ΡΡ, ΡΠΎ ΡΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡΠ΅ Π·Π° ΡΡΠ»Π°ΡΠ° Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° Java. Quarkus ΠΎΠ»ΠΈΡΠ΅ΡΠ²ΠΎΡΡΠ²Π° ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠ²Π΅Π½ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊΡΠΌ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ°Π²Π΅ΠΉΠΊΠΈ Java ΠΏΠΎ-ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½Π° Π½Π° Π½ΠΎΠ²ΠΈΡΠ΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠΎ serverless. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ²ΠΎΡΡΠ° ΡΠ°Π·ΡΠΈΡΡΠ΅ΠΌΠΎΡΡ, Quarkus, Π½Π°Π΄ΡΠ²Π°ΠΌΠ΅ ΡΠ΅, ΡΠ΅ ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ΅ ΡΡΠ»Π° Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ Java ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ, Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°ΠΉΠΊΠΈ Π±ΡΠΎΡ Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΎΡ ΡΠ°ΠΌΠΎΡΠΎ Π½Π°ΡΠ°Π»ΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π½Π°ΡΠΈΠ²Π½Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π² ΡΡΡΡΠ°Π²Π° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
