ΠΠΎ ΡΠ΅ΡΡ ΠΌΠ΅ΡΠ΅ΡΠΈ ΡΠ°Π·Π²ΠΎΡ, Oracle Π³ΠΎ ΠΈΠ·Π΄Π°Π΄Π΅ Java SE 17 (ΠΠ°Π²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ 17), ΠΊΠΎΡ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ ΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ OpenJDK ΠΊΠ°ΠΊΠΎ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. Π‘ΠΎ ΠΈΡΠΊΠ»ΡΡΠΎΠΊ Π½Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π½Π΅ΠΊΠΎΠΈ Π·Π°ΡΡΠ°ΡΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Java SE 17 ΠΎΠ΄ΡΠΆΡΠ²Π° ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ Π½Π°Π½Π°Π·Π°Π΄ ΡΠΎ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Java - ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Java ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΡΓ¨ ΡΡΡΠ΅ ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Ρ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ ΡΠΏΠΎΡΠ΅Π΄ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ°. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΡΠ° Π½Π° Java SE 17 (JDK, JRE ΠΈ Server JRE) ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π·Π° Linux (x86_64, AArch64), Windows (x86_64) ΠΈ macOS (x86_64, AArch64). Π Π°Π·Π²ΠΈΠ΅Π½Π° ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ OpenJDK, ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Java 17 Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° GPLv2 ΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΎΡΠΈ Π½Π° GNU ClassPath Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΊΠΎΠΌΠ΅ΡΡΠΈΡΠ°Π»Π½ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ.
Java SE 17 Π΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π° Π΄ΠΎΠ»Π³ΠΎΡΠΎΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° (LTS) ΡΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ° Π΄ΠΎ 2029 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΠΆΡΡΠΈΡΠ°ΡΠ°ΡΠ° Π·Π° ΠΌΠΈΠ½Π°ΡΠΎΡΠΎ ΠΏΡΠΈΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Java 16 ΡΠ΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°ΡΠΈ. ΠΡΠ΅ΡΡ ΠΎΠ΄Π½Π°ΡΠ° ΡΠΈΠ»ΠΈΡΠ°Π»Π° Java 11 LTS ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½Π° Π΄ΠΎ 2026 Π³ΠΎΠ΄ΠΈΠ½Π°. Π‘Π»Π΅Π΄Π½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° LTS Π΅ Π·Π°ΠΊΠ°ΠΆΠ°Π½ΠΎ Π·Π° ΡΠ΅ΠΏΡΠ΅ΠΌΠ²ΡΠΈ 2024 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΠΎΡΡΠ΅ΡΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΏΠΎΡΠ½ΡΠ²Π°ΡΡΠΈ ΡΠΎ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Java 10, ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»ΠΈ Π½Π° Π½ΠΎΠ² ΡΠ°Π·Π²ΠΎΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ, ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ° ΠΏΠΎΠΊΡΠ°ΡΠΎΠΊ ΡΠΈΠΊΠ»ΡΡ Π·Π° ΡΠΎΡΠΌΠΈΡΠ°ΡΠ΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΡΠ°. Π‘Π΅Π³Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π²ΠΎ Π΅Π΄Π½Π° ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ Π°ΠΆΡΡΠΈΡΠ°Π½Π° Π³Π»Π°Π²Π½Π° Π³ΡΠ°Π½ΠΊΠ°, ΠΊΠΎΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° Π²Π΅ΡΠ΅ Π·Π°Π²ΡΡΠ΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΠ΄ ΠΊΠΎΡΠ° ΡΠΈΠ»ΠΈΡΠ°Π»ΠΈΡΠ΅ ΡΠ΅ ΡΠ°Π·Π³ΡΠ°Π½ΡΠ²Π°Π°Ρ Π½Π° ΡΠ΅ΠΊΠΎΠΈ ΡΠ΅ΡΡ ΠΌΠ΅ΡΠ΅ΡΠΈ Π·Π° Π΄Π° ΡΠ΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π°Ρ Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΡΠ°.
ΠΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎ Java 17 Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ:
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΠΎΠ²ΠΏΠ°ΡΠ°ΡΠ΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π²ΠΎ ΠΈΠ·ΡΠ°Π·ΠΈΡΠ΅ βΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°Ρβ, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π΅ ΡΠΎΡΠ½ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π²ΠΎ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅ βΡΠ»ΡΡΠ°Ρβ, ΡΡΠΊΡ ΡΠ»Π΅ΠΊΡΠΈΠ±ΠΈΠ»Π½ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΠΊΠΎΠΈ Π²Π΅Π΄Π½Π°Ρ ΠΏΠΎΠΊΡΠΈΠ²Π°Π°Ρ Π½ΠΈΠ·Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π·Π° ΠΊΠΎΠΈ Π³Π»ΠΎΠΌΠ°Π·Π½ΠΈ ΡΠΈΠ½ΡΠΈΡΠΈ Π½Π° βΠ°ΠΊΠΎ ... Π΄ΡΡΠ³ΠΎβ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π±ΠΈΠ»Π΅ ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, Π²Π½Π°ΡΡΠ΅ Π²ΠΎ βΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°ΡΠΎΡβ Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π·Π° ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΡΠΎ NULL Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ. ΠΠ±ΡΠ΅ΠΊΡ o = 123L; Π‘ΡΡΠΈΠ½Π³ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ = ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°Ρ (o) { case Π¦Π΅Π» Π±ΡΠΎΡ i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ -> o.toString(); };
- Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Π·Π°ΠΏΠ΅ΡΠ°ΡΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ ΠΊΠΎΠΈ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΎΠ΄ Π΄ΡΡΠ³ΠΈ ΠΊΠ»Π°ΡΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ Π·Π° Π½Π°ΡΠ»Π΅Π΄ΡΠ²Π°ΡΠ΅, ΠΏΡΠΎΡΠΈΡΡΠ²Π°ΡΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Π° Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈΡΠ΅. ΠΠ°ΠΏΠ΅ΡΠ°ΡΠ΅Π½ΠΈΡΠ΅ ΠΊΠ»Π°ΡΠΈ, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ ΠΏΠΎΠ΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΠ° ΠΎΡΠΊΠΎΠ»ΠΊΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈΡΠ΅ Π·Π° ΠΏΡΠΈΡΡΠ°ΠΏ, Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π½Π°Π±ΡΠΎΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°Ρ. ΠΏΠ°ΠΊΠ΅Ρ com.example.geometry; ΠΠ°Π²Π½ΠΎ Π·Π°ΠΏΠ΅ΡΠ°ΡΠ΅Π½Π° ΠΊΠ»Π°ΡΠ° ΠΠΎΠ·Π²ΠΎΠ»ΠΈ Π·Π° ΠΎΠ±Π»ΠΈΠΊΡΠ²Π°ΡΠ΅ com.example.polar.Circle, com.example.quad.Rectangle, com.example.quad.simple.Square {β¦}
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π²ΡΠΎΡΠ°ΡΠ° ΠΏΡΠ΅Π»ΠΈΠΌΠΈΠ½Π°ΡΠ½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Vector API, ΠΊΠΎΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈ ΠΏΡΠ΅ΡΠΌΠ΅ΡΠΊΠΈ ΠΊΠΎΠΈ ΡΠ΅ Π²ΡΡΠ°Ρ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π²Π΅ΠΊΡΠΎΡΡΠΊΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ x86_64 ΠΈ AArch64 ΠΈ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°Π°Ρ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ (SIMD). ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π΄Π°Π΄Π΅Π½ΠΈ Π²ΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ HotSpot JIT Π·Π° Π°Π²ΡΠΎΠ²Π΅ΠΊΡΠΎΡΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΡΠΊΠ°Π»Π°ΡΠ½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½ΠΎΠ²ΠΈΠΎΡ API ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° Π²Π΅ΠΊΡΠΎΡΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ° Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΡΠ΅Π»ΠΈΠΌΠΈΠ½Π°ΡΠ½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Foreign Function & Memory API, ΡΠΎ ΠΊΠΎΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΡΠΈΡΠ°Π°Ρ ΡΠΎ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ Java runtime. ΠΠΎΠ²ΠΈΠΎΡ API Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ Π΄Π° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΈ Π½Π΅ ΡΠ΅ JVM ΠΈ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΈΡΠ΅ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΡΡΠΎ Π½Π΅ Π΅ ΡΠΏΡΠ°Π²ΡΠ²Π°Π½Π° ΠΎΠ΄ JVM. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ²ΠΈΠΊΠ°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ΄ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΈΡΠ΅ Π΄ΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π±Π΅Π· ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° JNI.
- ΠΠΎΡΠΎΡΠΎΡ Π·Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° macOS ΡΡΠΎ Π³ΠΎ Π½Π°ΠΏΠΎΡΡΠ²Π° Java 2D API, ΠΊΠΎΡ ΠΏΠ°ΠΊ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΎΠ΄ Swing API, Π΅ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ Metal Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ API. Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π½Π° macOS ΡΓ¨ ΡΡΡΠ΅ Π΅ OpenGL, Π° Π·Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅ Π½Π° Metal ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈ ΠΎΠΏΡΠΈΡΠ°ΡΠ° β-Dsun.java2d.metal=trueβ ΠΈ Π΄Π° ΡΠ΅ ΠΈΠΌΠ° Π±Π°ΡΠ΅ΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° macOS 10.14.x.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° ΠΏΠΎΡΡΠ° Π·Π° macOS/AArch64 ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° (ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΈ Π½Π° Apple Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π½ΠΎΠ²ΠΈ Apple M1 ΡΠΈΠΏΠΎΠ²ΠΈ). ΠΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π½Π° ΠΏΠΎΡΡΠ°ΡΠ° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° Π·Π°ΡΡΠΈΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° W^X (Write XOR Execute), Π²ΠΎ ΠΊΠΎΡ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠΈ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π±ΠΈΠ΄Π°Ρ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ Π·Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅. (ΠΊΠΎΠ΄ΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ ΡΠ°ΠΌΠΎ ΠΎΡΠΊΠ°ΠΊΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ Π΅ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ, Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΌΠΎ ΠΎΡΠΊΠ°ΠΊΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π΅ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΎ).
- ΠΠ° Π²ΡΠ°ΡΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΠ°ΠΌΠΎ ΡΡΡΠΎΠ³Π° (strictfp) ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° Π·Π° ΠΈΠ·ΡΠ°Π·ΠΈ ΡΠΎ ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Π° Π·Π°ΠΏΠΈΡΠΊΠ°. ΠΡΡΡΠ»Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° βΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°β ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ°, Π΄ΠΎΡΡΠ°ΠΏΠ½Π° ΠΎΠ΄ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Java 1.2, ΡΡΠΎ Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ ΠΌΠ½ΠΎΠ³Ρ ΡΡΠ°ΡΠΈ x87 ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ (ΠΏΠΎ Π²ΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ SSE2, ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΠΈΡΡΠ΅Π·Π½Π°).
- ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ Π½ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ Π·Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΈ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎ-ΡΠ»ΡΡΠ°ΡΠ½ΠΈ Π±ΡΠΎΠ΅Π²ΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ»ΡΡΠ°Π΅Π½ Π±ΡΠΎΡ. ΠΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΠΈΠΌ ΡΠ΅ Π΄Π°Π²Π° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° Π³ΠΎ ΠΈΠ·Π±Π΅ΡΠ°Ρ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌΠΎΡ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎ-ΡΠ»ΡΡΠ°ΡΠ½ΠΈ Π±ΡΠΎΠ΅Π²ΠΈ. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅ΠΊΠΎΠ²ΠΈ Π½Π° ΡΠ»ΡΡΠ°ΡΠ½ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ.
- Π‘ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° Π·Π°Π΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»Π½Π° ΡΠΈΠ»Π½Π° ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»Π°ΡΠΈΡΠ° Π½Π° ΡΠΈΡΠ΅ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈ ΡΠ°Π±ΠΎΡΠΈ Π½Π° JDK, ΠΎΡΠ²Π΅Π½ Π·Π° ΠΊΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ API ΠΊΠ°ΠΊΠΎ sun.misc.Unsafe. Π‘ΠΈΠ»Π½Π°ΡΠ° Π΅Π½ΠΊΠ°ΠΏΡΡΠ»Π°ΡΠΈΡΠ° Π³ΠΈ Π±Π»ΠΎΠΊΠΈΡΠ° ΠΎΠ±ΠΈΠ΄ΠΈΡΠ΅ Π·Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈ ΠΊΠ»Π°ΡΠΈ, ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΠΏΠΎΠ»ΠΈΡΠ° ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ. ΠΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ, ΡΡΡΠΎΠ³Π°ΡΠ° ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»Π°ΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΠΎΠΏΡΠΈΡΠ°ΡΠ° β--illegal-access=permitβ, Π½ΠΎ ΠΎΠ²Π° ΡΠ΅Π³Π° Π΅ Π·Π°ΡΡΠ°ΡΠ΅Π½ΠΎ. ΠΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΈ ΠΈΠΌ Π΅ ΠΏΠΎΡΡΠ΅Π±Π΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΊΠ»Π°ΡΠΈ, ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΠΏΠΎΠ»ΠΈΡΠ° ΡΡΠ΅Π±Π° Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π΄Π° Π³ΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π°Ρ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΠΎΠΏΡΠΈΡΠ°ΡΠ° β--add-opensβ ΠΈΠ»ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΡ Add-Opens Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π½Π° ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΎΡ.
- ΠΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΠΈΠΌΠ°Π°Ρ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π°Ρ ΡΠΈΠ»ΡΡΠΈ Π·Π° Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π±ΠΈΠ΄Π°Ρ Π·Π°Π²ΠΈΡΠ½ΠΈ ΠΎΠ΄ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΈ ΠΈΠ·Π±ΡΠ°Π½ΠΈ Π²ΠΎ Π²ΡΡΠΊΠ° ΡΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ°. Π€ΠΈΠ»ΡΡΠΈΡΠ΅ ΡΡΠΎ Π³ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΠ²ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π·Π° ΡΠ΅Π»Π°ΡΠ° Π²ΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° (ΡΠΈΡΠΎΠΊΠΎ JVM), Ρ.Π΅. ΠΏΠΎΠΊΡΠΈΠ²Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠ°ΠΌΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°, ΡΡΠΊΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΠΎΠ΄ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°.
- Swing Π³ΠΎ Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΡ javax.swing.filechooser.FileSystemView.getSystemIcon Π·Π° Π²ΡΠΈΡΡΠ²Π°ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈΠΊΠΎΠ½ΠΈ Π·Π° Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ Π½Π° Π΅ΠΊΡΠ°Π½ΠΈΡΠ΅ ΡΠΎ Π²ΠΈΡΠΎΠΊΠ° Π³ΡΡΡΠΈΠ½Π° Π½Π° ΠΏΠΈΠΊΡΠ΅Π»ΠΈ (HighDPI).
- java.net.DatagramSocket API ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ ΡΠΎ Multicast Π³ΡΡΠΏΠΈ Π±Π΅Π· ΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ ΠΏΠΎΡΠ΅Π±Π΅Π½ java.net.MulticastSocket API.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ Π°Π»Π°ΡΠΊΠ°ΡΠ° IGV (Ideal Graph Visualizer), ΠΊΠΎΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π° Π²ΠΈΠ·ΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΡΡΠ΅Π΄Π½ΠΎΡΠΎ ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π²ΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ HotSpot VM C2 JIT.
- ΠΠΎ JavaDoc, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ° ΡΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ javac, ΠΊΠΎΠ³Π° ΡΠ΅ ΠΈΠ·Π΄Π°Π²Π° Π³ΡΠ΅ΡΠΊΠ°, ΡΠ΅Π³Π° ΡΠ΅ ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈ Π±ΡΠΎΡΠΎΡ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠ° Π²ΠΎ ΠΈΠ·Π²ΠΎΡΠ½Π°ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈ Π»ΠΎΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠ°ΡΠ°.
- Π‘Π²ΠΎΡΡΡΠ²ΠΎΡΠΎ native.encoding Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΎ, ΡΡΠΎ Π³ΠΎ ΠΎΠ΄ΡΠ°Π·ΡΠ²Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΎΡΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ Π½Π° Π·Π½Π°ΡΠΈ (UTF-8, koi8-r, cp1251, ΠΈΡΠ½.).
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ java.time.InstantSource, ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°ΡΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π±Π΅Π· Π΄Π° Π±ΠΈΠ΄Π΅ΡΠ΅ Π²ΡΠ·Π°Π½ΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ° Π·ΠΎΠ½Π°.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ java.util.HexFormat API Π·Π° ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°ΡΠ΅ Π²ΠΎ Ρ Π΅ΠΊΡΠ°Π΄Π΅ΡΠΈΠΌΠ°Π»Π΅Π½ ΠΏΡΠΈΠΊΠ°Π· ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
- ΠΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΠ½Π° Π΄ΡΠΏΠΊΠ°, ΠΊΠΎΡ Π³ΠΈ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° Π΅Π»ΠΈΠΌΠΈΠ½Π°ΡΠΈΡΠ° Π½Π° ΠΌΡΡΠ²ΠΈΠΎΡ ΠΊΠΎΠ΄, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΡΠΈ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΈ Π·Π° ΠΈΠ·Π²Π΅Π΄Π±Π°.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡΠ°ΡΠ° β-Xlog:asyncβ Π²ΠΎ Runtime Π·Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΎ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ.
- ΠΡΠΈ Π²ΠΎΡΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΈ Π²ΡΡΠΊΠΈ, ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ TLS 1.3 (ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ TLS 1.2).
- ΠΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π·Π°ΡΡΠ°ΡΠ΅Π½ΠΈΠΎΡ ΠΠΠ Π½Π° Applet (java.applet.Applet*, javax.swing.JApplet), ΠΊΠΎΡ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Java Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΎ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΎΡ, Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ Π²ΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠ°ΡΠ° Π·Π°ΠΊΠ°ΠΆΠ°Π½Π° Π·Π° Π±ΡΠΈΡΠ΅ΡΠ΅ (ΠΈΠ·Π³ΡΠ±Π΅Π½Π° Π²Π°ΠΆΠ½ΠΎΡΡ ΠΏΠΎ Π·Π°Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Java ΠΏΡΠΈΠΊΠ»ΡΡΠΎΠΊ Π·Π° ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΈ).
- ΠΡΠ΅ΡΡΠ»Π΅Π½ Π²ΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠ°ΡΠ° ΠΠ΅Π½Π°ΡΠ΅Ρ Π·Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ, ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅, ΠΊΠΎΡ ΠΎΠ΄Π°ΠΌΠ½Π° ΡΠ° ΠΈΠ·Π³ΡΠ±ΠΈ ΡΠ²ΠΎΡΠ°ΡΠ° Π²Π°ΠΆΠ½ΠΎΡΡ ΠΈ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊΠΎ Π½Π΅ΠΏΠΎΠ΄ΠΈΠ³Π½Π°Ρ ΠΏΠΎ ΠΏΡΠ΅ΠΊΠΈΠ½ΠΎΡ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΏΡΠΈΠΊΠ»ΡΡΠΎΠΊΠΎΡ Π½Π° ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΎΡ.
- ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ RMI Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Ρ, ΠΊΠΎΡ Π΅ Π·Π°ΡΡΠ°ΡΠ΅Π½, ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»ΠΈ Π²ΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠ°ΡΠ° ΠΎΠΏΡΠΈΡΠ° Π½Π°Π·Π°Π΄ Π²ΠΎ Java 8 ΠΈ ΡΠ΅ΡΠΈΡΠΈ Π½ΠΈΠΊΠΎΠ³Π°Ρ Π½Π΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π°ΡΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°.
- ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Ρ ΠΎΠ΄ SDK ΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° JIT (ΡΠ°ΠΌΠΎ Π½Π°Π²ΡΠ΅ΠΌΠ΅) Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ° Π½Π° Java ΠΊΠΎΠ΄ Π·Π° HotSpot JVM, ΠΊΠ°ΠΊΠΎ ΠΈ ΡΠ΅ΠΆΠΈΠΌΠΎΡ Π½Π° ΠΏΡΠ΅Π²Π΅Π½ΡΠΈΠ²Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ° (AOT, ΠΎΠ΄Π½Π°ΠΏΡΠ΅Π΄) Π½Π° ΠΊΠ»Π°ΡΠΈ Π΄ΠΎ ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΈ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄ Π΄Π° ΡΠ° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ Π²ΠΈΡΡΡΠ΅Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π°. ΠΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΠΠ°Π²Π° ΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ ΠΡΠ°Π°Π». ΠΠ°Π±Π΅Π»Π΅ΠΆΠ°Π½ΠΎ Π΅ Π΄Π΅ΠΊΠ° ΠΎΠ΄ΡΠΆΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ Π±Π°ΡΠ° ΠΌΠ½ΠΎΠ³Ρ ΡΡΡΠ΄, ΡΡΠΎ Π½Π΅ ΡΠ΅ ΠΎΠΏΡΠ°Π²Π΄ΡΠ²Π° Π²ΠΎ ΡΡΠ»ΠΎΠ²ΠΈ Π½Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π° ΠΏΠΎΠ±Π°ΡΡΠ²Π°ΡΠΊΠ° ΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅.
ΠΠ·Π²ΠΎΡ: opennet.ru