ВСрсия Π½Π° Java SE 18

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

Java SE 18 Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½Π° вСрсия Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°, ΠΊΠ°Ρ‚ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ пуснати ΠΏΡ€Π΅Π΄ΠΈ слСдващото ΠΈΠ·Π΄Π°Π½ΠΈΠ΅. ΠšΠ»ΠΎΠ½ΡŠΡ‚ Π·Π° Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° (LTS) трябва Π΄Π° бъдС Java SE 17, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎ 2029 Π³. Π‘ΠΏΠΎΠΌΠ½Π΅Ρ‚Π΅ си, Ρ‡Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ с пусканСто Π½Π° Java 10, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΏΡ€Π΅ΠΌΠΈΠ½Π° към Π½ΠΎΠ² процСс Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π° ΠΏΠΎ-ΠΊΡ€Π°Ρ‚ΡŠΠΊ Ρ†ΠΈΠΊΡŠΠ» Π·Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ вСрсии. Π‘Π΅Π³Π° сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° Π½ΠΎΠ²Π° функционалност Π² Π΅Π΄ΠΈΠ½ постоянно Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π³Π»Π°Π²Π΅Π½ ΠΊΠ»ΠΎΠ½, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π²Π΅Ρ‡Π΅ Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΡ‚ ΠΊΠΎΠΉΡ‚ΠΎ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ сС разклоняват Π½Π° всСки ΡˆΠ΅ΡΡ‚ мСсСца, Π·Π° Π΄Π° сС стабилизират Π½ΠΎΠ²ΠΈΡ‚Π΅ вСрсии.

НовитС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Java 18 Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚:

  • Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΡ‚ΠΎ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π΅ UTF-8. Java API, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ тСкстови Π΄Π°Π½Π½ΠΈ въз основа Π½Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π½Π°Ρ†ΠΈ, Π²Π΅Ρ‡Π΅ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ UTF-8 ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° всички ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ, нСзависимо ΠΎΡ‚ систСмнитС настройки ΠΈ настройкитС Π·Π° Π»ΠΎΠΊΠ°Π». Π—Π° Π΄Π° сС Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ към старото ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ сС ΠΈΠ·Π±ΠΈΡ€Π° въз основа Π½Π° систСмния Π»ΠΎΠΊΠ°Π», ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ опцията "-Dfile.encoding=COMPAT".
  • ΠŸΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° com.sun.net.httpserver, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° jwebserver ΠΈ API Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° с внСдряванС Π½Π° прост http ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° обслуТванС Π½Π° статично ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ (CGI ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° сСрвлСт ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚). ВградСният HTTP ΡΡŠΡ€Π²ΡŠΡ€ Π½Π΅ Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ натоварвания ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° ΠΈ удостовСряванС, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π΅ насочСн основно към ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² процСса Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π° ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€Π°Π½Π΅, отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ тСстванС Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ.
  • JavaDoc прСдоставя ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ‚Π°Π³Π° "@snippet" Π·Π° Π²Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ Π² докумСнтацията Π½Π° API, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ инструмСнти Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅, ΠΏΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π²Π°Π½Π΅ Π½Π° синтаксиса ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° IDE.
  • РСализацията Π½Π° java.lang.reflect API (Core Reflection), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° информация Π·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, ΠΏΠΎΠ»Π΅Ρ‚Π° ΠΈ конструктори Π½Π° класовС, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½Π°Ρ‚Π° структура Π½Π° класовСтС, Π΅ ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π°. Бамият API Π½Π° java.lang.reflect остава Π½Π΅ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½, Π½ΠΎ сСга сС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° Ρ‡Ρ€Π΅Π· ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, прСдоставСни ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»Π° java.lang.invoke, вмСсто Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° Π±Π°ΠΉΡ‚ ΠΊΠΎΠ΄. ΠŸΡ€ΠΎΠΌΡΠ½Π°Ρ‚Π° Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΠΈΠΌ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° java.lang.reflect ΠΈ java.lang.invoke ΠΈ Π΄Π° опростим ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° ΠΈΠΌ.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΅ Ρ‚Ρ€Π΅Ρ‚ΠΈ ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° вСкторния API, прСдоставящ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΈ изчислСния, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΈ инструкции Π½Π° процСсори x86_64 ΠΈ AArch64 ΠΈ позволяват ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π΄Π° сС ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ към мноТСство стойности (SIMD). Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅, прСдоставСни Π² HotSpot JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° скаларни ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, новият API ΠΏΡ€Π°Π²ΠΈ възмоТно ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎΡ‚ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° вСкторизацията Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ SPI интСрфСйс (интСрфСйс Π½Π° доставчик Π½Π° услуги) Π·Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π° Π½Π° хостовС ΠΈ IP адрСси, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ Ρ€Π΅Π·ΠΎΠ»Π²Π΅Ρ€ΠΈ Π² java.net.InetAddress, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са ΠΎΠ±Π²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½ΠΈ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма.
  • ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½ Π΅ Π²Ρ‚ΠΎΡ€ΠΈ ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° API Π·Π° външни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ позволява Π½Π° прилоТСнията Π΄Π° взаимодСйстват с ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½ΠΈ извън срСдата Π·Π° изпълнСниС Π½Π° Java. Новият API Π²ΠΈ позволява Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚Π΅ Π½Π΅-JVM Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π΄Π° ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π°Ρ‚Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π½Π΅-JVM-управлявана ΠΏΠ°ΠΌΠ΅Ρ‚. НапримСр, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ външни сподСлСни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π΄Π° ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π°Ρ‚Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° процСса, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ JNI.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²Ρ‚ΠΎΡ€Π° СкспСримСнтална рСализация Π½Π° ΡΡŠΠΏΠΎΡΡ‚Π°Π²ΡΠ½Π΅ Π½Π° шаблони Π² ΠΈΠ·Ρ€Π°Π·ΠΈ Π·Π° β€žΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅β€œ, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° гъвкави шаблони Π² Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ β€žcaseβ€œ, Π° Π½Π΅ Ρ‚ΠΎΡ‡Π½ΠΈ стойности, ΠΏΠΎΠΊΡ€ΠΈΠ²Π°Ρ‰ΠΈ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ стойности навСднъТ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° бСшС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚Ρ€ΠΎΠΌΠ°Π²ΠΈ Π²Π΅Ρ€ΠΈΠ³ΠΈ ΠΎΡ‚ ΠΈΠ·Ρ€Π°Π·ΠΈ β€žΠ°ΠΊΠΎ...ΠΈΠ½Π°Ρ‡Π΅β€œ. ΠžΠ±Π΅ΠΊΡ‚ o = 123L; Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½ Π½ΠΈΠ· = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); случай String s -> String.format("Низ %s", s); ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ -> o.toString(); };
  • ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π·Π° Ρ„ΠΈΠ½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ с Π½Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΊΠ°Ρ‚ΠΎ Object.finalize(), Enum.finalize(), Runtime.runFinalisation() ΠΈ System.runFinalisation() са ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»Π΅Π½ΠΈ ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ Π² Π±ΡŠΠ΄Π΅Ρ‰Π° вСрсия.
  • ZGC (Z Garbage Collector), SerialGC ΠΈ ParallelGC ΡΡŠΠ±ΠΈΡ€Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ дСдупликация Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π΅.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€