แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™ Java SE 20

แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแžšแž™แŸˆแž–แŸแž›แž”แŸ’แžšแžถแŸ†แž˜แžฝแž™แžแŸ‚แž“แŸƒแž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸ Oracle แž”แžถแž“แž…แŸแž‰แž•แŸ’แžŸแžถแž™แžœแŸแž‘แžทแž€แžถ Java SE 20 (Java Platform, Standard Edition 20) แžŠแŸ‚แž›แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž‚แž˜แŸ’แžšแŸ„แž„แž”แŸ’แžšแž—แž–แž”แžพแž€แž…แŸ†แž  OpenJDK แž‡แžถแž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž™แŸ„แž„แŸ” แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžšแžŽแžธแž›แžพแž€แž›แŸ‚แž„แž“แŸƒแž€แžถแžšแžŠแž€แž…แŸแž‰แž“แžผแžœแž›แž€แŸ’แžแžŽแŸˆแž–แžทแžŸแŸแžŸแž˜แžฝแž™แž…แŸ†แž“แžฝแž“แžŠแŸ‚แž›แž”แžถแž“แž”แžŠแžทแžŸแŸแž’แž“แŸ„แŸ‡ Java SE 20 แžšแž€แŸ’แžŸแžถแž—แžถแž–แž†แž”แž‚แŸ’แž“แžถแžแž™แž€แŸ’แžšแŸ„แž™แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž–แžธแž˜แžปแž“แž“แŸƒแžœแŸแž‘แžทแž€แžถ Javaโ€”แž‚แž˜แŸ’แžšแŸ„แž„ Java แžŠแŸ‚แž›แž”แžถแž“แžŸแžšแžŸแŸแžšแž–แžธแž˜แžปแž“แž—แžถแž‚แž…แŸ’แžšแžพแž“แž“แžนแž„แž“แŸ…แžแŸ‚แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ„แž™แž‚แŸ’แž˜แžถแž“แž€แžถแžšแž€แŸ‚แž”แŸ’แžšแŸ‚แž“แŸ…แž–แŸแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แŸ’แžšแŸ„แž˜แž€แŸ†แžŽแŸ‚แžแŸ’แž˜แžธแŸ” Java SE 20 builds แžŠแŸ‚แž›แžขแžถแž…แžŠแŸ†แžกแžพแž„แž”แžถแž“ (JDK, JRE, แž“แžทแž„ Server JRE) แžแŸ’แžšแžผแžœแž”แžถแž“แžšแŸ€แž”แž…แŸ†แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Linux (x86_64, AArch64), Windows (x86_64) แž“แžทแž„ macOS (x86_64, AArch64)แŸ” แž”แž„แŸ’แž€แžพแžแžกแžพแž„แžŠแŸ„แž™แž‚แž˜แŸ’แžšแŸ„แž„ OpenJDK แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแžŸแŸแž…แž€แŸ’แžแžธแž™แŸ„แž„ Java 20 แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžพแž€แž™แŸ‰แžถแž„แž–แŸแž‰แž›แŸแž‰แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ GPLv2 แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžšแžŽแžธแž›แžพแž€แž›แŸ‚แž„ GNU ClassPath แžŠแžพแž˜แŸ’แž”แžธแžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž˜แžถแž“แž‘แŸ†แž“แžถแž€แŸ‹แž‘แŸ†แž“แž„แžแžถแž˜แžœแž“แŸ’แžแž‘แŸ…แž“แžนแž„แž•แž›แžทแžแž•แž›แž–แžถแžŽแžทแž‡แŸ’แž‡แž€แž˜แŸ’แž˜แŸ”

Java SE 20 แžแŸ’แžšแžผแžœโ€‹แž”แžถแž“โ€‹แž…แžถแžแŸ‹โ€‹แžแŸ’แž“แžถแž€แŸ‹โ€‹แž‡แžถโ€‹แž€แžถแžšโ€‹แž…แŸแž‰โ€‹แž•แŸ’แžŸแžถแž™โ€‹แž€แžถแžšโ€‹แž‚แžถแŸ†แž‘แŸ’แžšโ€‹แž‡แžถโ€‹แž”แŸ’แžšแž…แžถแŸ† แž แžพแž™โ€‹แž“แžนแž„โ€‹แž”แž“แŸ’แžโ€‹แž‘แž‘แžฝแž›โ€‹แž”แžถแž“โ€‹แž€แžถแžšโ€‹แžขแžถแž”แŸ‹แžŠแŸแžโ€‹แžšแž แžผแžโ€‹แžŠแž›แŸ‹โ€‹แž€แžถแžšโ€‹แž…แŸแž‰โ€‹แž•แŸ’แžŸแžถแž™โ€‹แž›แžพแž€โ€‹แž€แŸ’แžšแŸ„แž™แŸ” แžŸแžถแžแžถแž‚แžถแŸ†แž‘แŸ’แžšแžšแž™แŸˆแž–แŸแž›แžœแŸ‚แž„ (LTS) แž‚แžฝแžšแžแŸ‚แž‡แžถ Java SE 17 แžŠแŸ‚แž›แž“แžนแž„แž”แž“แŸ’แžแž‘แž‘แžฝแž›แž”แžถแž“แž€แžถแžšแžขแžถแž”แŸ‹แžŠแŸแžแžšแž แžผแžแžŠแž›แŸ‹แž†แŸ’แž“แžถแŸ† 2029แŸ” แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž™แžพแž„แžšแŸ†แž›แžนแž€แžขแŸ’แž“แž€แžแžถแž€แžถแžšแž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž“แŸƒ Java 10 แž‚แž˜แŸ’แžšแŸ„แž„แž“แŸแŸ‡แž”แžถแž“แž”แŸ’แžแžผแžšแž‘แŸ…แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแžแŸ’แž˜แžธแžŠแŸ‚แž›แž”แž„แŸ’แž แžถแž‰แž–แžธแžœแžŠแŸ’แžแžแŸ’แž›แžธแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แž„แŸ’แž€แžพแžแž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แžแŸ’แž˜แžธแŸ” แž˜แžปแžแž„แžถแžšแžแŸ’แž˜แžธแžฅแžกแžผแžœแž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแžแžกแžพแž„แž“แŸ…แž€แŸ’แž“แžปแž„แžŸแžถแžแžถแž˜แŸแžŠแŸ‚แž›แž”แžถแž“แž’แŸ’แžœแžพแž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž—แžถแž–แžฅแžแžˆแž”แŸ‹แžˆแžš แžŠแŸ‚แž›แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžŠแŸ‚แž›แžแŸ’แžšแŸ€แž˜แžšแžฝแž…แž‡แžถแžŸแŸ’แžšแŸแž… แž“แžทแž„แž–แžธแžŸแžถแžแžถแžŽแžถแžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ†แž”แŸ‚แž€แž‡แžถแžšแŸ€แž„แžšแžถแž›แŸ‹แž”แŸ’แžšแžถแŸ†แž˜แžฝแž™แžแŸ‚แž˜แŸ’แžแž„ แžŠแžพแž˜แŸ’แž”แžธแžšแž€แŸ’แžŸแžถแžŸแŸ’แžแŸแžšแž—แžถแž–แž“แŸƒแž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แžแŸ’แž˜แžธแŸ”

แž›แž€แŸ’แžแžŽแŸˆแž–แžทแžŸแŸแžŸแžแŸ’แž˜แžธแž“แŸ…แž€แŸ’แž“แžปแž„ Java 20 แžšแžฝแž˜แž˜แžถแž“:

  • แž˜แžถแž“แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแž”แž‹แž˜แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Scoped Values โ€‹โ€‹แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž…แŸ‚แž€แžšแŸ†แž›แŸ‚แž€แž‘แžทแž“แŸ’แž“แž“แŸแž™แžŠแŸ‚แž›แž˜แžทแž“แžขแžถแž…แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž”แžถแž“แž“แŸ…แž‘แžผแž‘แžถแŸ†แž„แžแŸ’แžŸแŸ‚แžŸแŸ’แžšแžกแžถแž™ แž“แžทแž„แž‘แžทแž“แŸ’แž“แž“แŸแž™แžŠแŸ‚แž›แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž”แŸ’แžšแž€แž”แžŠแŸ„แž™แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžšแžœแžถแž„แžแŸ’แžŸแŸ‚แžŸแŸ’แžšแžกแžถแž™แž€แžปแž˜แžถแžš (แžแž˜แŸ’แž›แŸƒแžแŸ’แžšแžผแžœแž”แžถแž“แž‘แž‘แžฝแž›แž˜แžšแžแž€)แŸ” แžแž˜แŸ’แž›แŸƒแžŠแŸ‚แž›แž˜แžถแž“แžœแžทแžŸแžถแž›แž—แžถแž–แž€แŸ†แž–แžปแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแžแžกแžพแž„แžŠแžพแž˜แŸ’แž”แžธแž‡แŸ†แž“แžฝแžŸแž™แž“แŸ’แžแž€แžถแžšแžขแžแŸแžšแž“แŸƒแžแŸ’แžŸแŸ‚แžŸแŸ’แžšแžกแžถแž™-แž˜แžผแž›แžŠแŸ’แž‹แžถแž“ แž แžพแž™แž˜แžถแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แž‡แžถแž„แž“แŸ…แž–แŸแž›แž”แŸ’แžšแžพแž…แŸ†แž“แžฝแž“แžŠแŸแž’แŸ†แž“แŸƒแžแŸ’แžŸแŸ‚แžŸแŸ’แžšแžกแžถแž™แž“แžทแž˜แŸ’แž˜แžทแž (แžšแžถแž”แŸ‹แž–แžถแž“แŸ‹ แžฌแžšแžถแž”แŸ‹แž›แžถแž“แž“แŸƒแžแŸ’แžŸแŸ‚แžŸแŸ’แžšแžกแžถแž™)แŸ” แž—แžถแž–แžแžปแžŸแž‚แŸ’แž“แžถแžŸแŸ†แžแžถแž“แŸ‹แžšแžœแžถแž„ Scoped Values โ€‹โ€‹แž“แžทแž„แžขแžแŸแžš thread-local แž‚แžบแžแžถแžขแžแžธแžแžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžšแžŸแŸแžšแž˜แŸ’แžแž„ แž˜แžทแž“แžขแžถแž…แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž”แžถแž“แž“แŸ…แž–แŸแž›แžขแž“แžถแž‚แž แž แžพแž™แž“แŸ…แžแŸ‚แž˜แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžแŸ‚แžšแž™แŸˆแž–แŸแž›แž“แŸƒแž€แžถแžšแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแžšแž”แžŸแŸ‹ thread แž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡แŸ” class Server { แž‹แžทแžแžทแžœแž“แŸ’แž ScopedValue แž…แžปแž„แž€แŸ’แžšแŸ„แž™ CURRENT_USER = new ScopedValue(); แžŸแŸแžœแžถแž…แžถแžแŸ‹แž‘แžปแž€แž‡แžถแž˜แŸ„แžƒแŸˆ(แžŸแŸ†แžŽแžพแžŸแŸ†แžŽแžพ แž€แžถแžšแž†แŸ’แž›แžพแž™แžแž”แž†แŸ’แž›แžพแž™แžแž”) { แž€แž˜แŸ’แžšแžทแž var = (แžŸแŸ†แžŽแžพแŸ” isAuthorized()? ADMIN : GUEST); var user = แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžแŸ’แž˜แžธ(แž€แž˜แŸ’แžšแžทแž); ScopedValue.where(CURRENT_USER, user).run(() -> Application.handle(request, response)); } } แžแŸ’แž“แžถแž€แŸ‹ DatabaseManager { DBConnection open() { var user = Server.CURRENT_USER.get(); แž”แŸ’แžšแžŸแžทแž“แž”แžพ (!user.canOpen()) แž”แŸ„แŸ‡ InvalidUserException(); แžแŸ’แžšแžกแž”แŸ‹ DBConnection แžแŸ’แž˜แžธ (... ); } }
  • แž€แžถแžšแž˜แžพแž›แž‡แžถแž˜แžปแž“แž‘แžธแž–แžธแžšแž“แŸƒแž›แŸ†แž“แžถแŸ†แž€แŸ†แžŽแžแŸ‹แžแŸ’แžšแžถแžแŸ’แžšแžผแžœแž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜ แžŠแŸ„แž™แž–แž„แŸ’แžšแžธแž€แž˜แžปแžแž„แžถแžšแž•แŸ’แž‚แžผแž•แŸ’แž‚แž„แž›แŸ†แž“แžถแŸ†แžŠแŸ‚แž›แž”แžถแž“แžŽแŸ‚แž“แžถแŸ†แž“แŸ…แž€แŸ’แž“แžปแž„ Java 16 แžŠแžพแž˜แŸ’แž”แžธแž‰แŸ‚แž€แžแž˜แŸ’แž›แŸƒแž“แŸƒแžแŸ’แž“แžถแž€แŸ‹แž€แŸ†แžŽแžแŸ‹แžแŸ’แžšแžถแŸ” แžงแž‘แžถแž แžšแžŽแŸแŸ– record Point(int x, int y) {} static void printSum(Object obj) { if (obj instanceof Point p) { int x = px(); int y = py(); System.out.println(x+y); } }
  • แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž”แž‹แž˜แž‘แžธแž”แžฝแž“แž“แŸƒแž€แžถแžšแž•แŸ’แž‚แžผแž•แŸ’แž‚แž„แž›แŸ†แž“แžถแŸ†แž“แŸ…แž€แŸ’แž“แžปแž„แžŸแŸแž…แž€แŸ’แžแžธแžแŸ’แž›แŸ‚แž„แž€แžถแžšแžŽแŸ "แž”แŸ’แžแžผแžš" แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜ แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžŸแŸ’แž›แžถแž€ "แž€แžšแžŽแžธ" แž”แŸ’แžšแžพแž˜แžทแž“แž˜แžถแž“แžแž˜แŸ’แž›แŸƒแž–แžทแžแž”แŸ’แžšแžถแž€แžŠ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž‚แŸ†แžšแžผแžŠแŸ‚แž›แžขแžถแž…แž”แžแŸ‹แž”แŸ‚แž“แž”แžถแž“แžŠแŸ‚แž›แž‚แŸ’แžšแž”แžŠแžŽแŸ’แžแž”แŸ‹แžŸแŸŠแŸแžšแžธแž“แŸƒแžแž˜แŸ’แž›แŸƒแž€แŸ’แž“แžปแž„แž–แŸแž›แžแŸ‚แž˜แžฝแž™ แžŠแŸ‚แž›แž–แžธแž˜แžปแž“แžœแžถแž…แžถแŸ†แž”แžถแž…แŸ‹แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžŸแŸ’แž˜แžปแž‚แžŸแŸ’แž˜แžถแž‰แŸ” แžแŸ’แžŸแŸ‚แžŸแž„แŸ’แžœแžถแž€แŸ‹แž“แŸƒแž€แž“แŸ’แžŸแŸ„แž˜ "แž”แŸ’แžšแžŸแžทแž“แž”แžพ ... แž•แŸ’แžŸแŸแž„แž‘แŸ€แž" แŸ” static String formatterPatternSwitch(Object obj) { return switch (obj) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); แž€แžšแžŽแžธ Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); แž›แŸ†แž“แžถแŸ†แžŠแžพแž˜ -> o.toString(); }; }
  • แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž”แž‹แž˜แž‘แžธแž–แžธแžšแž“แŸƒ FFM (Foreign Function & Memory) API แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜ แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แžšแŸ€แž”แž…แŸ†แžขแž“แŸ’แžแžšแž€แž˜แŸ’แž˜แž“แŸƒแž€แž˜แŸ’แž˜แžœแžทแž’แžธ Java แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžผแžŠแžแžถแž„แž€แŸ’แžšแŸ… แž“แžทแž„แž‘แžทแž“แŸ’แž“แž“แŸแž™แžแžถแž˜แžšแž™แŸˆแž€แžถแžšแž แŸ…แž˜แžปแžแž„แžถแžšแž–แžธแž”แžŽแŸ’แžŽแžถแž›แŸแž™แžแžถแž„แž€แŸ’แžšแŸ… แž“แžทแž„แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ†แžแžถแž„แž€แŸ’แžšแŸ… JVM แŸ”
  • แž€แžถแžšแž˜แžพแž›แž‡แžถแž˜แžปแž“แž›แžพแž€แž‘แžธแž–แžธแžšแž“แŸƒแžแŸ’แžŸแŸ‚แžŸแŸ’แžšแžกแžถแž™แž“แžทแž˜แŸ’แž˜แžทแžแžแŸ’แžšแžผแžœแž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜ แžŠแŸ‚แž›แž‡แžถแžแŸ’แžŸแŸ‚แžŸแŸ’แžšแž›แžถแž™แž‘แž˜แŸ’แž„แž“แŸ‹แžŸแŸ’แžšแžถแž› แžŠแŸ‚แž›แž‡แžฝแž™แžŸแž˜แŸ’แžšแžฝแž›แž€แžถแžšแžŸแžšแžŸแŸแžš แž“แžทแž„แžšแž€แŸ’แžŸแžถแž”แžถแž“แž“แžผแžœแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž–แž แžปแžแŸ’แžŸแŸ‚แžŸแŸ’แžšแžกแžถแž™แžŠแŸ‚แž›แž˜แžถแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžแŸ’แž–แžŸแŸ‹แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜ API แž–แžทแžŸแŸ„แž’แž“แŸแž‘แžธแž–แžธแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž—แžถแž–แžŸแŸ’แžšแž”แž‚แŸ’แž“แžถแžŠแŸ‚แž›แž˜แžถแž“แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ แžŠแŸ‚แž›แž‡แžฝแž™แžŸแž˜แŸ’แžšแžฝแž›แžŠแž›แŸ‹แž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแž“แŸƒแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž–แž แžปแžแŸ’แžŸแŸ‚ แžŠแŸ„แž™แž€แžถแžšแž–แŸ’แž™แžถแž”แžถแž›แž€แžทแž…แŸ’แž…แž€แžถแžšแž‡แžถแž…แŸ’แžšแžพแž“แžŠแŸ‚แž›แž€แŸ†แž–แžปแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แŸ’แž“แžปแž„แžแŸ’แžŸแŸ‚แžŸแŸ’แžšแžกแžถแž™แž•แŸ’แžŸแŸแž„แŸ—แž‚แŸ’แž“แžถแž‡แžถแž”แŸ’แž›แžปแž€แžแŸ‚แž˜แžฝแž™แŸ”
  • แž€แžถแžšแž˜แžพแž›แž‡แžถแž˜แžปแž“แž‘แžธแž”แŸ’แžšแžถแŸ†แž“แŸƒ Vector API แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜ แžŠแŸ„แž™แž•แŸ’แžแž›แŸ‹แž“แžผแžœแž˜แžปแžแž„แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž‚แžŽแž“แžถแžœแŸ‰แžทแž…แž‘แŸแžšแžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแžŠแŸ„แž™แž”แŸ’แžšแžพแž€แžถแžšแžŽแŸ‚แž“แžถแŸ†แžœแŸ‰แžทแž…แž‘แŸแžšแž“แŸ…แž›แžพแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแŸ†แžŽแžพแžšแž€แžถแžš x86_64 แž“แžทแž„ AArch64 แž แžพแž™แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแž€แŸ’แž“แžปแž„แž–แŸแž›แžŠแŸ†แžŽแžถแž›แž‚แŸ’แž“แžถแž…แŸ†แž–แŸ„แŸ‡แžแž˜แŸ’แž›แŸƒแž…แŸ’แžšแžพแž“ (SIMD)แŸ” แž˜แžทแž“แžŠแžผแž…แžŸแž˜แžแŸ’แžแž—แžถแž–แžŠแŸ‚แž›แž”แžถแž“แž•แŸ’แžแž›แŸ‹แž“แŸ…แž€แŸ’แž“แžปแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„ HotSpot JIT แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž’แŸ’แžœแžพแžœแžทแž€แž‘แŸแžšแžŠแŸ„แž™แžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžทแž“แŸƒแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž˜แžถแžแŸ’แžšแžŠแŸ’แž‹แžถแž“ API แžแŸ’แž˜แžธแž’แŸ’แžœแžพแžฑแŸ’แž™แžœแžถแžขแžถแž…แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แžœแŸ‰แžทแž…แž‘แŸแžšแž™แŸ‰แžถแž„แž…แŸ’แž”แžถแžŸแŸ‹แž›แžถแžŸแŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž‘แžทแž“แŸ’แž“แž“แŸแž™แžŸแŸ’แžšแž”แž‚แŸ’แž“แžถแŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹