Channel: Java
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
β« ΠΠ±Π·ΠΎΡ ΠΊΡΡΡΠΎΠ²: ΠΠ²ΡΠΎΡ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠΊΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
β« Π¦Π΅Π»Π΅Π²Π°Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ: Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΠΊΡΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΊΠ°ΠΊ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ , ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΡΡΠ΅ΠΌΡΡΠΈΡ ΡΡ ΡΠ³Π»ΡΠ±ΠΈΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
β« Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°: Π ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ΅ΠΌΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΡΡΡΠ° β ΠΎΡ ΠΎΡΠ½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π΄ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ.
β« ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ: ΠΠ²ΡΠΎΡ Π΄Π΅Π»ΠΈΡΡΡ ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΎ ΠΏΠ»ΡΡΠ°Ρ ΠΈ ΠΌΠΈΠ½ΡΡΠ°Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΡΡΡΠ°, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΠΎΠ·Π½Π°Π½Π½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
Π ΠΈΡΠΎΠ³Π΅, ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΡΠ»ΡΠΆΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈΡΡΡΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΏΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ Π½Π° Java.
βͺ Π§ΠΈΡΠ°ΡΡ
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Π Π½ΡΠΌ ΡΠΎΠ±ΡΠ°Π½Ρ Π²ΠΎΠΏΡΠΎΡΡ, ΠΎΡΠ²Π΅ΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Java, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ·ΡΠΊΠ°, ΡΠ°Π±ΠΎΡΡ JVM, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ, ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°Π½ΠΈΡ, Π²ΡΡΠ²ΠΈΡΡ ΡΠ»Π°Π±ΡΠ΅ ΠΌΠ΅ΡΡΠ° ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡΡΡ ΠΊ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°.
βͺ ΠΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ : ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΡΠΎΠ²Π½Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ, Π±ΡΠ΄Ρ Π²Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΠΈΠ»ΠΈ ΠΎΠΏΡΡΠ½ΡΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠΌ, Π·Π΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°.
ΠΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΡΠ°Π½Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠΉΡΠΈ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ Java.
π Github
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
πππ Π Π΅Π»ΠΈΠ·: Java 24
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π²ΡΡΠ΅Π» ΡΠ΅Π»ΠΈΠ· Java 24 β ΠΎΡΠ΅ΡΠ΅Π΄Π½Π°Ρ Π½Π΅-LTS Π²Π΅ΡΡΠΈΡ Ρ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ API.
ΠΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡ, Π²ΠΎΡΠ΅Π΄ΡΠΈΠ΅ Π² ΡΠΎΡΡΠ°Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
β
ΠΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ Π² ΠΏΠ°ΡΡΠ΅ΡΠ½Π°Ρ
(JEP 488):
ΠΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΡ instanceof ΠΈ switch. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ.
β
ΠΠΌΠΏΠΎΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ (JEP 494):
Π£Π»ΡΡΡΠ΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ: ΠΏΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ΅ Π°Π³ΡΠ΅Π³ΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ java.se Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΡΡ ΠΊΠ»Π°ΡΡΡ ΠΈΠ· java.base, Π° ΠΈΠΌΠΏΠΎΡΡ ΡΠΎ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠΎΠΉ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡ ΠΈΠΌΠΏΠΎΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
β
ΠΡΠΎΡΡΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ instanceβmain (JEP 495):
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Java-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ main(). ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΡ.
β
ΠΠΈΠ±ΠΊΠΈΠ΅ ΡΠ΅Π»Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² (JEP 492):
Π Π°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π΄ΠΎ Π²ΡΠ·ΠΎΠ²Π° super(), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² API:
β
Stream Gatherers (JEP 485):
ΠΠΎΠ²Π°Ρ ΡΠΎΡΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Stream API, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, fold, scan, ΠΎΠΊΠΎΠ½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ) Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
β
Class-File API (JEP 484):
ΠΠ²Π΅Π΄Π΅Π½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ API Π΄Π»Ρ ΠΏΠ°ΡΡΠΈΠ½Π³Π°, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ classβΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ASM ΠΈ Π»ΡΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ Java.
Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ
β
Unsafe (JEP 498):
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ· sun.misc.Unsafe ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΡΡΠΎ ΡΡΠΈΠΌΡΠ»ΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, VarHandle ΠΈ MemorySegment).
β
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ JNI (JEP 472):
ΠΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π°ΡΠΈΠ²Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠ΅ΡΠ΅Π· JNI ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΡΠΈΠ²Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ (Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΉ Π²ΡΠΎΠ΄Π΅ --enable-native-access), ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΠ»ΠΎΡΠΎΡΠΈΠΈ Β«Integrity by DefaultΒ».
π Π Π΅Π»ΠΈΠ·: https://openjdk.org/projects/jdk/24
πJava 24 Launch: https://www.youtube.com/watch?v=mk_2MIWxLI0
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π²ΡΡΠ΅Π» ΡΠ΅Π»ΠΈΠ· Java 24 β ΠΎΡΠ΅ΡΠ΅Π΄Π½Π°Ρ Π½Π΅-LTS Π²Π΅ΡΡΠΈΡ Ρ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ API.
ΠΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡ, Π²ΠΎΡΠ΅Π΄ΡΠΈΠ΅ Π² ΡΠΎΡΡΠ°Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
ΠΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΡ instanceof ΠΈ switch. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ.
Π£Π»ΡΡΡΠ΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ: ΠΏΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ΅ Π°Π³ΡΠ΅Π³ΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ java.se Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΡΡ ΠΊΠ»Π°ΡΡΡ ΠΈΠ· java.base, Π° ΠΈΠΌΠΏΠΎΡΡ ΡΠΎ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠΎΠΉ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡ ΠΈΠΌΠΏΠΎΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Java-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ main(). ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΡ.
Π Π°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π΄ΠΎ Π²ΡΠ·ΠΎΠ²Π° super(), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² API:
ΠΠΎΠ²Π°Ρ ΡΠΎΡΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Stream API, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, fold, scan, ΠΎΠΊΠΎΠ½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ) Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠ²Π΅Π΄Π΅Π½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ API Π΄Π»Ρ ΠΏΠ°ΡΡΠΈΠ½Π³Π°, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ classβΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ASM ΠΈ Π»ΡΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ Java.
Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ· sun.misc.Unsafe ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΡΡΠΎ ΡΡΠΈΠΌΡΠ»ΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, VarHandle ΠΈ MemorySegment).
ΠΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π°ΡΠΈΠ²Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠ΅ΡΠ΅Π· JNI ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΡΠΈΠ²Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ (Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΉ Π²ΡΠΎΠ΄Π΅ --enable-native-access), ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΠ»ΠΎΡΠΎΡΠΈΠΈ Β«Integrity by DefaultΒ».
π Π Π΅Π»ΠΈΠ·: https://openjdk.org/projects/jdk/24
πJava 24 Launch: https://www.youtube.com/watch?v=mk_2MIWxLI0
Please open Telegram to view this post
VIEW IN TELEGRAM
π ΠΡΡΠ΅Π» Kotlin 2.1.20 ! π
Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΌΠΎΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ:
β¨ ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° K2 Π΄Π»Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² kapt ΠΈ Lombok
π ΠΠ±ΡΠΈΠ΅ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΈ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠ΅ UUID Π² stdlib
β±οΈ ΠΠΎΠ²ΡΠΉ Π½Π°ΡΠΈΠ²Π½ΡΠΉ API ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
β‘ ΠΠΎΠ²ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½Π»Π°ΠΉΠ½ΠΈΠ½Π³Π° Π² Kotlin/Native
π οΈ Π£Π»ΡΡΡΠ΅Π½Π½Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° Π΄Π»Ρ Kotlin/Wasm
π ΠΠΎΠ²ΡΠΉ DSL Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΠΏΠ»Π°Π³ΠΈΠ½Π° Gradle Application
π Π£Π»ΡΡΡΠ΅Π½ΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Kotlin
β‘οΈ https://kotl.in/2-1-20
Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΌΠΎΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ:
β¨ ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° K2 Π΄Π»Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² kapt ΠΈ Lombok
π ΠΠ±ΡΠΈΠ΅ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΈ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠ΅ UUID Π² stdlib
β±οΈ ΠΠΎΠ²ΡΠΉ Π½Π°ΡΠΈΠ²Π½ΡΠΉ API ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
β‘ ΠΠΎΠ²ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½Π»Π°ΠΉΠ½ΠΈΠ½Π³Π° Π² Kotlin/Native
π οΈ Π£Π»ΡΡΡΠ΅Π½Π½Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° Π΄Π»Ρ Kotlin/Wasm
π ΠΠΎΠ²ΡΠΉ DSL Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΠΏΠ»Π°Π³ΠΈΠ½Π° Gradle Application
π Π£Π»ΡΡΡΠ΅Π½ΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Kotlin
β‘οΈ https://kotl.in/2-1-20
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Π’Π΅ΡΡΠΎΠ²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Spring Boot (Testjars) π₯
ΠΡΠΈΠ²Π΅Ρ, ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΈ Spring! Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Spring Boot Testjars, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π° Π±Π°Π·Π΅ Java, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Spring Boot ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Spring Authorization Server.
π ΠΈΡΡΠΎΡΠ½ΠΈΠΊ
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Π‘ΠΎΠ²Π΅Ρ π‘
ΠΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π² Spring Data ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡ
@javatg
ΠΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ Π² Spring Data ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡ
TypedSort
, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΡΠΎ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠΈΠΏΠΎΠ² Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅.@javatg
HTML Embed Code: