ИздаванС на Java SE 27 и OpenJDK 27

Π‘Π»Π΅Π΄ ΡˆΠ΅ΡΡ‚ мСсСца Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, компания Oracle ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Java SE 27 (Java Platform, Standard Edition 27), чиято Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ‚Π½Π° рСализация Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ OpenJDK. Π‘ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° някои остарСли Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Java SE 27 Π·Π°ΠΏΠ°Π·Π²Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π°Ρ‚Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ‚Π΅ вСрсии Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Java - ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΏΠΎ-Ρ€Π°Π½ΠΎ написани Java ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Ρ‰Π΅ работят Π±Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ΄ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия. ΠŸΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈΡ‚Π΅ Π·Π° инсталиранС сборки Π½Π° Java SE 27 (JDK, JRE ΠΈ Server JRE) са Π½Π° Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Linux (x86_64, AArch64), Windows (x86_64) ΠΈ macOS (x86_64, AArch64). Π Π΅Ρ„Π΅Ρ€Π΅Π½Ρ‚Π½Π°Ρ‚Π° рСализация Π½Π° Java SE 27, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° OpenJDK, Π΅ напълно ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° ΠΏΠΎΠ΄ лицСнзия GPLv2 с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° GNU ClassPath, позволяващи Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с Ρ‚ΡŠΡ€Π³ΠΎΠ²ΡΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈ.

Java SE 27 ΠΏΠΎΠΏΠ°Π΄Π° Π² катСгорията Π½Π° вСрсиитС с ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ срок Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°, обновлСния Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π΄Π°Π²Π°Π½ΠΈ Π΄ΠΎ слСдващия Ρ€Π΅Π»ΠΈΠ·. ΠšΠ°Ρ‚ΠΎ ΠΊΠ»ΠΎΠ½ с дълъг срок Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° (LTS) трябва Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Java SE 25, Java SE 21 ΠΈΠ»ΠΈ Java SE 17, обновлСния Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ ΠΈΠ·Π»ΠΈΠ·Π°Ρ‚ Π΄ΠΎ 2033, 2031 ΠΈ 2029 Π³ΠΎΠ΄ΠΈΠ½Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ (ΠΎΠ±Ρ‰ΠΎΠ΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ - Π΄ΠΎ сСптСмври 2030, 2028 ΠΈ 2026 Π³ΠΎΠ΄ΠΈΠ½Π°). Π Π°Π·ΡˆΠΈΡ€Π΅Π½Π°Ρ‚Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° LTS ΠΊΠ»ΠΎΠ½Π° Java SE 8 Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π΄ΠΎ 2030 Π³ΠΎΠ΄ΠΈΠ½Π°, Π° Java SE 11 - Π΄ΠΎ 2032 Π³ΠΎΠ΄ΠΈΠ½Π°.

Π‘Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² Java SE 27 (1, 2, 3, 4):

  • По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° всички срСди сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ±ΠΎΡ€Ρ‰ΠΈΠΊΡŠΡ‚ Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊ G1 (Garbage-First), ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Π΅ Π±ΠΈΠ» ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½ Π·Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ систСми. G1 Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° мултипроцСсорни систСми с голям ΠΎΠ±Π΅ΠΌ ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ балансира ΠΌΠ΅ΠΆΠ΄Ρƒ прСдсказуСмост Π½Π° забавянията ΠΈ висока пропускатСлна способност. Π’ процСса Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° G1 раздСля ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° мноТСство ΠΌΠ°Π»ΠΊΠΈ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ ΠΈ ΠΏΡŠΡ€Π²ΠΎ почиства Ρ‚Π΅Π·ΠΈ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΈΠΌΠ° Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ.
  • Π’ HotSpot JVM ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ са Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΈΡ‚Π΅ заглавия Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅. Π Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° заглавията ΠΏΡ€ΠΈ 64-Π±ΠΈΡ‚ΠΎΠ²ΠΈ систСми Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ ΠΎΡ‚ 96 Π½Π° 64 Π±ΠΈΡ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π½Π°ΠΌΠ°Π»ΠΈΠ»ΠΎ консумацията Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎ вСроятността Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π½Π°Ρ‚ Π² кСша Π½Π° процСсора. Π’ тСстовСтС SPECjbb2015 консумацията Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½Π° с 22%, Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° CPU Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ с 8%, Π° броят Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΏΠΎ ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊΠ° Π΅ намалял с 15%. ΠŸΡ€ΠΈ тСстванСто Π½Π° JSON парсСра Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° тСстовСтС Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ с 10%.
  • Π’ рСализацията Π½Π° TLS 1.3 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ…ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΈ схСми Π·Π° ΡΡŠΠ³Π»Π°ΡΡƒΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‰ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ML-KEM (CRYSTALS-Kyber), устойчив Π½Π° ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ, с класичСски Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π΅Π»ΠΈΠΏΡ‚ΠΈΡ‡Π½ΠΈ ΠΊΡ€ΠΈΠ²ΠΈ ECDHE: X25519MLKEM768 (ECDHE с ΠΊΡ€ΠΈΠ²Π° X25519 + ML-KEM-768), SecP256r1MLKEM76 (ECDHE с ΠΊΡ€ΠΈΠ²Π° secp256r1 + ML-KEM-768) ΠΈ SecP384r1MLKEM1024 (ECDHE с ΠΊΡ€ΠΈΠ²Π° secp384r1 + ML-KEM-1024). Π’ API javax.net.ssl Π’Π΅Π·ΠΈ схСми са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ Π½Π΅ изискват ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² прилоТСнията, Π·Π° Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ.
  • Π’ инструмСнтариума JDK Flight Recorder (JFR), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°Π½Π΅ ΠΈ диагностика Π½Π° производитСлността, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° почистванС Π² Π·Π°ΠΏΠ°Π·Π΅Π½Π°Ρ‚Π° диагностична информация Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° командния Ρ€Π΅Π΄, Π½Π°Ρ‡Π°Π»Π½ΠΈΡ‚Π΅ стойности Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° срСдата ΠΈ систСмнитС свойства. ΠŸΡ€ΠΎΠΌΡΠ½Π°Ρ‚Π° прСдотвратява ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½ΠΈ ΠΎΡ‚ профилирания процСс, ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ Π·Π° авторизация ΠΈ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ API, ΠΏΡ€Π΅Π΄Π°Π²Π°Π½ΠΈ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° срСдата.
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½Π° рСдакция Π½Π° API Lazy Constants Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈ нСизмСняСми Π΄Π°Π½Π½ΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½ΠΈ Π² JVM ΠΊΠ°Ρ‚ΠΎ константи. На ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ сС ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° производитСлността, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΈ Π½Π° ΠΏΠΎΠ»Π΅Ρ‚Π°Ρ‚Π° с ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π° Π΄ΡƒΠΌΠ° "final". Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ "final", новият API раздСля ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° постоянни стойности ΠΈ тяхната инициализация, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ стойността ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° само вСднъТ, ΡΡŠΠΊΡ€Π°Ρ‰Π°Π²Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° стартиранС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ ΠΈ позволява ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π° свиванС Π½Π° константи (constant-folding) Π² потрСбитСлския ΠΊΠΎΠ΄, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° са Π±ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ само във Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° JDK. class Application { // Π‘Π΅ΡˆΠ΅: // static final UserService USERS = new UserService(); // Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅: static final StableValue USERS = StableValue.of(); public static UserService users() { return USERS.orElseSet(UserService::new); } }
  • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° съвпадСниС с ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΏΠ΅Ρ‚ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π΅Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ (int, byte, char ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ основни Ρ‚ΠΈΠΏΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са ΠΎΠ±Π΅ΠΊΡ‚ΠΈ) във всички Π²ΠΈΠ΄ΠΎΠ²Π΅ шаблони, Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° "instanceof" ΠΈ Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ "switch". switch (x.getStatus()) { case 0 -> "okay"; case 1 -> "warning"; case 2 -> "error"; case int i -> "unknown status: " + i; } if (i instanceof byte b) { … b … }
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π·Π° тСстванС сСдмият ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π΅Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° API Π·Π° структурирана ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΡŠΠΌ (Structured Concurrency), ΠΊΠΎΠΉΡ‚ΠΎ опростява Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΈ прилоТСния Ρ‡Ρ€Π΅Π· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° няколко Π·Π°Π΄Π°Ρ‡ΠΈ, изпълнявани Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ, ΠΊΠ°Ρ‚ΠΎ Π΅Π΄ΠΈΠ½Π΅Π½ Π±Π»ΠΎΠΊ.
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ дванадСсСтата тСстова вСрсия Π½Π° API Vector, ΠΊΠΎΠΉΡ‚ΠΎ прСдоставя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΈ изчислСния, ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½ΠΈ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΈ инструкции Π½Π° процСсори x86_64 ΠΈ AArch64, позволяващи Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΡŠΡ€Ρ…Ρƒ няколко стойности (SIMD). Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½ΠΈΡ‚Π΅ Π² JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° HotSpot Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½Π° вСкторизация Π½Π° скаларни ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, новият API прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° явно ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° вСкторизацията Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ.
  • Π”ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π΅ трСтият ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π΅Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° API Π·Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ с криптографски ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅, сСртификати ΠΈ ΡΠΏΠΈΡΡŠΡ†ΠΈ с ΠΎΡ‚Π·ΠΎΠ²Π°Π½ΠΈ сСртификати, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° PEM (Privacy-Enhanced Mail).

Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π·Π° създаванС Π½Π° прилоТСния с Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ интСрфСйс JavaFX 27. Π’ слСдващитС часовС сС ΠΎΡ‡Π°ΠΊΠ²Π° ΠΈ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° унивСрсална Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина GraalVM 27, която ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° прилоТСния Π½Π° JavaScript (Node.js), Python, Ruby, R, всякакви Π΅Π·ΠΈΡ†ΠΈ Π·Π° JVM (Java, Scala, Clojure, Kotlin) ΠΈ Π΅Π·ΠΈΡ†ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π±ΠΈΡ‚ΠΊΠΎΠ΄ Π½Π° LLVM (C, C++, Rust).

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster