Π‘Π»Π΅Π΄ ΡΠ΅ΡΡΠΌΠ΅ΡΠ΅ΡΠ½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Oracle ΠΎΠ±ΡΠ²ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Java SE 17 (Java Platform, Standard Edition 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). Π Π΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Java 17, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° OpenJDK, Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ GPLv2 Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ GNU ClassPath, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ ΡΡΡΠ³ΠΎΠ²ΡΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ.
Java SE 17 Π΅ ΠΊΠ»Π°ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π° ΠΊΠ°ΡΠΎ Π²Π΅ΡΡΠΈΡ Ρ Π΄ΡΠ»Π³ΠΎΡΡΠΎΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° (LTS), ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π·Π° ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π΄ΠΎ 2029 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½Π° Π²Π΅ΡΡΠΈΡ Java 16 Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π°. ΠΠΈΠ½Π°Π»Π°ΡΠ° LTS Π²Π΅ΡΡΠΈΡ Java 11 ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π° Π΄ΠΎ 2026 Π³ΠΎΠ΄ΠΈΠ½Π°. Π‘Π»Π΅Π΄Π²Π°ΡΠ°ΡΠ° LTS Π²Π΅ΡΡΠΈΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΡΠ½Π°ΡΠ° ΠΏΡΠ΅Π· ΡΠ΅ΠΏΡΠ΅ΠΌΠ²ΡΠΈ 2024 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΠ°ΠΏΠΎΠΌΠ½ΡΠΌΠ΅, ΡΠ΅ ΠΎΡ Π²Π΅ΡΡΠΈΡ Java 10 ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΠΏΡΠ΅ΠΌΠΈΠ½Π° Π½Π° Π½ΠΎΠ² ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π° ΠΏΠΎ-ΠΊΡΠ°ΡΠΊΠΈ ΡΠΈΠΊΠ»ΠΈ Π·Π° ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ. ΠΠΎΠ²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΡΠ΅Π³Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° Π² ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΊΠ»ΠΎΠ½ΠΊΠ°, Π² ΠΊΠΎΡΡΠΎ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π²Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΡ ΠΊΠΎΡΡΠΎ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ΅ΡΡ ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ²Π°Ρ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Π·Π° ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΡ.
ΠΡ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡΡΠ° Π² Java 17 ΡΠ΅ ΠΎΡΠΊΡΠΎΡΠ²Π°Ρ:
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎ ΡΡΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ Π² ΠΈΠ·ΡΠ°Π·ΠΈΡΠ΅ βswitchβ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° Π² Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅ βcaseβ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π½Π΅ ΡΠΎΡΠ½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Π° Π³ΡΠ²ΠΊΠ°Π²ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΠΎΠ±Ρ Π²Π°ΡΠ°ΡΠΈ ΡΡΠ»Π° ΡΠ΅ΡΠΈΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Π·Π° ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈ Π΅ Π±ΠΈΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΎΠ±Π΅ΠΌΠΈΡΡΠΈ Π²Π΅ΡΠΈΠ³ΠΈ ΠΎΡ ΠΈΠ·ΡΠ°Π·ΠΈ βifβ¦elseβ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π²ΡΡΡΠ΅ Π² βswitchβ Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ NULL. Object o = 123L; String formatted = 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); case String s -> String.format("String %s", s); default -> o.toString(); };
- Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π·Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½ΠΈ ("sealed") ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΎΡ Π΄ΡΡΠ³ΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π·Π° Π½Π°ΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅, ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ°. ΠΠ°ΠΏΠ΅ΡΠ°ΡΠ°Π½ΠΈΡΠ΅ ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΡΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΠΎ-Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠΏΠ΅ΡΠΊΠ»Π°Ρ, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈΡΠ΅ Π·Π° Π΄ΠΎΡΡΡΠΏ, ΠΎΡΠ½ΠΎΠ²Π°Π²Π°ΡΠΈ ΡΠ΅ Π½Π° ΡΠ²Π½ΠΎΡΠΎ ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΠΎΠ²Π΅ Π·Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅. package com.example.geometry; public sealed class Shape permits com.example.polar.Circle, com.example.quad.Rectangle, com.example.quad.simple.Square {β¦}
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π²ΡΠΎΡΠ° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° API Vector, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° Π²Π΅ΠΊΡΠΎΡΠ½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π²Π΅ΠΊΡΠΎΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ x86_64 ΠΈ AArch64 ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ (SIMD). Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° Π²Π΅ΠΊΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠΊΠ°Π»Π°ΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½ΠΈ ΠΎΡ JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° HotSpot, Π½ΠΎΠ²ΠΈΡΡ API Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ²Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΠΊΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡΠ° Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° API Foreign Function & Memory, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ Ρ ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½ΠΈ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈ ΡΠ΅ ΠΈΠ·Π²ΡΠ½ Java runtime. ΠΠΎΠ²ΠΈΡΡ API ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈ ΠΈΠ·Π²ΡΠ½ JVM, ΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ, ΠΊΠΎΡΡΠΎ Π½Π΅ ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΎΡ JVM. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π΄Π° ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ²Π°Ρ Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠ°, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° JNI.
- ΠΠ²ΠΈΠ³Π°ΡΠ΅Π»ΡΡ Π·Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°Π½Π΅ Π·Π° macOS, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° API Java 2D, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² API Swing, Π΅ Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ API Metal. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° macOS Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° OpenGL, Π° Π·Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Metal Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° "-Dsun.java2d.metal=true" ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ ΠΏΠΎΠ½Π΅ Π½Π° Π²Π΅ΡΡΠΈΡ macOS 10.14.x.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΏΠΎΡΡ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° macOS/AArch64 (ΠΊΠΎΠΌΠΏΡΡΡΠΈ Π½Π° Apple Ρ Π½ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Apple M1). ΠΡΠΎΠ±Π΅Π½ΠΎΡΡ Π½Π° ΠΏΠΎΡΡΠ° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° W^X (ΠΠ°ΠΏΠΈΡ XOR ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅), ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π° Π·Π°ΠΏΠΈΡ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅. (ΠΊΠΎΠ΄ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ ΡΠ°ΠΌΠΎ ΡΠ»Π΅Π΄ Π·Π°Π±ΡΠ°Π½Π° Π½Π° Π·Π°ΠΏΠΈΡΠ°, Π° Π·Π°ΠΏΠΈΡΡΡ Π² ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠ°ΠΌΠΎ ΡΠ»Π΅Π΄ Π·Π°Π±ΡΠ°Π½Π° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ).
- ΠΡΡΠ½Π°ΡΠ° Π΅ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° ΡΠ°ΠΌΠΎ Π½Π° ΡΡΡΠΈΠΊΡΠ½Π° (strictfp) ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° Π·Π° ΠΈΠ·ΡΠ°Π·ΠΈ Ρ ΠΏΠ»Π°Π²Π°ΡΠ° Π·Π°ΠΏΠ΅ΡΠ°Ρ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ΡΠΎ Π½Π° Π½Π°Π»ΠΈΡΠ½Π°ΡΠ° ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° βdefaultβ, ΠΊΠΎΡΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½ΠΈΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΈ x87, Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΎ Ρ Π²Π΅ΡΡΠΈΡ Java 1.2 (ΡΠ»Π΅Π΄ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ SSE2 Π½ΡΠΆΠ΄Π°ΡΠ° ΠΎΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΠΈΠ·ΡΠ΅Π·Π½Π°).
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ ΠΊΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΈ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΠΈ ΡΠΈΡΠ»Π°, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΏΠΎ-ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π½Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΠΈ ΡΠΈΡΠ»Π°. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΈΠ·Π±ΠΈΡΠ°Ρ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Π·Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΠΈ ΡΠΈΡΠ»Π°. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΠΎΡΠΈ ΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ.
- ΠΠ°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½Π° Π΅ ΡΡΡΠΈΠΊΡΠ½Π°ΡΠ° ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»Π°ΡΠΈΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π²ΡΡΡΠ΅ΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° JDK, Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΡΠΈΡΠΈΡΠ½ΠΈ API, ΠΊΠ°ΡΠΎ sun.misc.Unsafe. Π‘ΡΡΠΈΡΠ°ΡΠ° ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»Π°ΡΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠ° ΠΎΠΏΠΈΡΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΎΡ ΠΊΠΎΠ΄ Π΄ΠΎ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅, ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΠΏΠΎΠ»Π΅ΡΠ°. ΠΡΠ΅Π΄ΠΈ ΡΠ΅ΠΆΠΈΠΌΡΡ Π½Π° ΡΡΡΠΎΠ³Π° ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ Ρ ΠΎΠΏΡΠΈΡΡΠ° ββillegal-access=permitβ, Π½ΠΎ ΡΠ΅Π³Π° ΡΡ Π΅ ΠΎΠ±ΡΠ²Π΅Π½Π° Π·Π° ΠΎΡΡΠ°ΡΡΠ»Π°. ΠΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅, ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΠΏΠΎΠ»Π΅ΡΠ°, ΡΡΡΠ±Π²Π° ΠΈΠ·ΡΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Ρ ΠΎΠΏΡΠΈΡΡΠ° ββadd-opensβ ΠΈΠ»ΠΈ Π°ΡΡΠΈΠ±ΡΡΠ° Add-Opens Π² ΡΠ°ΠΉΠ»Π° Ρ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ.
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΡΠΈΠ»ΡΡΠΈ Π·Π° Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·Π±ΠΈΡΠ°Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠ°Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ ΡΠΈΠ»ΡΡΠΈ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ Π½Π° Π½ΠΈΠ²ΠΎ Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° (Π² ΡΡΠ»Π°ΡΠ° JVM), Ρ.Π΅. ΠΎΠ±Ρ Π²Π°ΡΠ°Ρ Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠ°ΠΌΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π²ΡΠ½ΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
- Π Swing Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ΡΡ javax.swing.filechooser.FileSystemView.getSystemIcon Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΈ Ρ Π³ΠΎΠ»ΡΠΌ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° Π΅ΠΊΡΠ°Π½ΠΈ Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΠ»ΡΡΠ½ΠΎΡΡ Π½Π° ΠΏΠΈΠΊΡΠ΅Π»ΠΈΡΠ΅ (HighDPI).
- API-ΡΠΎ java.net.DatagramSocket ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΊΡΠΌ Π³ΡΡΠΏΠΈ Multicast Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΎ API java.net.MulticastSocket.
- Π£ΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½ Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡΡ IGV (Ideal Graph Visualizer), ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π² JIT-ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° HotSpot VM C2.
- Π JavaDoc, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° javac, ΠΏΡΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠ° ΡΠ΅Π³Π° ΡΠ΅ ΡΠΊΠ°Π·Π²Π° Π½ΠΎΠΌΠ΅ΡΡΡ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡ Π² ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΡΠ°ΠΉΠ» ΠΈ ΠΌΡΡΡΠΎΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠ°ΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ native.encoding, ΠΎΡΡΠ°Π·ΡΠ²Π°ΡΠΎ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½Π°ΡΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ (UTF-8, koi8-r, cp1251 ΠΈ Π΄Ρ.).
- ΠΠΎΠ±Π°Π²Π΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ java.time.InstantSource, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π±Π΅Π· ΠΏΡΠΈΠ²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ ΡΠ°ΡΠΎΠ²ΠΈ ΠΏΠΎΡΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½ API java.util.HexFormat Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π² ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
- Π ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ blackhole, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΊΠ»ΡΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·Π²Π°Π΅ΠΌΠΈΡ ΠΊΠΎΠ΄ (dead-code elimination), ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ.
- Π Runtime Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«-Xlog:asyncΒ» Π·Π° Π·Π°ΠΏΠΈΡ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π² Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ.
- ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ΅Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ TLS 1.3 (ΠΏΠΎ-ΡΠ°Π½ΠΎ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ TLS 1.2).
- ΠΡΠ΅Π²Π΅Π΄Π΅Π½ Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° Π½Π° Π·Π°ΠΌΠΈΡΠ»Π΅Π½ΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ ΠΏΡΠ΅Π΄ΠΈ ΠΎΠ±ΡΠ²Π΅Π½ΠΎΡΠΎ ΠΎΡΡΠ°ΡΡΠ» API Applet (java.applet.Applet*, javax.swing.JApplet), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Java ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ° (Π·Π°Π³ΡΠ±ΠΈΠ» Π°ΠΊΡΡΠ°Π»Π½ΠΎΡΡ ΡΠ»Π΅Π΄ ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Java ΠΏΠ»ΡΠ³ΠΈΠ½Π° Π·Π° Π±ΡΠ°ΡΠ·Π΅ΡΠΈ).
- ΠΡΠ΅Π²Π΅Π΄Π΅Π½ Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° Π½Π° Π·Π°ΠΌΠΈΡΠ»Π΅Π½ΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Security Manager, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ΄Π°Π²Π½Π° Π΅ Π·Π°Π³ΡΠ±ΠΈΠ» Π°ΠΊΡΡΠ°Π»Π½ΠΎΡΡ ΠΈ Π΅ ΠΎΡΡΠ°Π½Π°Π» Π½Π΅Π½ΡΠΆΠ΅Π½ ΡΠ»Π΅Π΄ ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΠΈΡ ΠΏΠ»ΡΠ³ΠΈΠ½.
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° RMI Activation, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΎΡΡΠ°ΡΡΠ», ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΎΠΏΡΠΈΡ ΠΎΡΠ΅ Π² Java 8 ΠΈ ΠΏΠΎΡΡΠΈ Π½Π΅ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π² ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°.
- ΠΡ SDK Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ JIT (just-in-time) Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° Java ΠΊΠΎΠ΄ Π·Π° HotSpot JVM, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ (AOT, ahead-of-time) Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ Π² ΠΌΠ°ΡΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π°. ΠΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Java ΠΈ Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Graal. ΠΡΠ±Π΅Π»ΡΠ·Π²Π° ΡΠ΅, ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° ΠΈΠ·ΠΈΡΠΊΠ²Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡΡΠ΄ΠΎΠ²ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π²Π°Ρ ΡΠ΅Π±Π΅ ΡΠΈ Π² ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° Π½Π΅ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
