Java SE 22 เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เช…เชจเซ‡ OpenJDK 22 เช“เชชเชจ เชฐเซ‡เชซเชฐเชจเซเชธ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

เช› เชฎเชนเชฟเชจเชพเชจเชพ เชตเชฟเช•เชพเชธ เชชเช›เซ€, เช“เชฐเซ‡เช•เชฒเซ‡ Java SE 22 (เชœเชพเชตเชพ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ, เชธเซเชŸเชพเชจเซเชกเชฐเซเชก เชเชกเชฟเชถเชจ 22) เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชฌเชนเชพเชฐ เชชเชพเชกเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ เช“เชชเชจเชœเซ‡เชกเซ€เช•เซ‡ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชคเชฐเซ€เช•เซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เช•เซ‡เชŸเชฒเซ€เช• เช…เชตเชฎเซ‚เชฒเซเชฏเชจ เชธเซเชตเชฟเชงเชพเช“เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเชพ เช…เชชเชตเชพเชฆ เชธเชพเชฅเซ‡, Java SE 22 เชœเชพเชตเชพ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎเชจเชพ เช…เช—เชพเช‰เชจเชพ เชชเซเชฐเช•เชพเชถเชจเซ‹ เชธเชพเชฅเซ‡ เชชเช›เชพเชค เชธเซเชธเช‚เช—เชคเชคเชพ เชœเชพเชณเชตเซ€ เชฐเชพเช–เซ‡ เช›เซ‡ - เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ เช…เช—เชพเช‰ เชฒเช–เชพเชฏเซ‡เชฒเชพ เชœเชพเชตเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชœเซเชฏเชพเชฐเซ‡ เชจเชตเชพ เชธเช‚เชธเซเช•เชฐเชฃ เชนเซ‡เช เชณ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เช•เชพเชฎ เช•เชฐเชถเซ‡. Java SE 22 (JDK, JRE, เช…เชจเซ‡ Server JRE) เชจเชพ เช‡เชจเซเชธเซเชŸเซ‹เชฒ-เชŸเซ-เช‡เชจเซเชธเซเชŸเซ‹เชฒ เชฌเชฟเชฒเซเชกเซเชธ Linux (x86_64, AArch64), Windows (x86_64), เช…เชจเซ‡ macOS (x86_64, AArch64) เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เช›เซ‡. เช“เชชเชจเชœเซ‡เชกเซ€เช•เซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฆเซเชตเชพเชฐเชพ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ, เชœเชพเชตเชพ 22 เชธเช‚เชฆเชฐเซเชญ เช…เชฎเชฒเซ€เช•เชฐเชฃ GPLv2 เชฒเชพเชฏเชธเชจเซเชธ เชนเซ‡เช เชณ GNU ClassPath เช…เชชเชตเชพเชฆเซ‹ เชธเชพเชฅเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฐเซ€เชคเซ‡ เช–เซเชฒเซเชฒเซเช‚ เช›เซ‡ เชœเซ‡เชฅเซ€ เชตเชพเชฃเชฟเชœเซเชฏเชฟเช• เช‰เชคเซเชชเชพเชฆเชจเซ‹เชจเซ‡ เช—เชคเชฟเชถเซ€เชฒ เชฒเชฟเช‚เช• เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เชฎเชณเซ‡.

Java SE 22 เชจเซ‡ เชจเชฟเชฏเชฎเชฟเชค เชธเชฎเชฐเซเชฅเชจ เชชเซเชฐเช•เชพเชถเชจ เชคเชฐเซ€เช•เซ‡ เชตเชฐเซเช—เซ€เช•เซƒเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ เช†เช—เชพเชฎเซ€ เชชเซเชฐเช•เชพเชถเชจ เชธเซเชงเซ€ เช…เชชเชกเซ‡เชŸเซเชธ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เชถเซ‡. เชฒเซ‹เช‚เช— เชŸเชฐเซเชฎ เชธเชชเซ‹เชฐเซเชŸ (LTS) เชถเชพเช–เชพ Java SE 21 เช…เชฅเชตเชพ Java SE 17 เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช, เชœเซ‡ เช…เชจเซเช•เซเชฐเชฎเซ‡ 2031 เช…เชจเซ‡ 2029 เชธเซเชงเซ€ เช…เชชเชกเซ‡เชŸเซเชธ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชถเซ‡ (เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ 2028 เช…เชจเซ‡ 2026 เชธเซเชงเซ€ เช‰เชชเชฒเชฌเซเชง). Java SE 11 เชจเซ€ LTS เชถเชพเช–เชพ เชฎเชพเชŸเซ‡ เชœเชพเชนเซ‡เชฐ เชธเชฎเชฐเซเชฅเชจ เช—เชฏเชพ เชธเชชเซเชŸเซ‡เชฎเซเชฌเชฐเชฎเชพเช‚ เชธเชฎเชพเชชเซเชค เชฅเชฏเซเช‚, เชชเชฐเช‚เชคเซ เชตเชฟเชธเซเชคเซƒเชค เชธเชฎเชฐเซเชฅเชจ 2032 เชธเซเชงเซ€ เชšเชพเชฒเซ เชฐเชนเซ‡เชถเซ‡. Java SE 8 เชจเซ€ LTS เชถเชพเช–เชพ เชฎเชพเชŸเซ‡ เชตเชฟเชธเซเชคเซƒเชค เชธเชฎเชฐเซเชฅเชจ 2030 เชธเซเชงเซ€ เชšเชพเชฒเซ เชฐเชนเซ‡เชถเซ‡.

เชšเชพเชฒเซ‹ เชคเชฎเชจเซ‡ เชฏเชพเชฆ เช…เชชเชพเชตเซ€เช เช•เซ‡ เชœเชพเชตเชพ 10 เชจเชพ เชชเซเชฐเช•เชพเชถเชจ เชธเชพเชฅเซ‡ เชถเชฐเซ‚ เช•เชฐเซ€เชจเซ‡, เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชจเชตเซ€ เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชซเซ‡เชฐเชตเชพเชˆ เช—เชฏเซ‹, เชœเซ‡ เชจเชตเชพ เชชเซเชฐเช•เชพเชถเชจเซ‹เชจเซ€ เชฐเชšเชจเชพ เชฎเชพเชŸเซ‡ เชŸเซ‚เช‚เช•เชพ เชšเช•เซเชฐ เชธเซ‚เชšเชตเซ‡ เช›เซ‡. เชจเชตเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชนเชตเซ‡ เชเช• เชธเชคเชค เช…เชชเชกเซ‡เชŸเซ‡เชก เชฎเชพเชธเซเชŸเชฐ เชฌเซเชฐเชพเชจเซเชšเชฎเชพเช‚ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชคเซˆเชฏเชพเชฐ เชซเซ‡เชฐเชซเชพเชฐเซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชจเชตเชพ เชชเซเชฐเช•เชพเชถเชจเซ‹เชจเซ‡ เชธเซเชฅเชฟเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฆเชฐ เช› เชฎเชนเชฟเชจเซ‡ เชถเชพเช–เชพเช“เชจเซ€ เชถเชพเช–เชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

Java 22 เชฎเชพเช‚ เชจเชตเซ€ เชธเซเชตเชฟเชงเชพเช“เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡:

  • G1 เช—เชพเชฐเซเชฌเซ‡เชœ เช•เชฒเซ‡เช•เซเชŸเชฐเชฎเชพเช‚ เชฐเชฟเชœเชจ เชชเชฟเชจเชฟเช‚เช— เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เช•เชšเชฐเซ‹ เช•เชฒเซ‡เช•เซเชŸเชฐ เชฆเซเชตเชพเชฐเชพ เช–เชธเซ‡เชกเชตเชพเชฎเชพเช‚ เชจ เช†เชตเซ‡ เชคเซ‡ เชฎเชพเชŸเซ‡ เชฎเซ‡เชฎเชฐเซ€เชฎเชพเช‚ เชœเชพเชตเชพ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเชพ เชธเซเชฅเชพเชจเชจเซ‡ เช…เชธเซเชฅเชพเชฏเซ€ เชฐเซ‚เชชเซ‡ เช เซ€เช• เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เช…เชจเซ‡ เช† เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเชพ เชธเช‚เชฆเชฐเซเชญเซ‹เชจเซ‡ Java เช…เชจเซ‡ เชฎเซ‚เชณ เช•เซ‹เชก เชตเชšเซเชšเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เชฐเซ€เชคเซ‡ เชชเชธเชพเชฐ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชชเชฟเชจเชฟเช‚เช— เชคเชฎเชจเซ‡ เชฒเซ‡เชŸเชจเซเชธเซ€ เช˜เชŸเชพเชกเชตเชพ เช…เชจเซ‡ เชœเซ‡เชเชจเช†เชˆ (เชœเชพเชตเชพ เชจเซ‡เชŸเชฟเชต เชˆเชจเซเชŸเชฐเชซเซ‡เชธ) เชจเชพ เชจเชฟเชฐเซเชฃเชพเชฏเช• เชชเซเชฐเชฆเซ‡เชถเซ‹เชจเซ‡ เชจเซ‡เชŸเซ€เชต เช•เซ‹เชก เชธเชพเชฅเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช•เชšเชฐเชพเชจเชพ เชธเช‚เช—เซเชฐเชนเชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชŸเชพเชณเชตเชพ เชฆเซ‡ เช›เซ‡ (เช† เชตเชฟเชญเชพเช—เซ‹เชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, JVM เช เชฐเซ‡เชธเชจเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“เชจเซ‡ เชŸเชพเชณเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชฎเชจเซ€ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เชœเชŸเชฟเชฒ เชตเชธเซเชคเซเช“เชจเซ‡ เช–เชธเซ‡เชกเชตเซ€ เชœเซ‹เชˆเช เชจเชนเซ€เช‚). เชชเชฟเชจเชฟเช‚เช— เช•เชšเชฐเซ‹ เช•เชฒเซ‡เช•เซเชŸเชฐเชจเชพ เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชฅเซ€ เชœเชŸเชฟเชฒ เชตเชธเซเชคเซเช“เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เช…เชจเชชเชฟเชจ เช•เชฐเซ‡เชฒเชพ เชตเชฟเชธเซเชคเชพเชฐเซ‹เชจเซ‡ เชธเชพเชซ เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซ€ เชถเช•เซ‡ เช›เซ‡.
  • เชธเซเชชเชฐ(...) เช•เซ‰เชฒ เช•เชฐเชคเชพเช‚ เชชเชนเซ‡เชฒเชพเช‚ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐเชฎเชพเช‚ เชเช•เซเชธเชชเซเชฐเซ‡เชถเชจเซเชธเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชธเซเชตเชฟเชงเชพ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชœเซ‹ เชคเซ‡ เชเช•เซเชธเชชเซเชฐเซ‡เชถเชจเซเชธ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐ เชฆเซเชตเชพเชฐเชพ เชฌเชจเชพเชตเซ‡เชฒเชพ เช‰เชฆเชพเชนเชฐเชฃเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เชจ เช†เชชเซ‡ เชคเซ‹ เชตเชพเชฐเชธเชพเช—เชค เช•เซเชฒเชพเชธ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐเชฎเชพเช‚เชฅเซ€ เชชเซ‡เชฐเซ‡เชจเซเชŸ เช•เซเชฒเชพเชธ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐเชจเซ‡ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชชเชฐเชพเชฏ เช›เซ‡. เชตเชฐเซเช— เช†เช‰เชŸเชฐ { เชฐเชฆเชฌเชพเชคเชฒ เชนเซ‡เชฒเซ‹() { System.out.println("เชนเซ‡เชฒเซ‹"); } เชตเชฐเซเช— เช†เช‚เชคเชฐเชฟเช• { เช†เช‚เชคเชฐเชฟเช• () { เชนเซ‡เชฒเซ‹(); เชธเซเชชเชฐ(); } } }
  • FFM (เชซเซ‹เชฐเซ‡เชจ เชซเช‚เช•เซเชถเชจ เชเชจเซเชก เชฎเซ‡เชฎเชฐเซ€) API เชจเซ‡ เชธเซเชฅเชฟเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ JNI (เชœเชพเชตเชพ เชจเซ‡เชŸเชฟเชต เชˆเชจเซเชŸเชฐเชซเซ‡เชธ) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ, เชฌเชพเชนเซเชฏ เชฒเชพเชˆเชฌเซเชฐเซ‡เชฐเซ€เช“เชฎเชพเช‚เชฅเซ€ เชซเช‚เช•เซเชถเชจเซเชธเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ€เชจเซ‡ เช…เชจเซ‡ JVM เชฌเชนเชพเชฐ เชฎเซ‡เชฎเชฐเซ€ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€เชจเซ‡ เชฌเชพเชนเซเชฏ เช•เซ‹เชก เช…เชจเซ‡ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เชœเชพเชตเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชจเซ€ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.
  • เช…เชจเชพเชฎเซ€ เชšเชฒเซ‹ เช…เชจเซ‡ เชชเซ‡เชŸเชฐเซเชจ เชฎเซ‡เชšเชฟเช‚เช— เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เชธเช•เซเชทเชฎ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡ - เชœเซเชฏเชพเชฐเซ‡ เช•เซ‰เชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชฌเชฟเชจเช‰เชชเชฏเซ‹เช—เซ€ เชชเชฐเช‚เชคเซ เชœเชฐเซ‚เชฐเซ€ เชšเชฒเซ‹ เช…เชจเซ‡ เชชเซ‡เชŸเชฐเซเชจเชจเซ‡ เชฌเชฆเชฒเซ‡, เชคเชฎเซ‡ เชนเชตเซ‡ "_" เช…เช•เซเชทเชฐเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. // เชนเชคเซ€ เชธเซเชŸเซเชฐเชฟเช‚เช— เชชเซƒเชทเซเช เชจเชพเชฎ = เชธเซเชตเชฟเชš (เชชเซƒเชทเซเช ) { เช•เซ‡เชธ GitHubIssuePage(var url, var เชธเชพเชฎเช—เซเชฐเซ€, var เชฒเชฟเช‚เช•เซเชธ, int issueNumber) -> โ€œISSUE #โ€ + issueNumber; ... }; // เชนเชตเซ‡ เชคเชฎเซ‡ String pageName = เชธเซเชตเชฟเชš (เชชเชพเชจเซเช‚) { เช•เซ‡เชธ GitHubIssuePage(_, _, _, int issueNumber) -> โ€œISSUE #โ€ + issueNumber; };
  • เช•เซเชฒเชพเชธ-เชซเชพเช‡เชฒ API เชจเซเช‚ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เช…เชฎเชฒเซ€เช•เชฐเชฃ เชœเชพเชตเชพ เช•เซเชฒเชพเชธ เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชชเชพเชฐเซเชธเชฟเช‚เช—, เชœเชจเชฐเซ‡เชŸ เช…เชจเซ‡ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค เช›เซ‡. ClassFile cf = ClassFile.of(); ClassModel classModel = cf.parse(bytes); byte[] newBytes = cf.build(classModel.thisClass().asSymbol(), classBuilder -> { (ClassElement ce : classModel) { if (!(ce instance of MethodModel mm && mm.methodName().stringValue(). startsWith("เชกเชฟเชฌเช—"))) { classBuilder.with(ce);
  • เชœเชพเชตเชพ เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€ เชœเชพเชตเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชจเซ‡ เชšเชฒเชพเชตเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชชเซ‚เชฐเซ€ เชชเชพเชกเซ‡ เช›เซ‡, เชœเซ‡ เช† เชซเชพเช‡เชฒเซ‹เชจเซ‡ เช…เชฒเช—เชฅเซ€ เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เช…เชจเซ‡ เชฌเชฟเชฒเซเชก เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ, เช˜เชฃเซ€ เช•เซ‹เชก เชซเชพเช‡เชฒเซ‹ เช…เชฅเชตเชพ เชชเซเชฐเซ€-เช•เชฎเซเชชเชพเช‡เชฒ เช•เซเชฒเชพเชธ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“เชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชชเซ‚เชฐเชพ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชจเชตเซ€ เชธเซเชตเชฟเชงเชพ เชเชตเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธ เชšเชฒเชพเชตเชตเชพเชจเซเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เชตเชฟเชตเชฟเชง เชตเชฐเซเช—เซ‹เชจเชพ เช•เซ‹เชกเชจเซ‡ เช…เชฒเช—-เช…เชฒเช— เชซเชพเช‡เชฒเซ‹เชฎเชพเช‚ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. Prog.java: เชตเชฐเซเช— เชชเซเชฐเซ‹เช— { เชชเชฌเซเชฒเชฟเช• เชธเซเชŸเซ‡เชŸเชฟเช• เชตเซ‹เชˆเชก เชฎเซ‡เชˆเชจ(เชธเซเชŸเซเชฐเชฟเช‚เช—[] เช†เชฐเซเช—เซเชธ) { Helper.run(); } } Helper.java: เชตเชฐเซเช— เชนเซ‡เชฒเซเชชเชฐ { static void run() { System.out.println("เชนเซ‡เชฒเซ‹!"); } }

    เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฌเซ‡ เชซเชพเชˆเชฒเซ‹ "Prog.java" เช…เชจเซ‡ "Helper.java" เชงเชฐเชพเชตเชคเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ‡ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชนเชตเซ‡ "java Prog.java" เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเซเช‚ เช›เซ‡, เชœเซ‡ เชชเซเชฐเซ‹เช— เช•เซเชฒเชพเชธเชจเซ‡ เช•เชฎเซเชชเชพเชˆเชฒ เช•เชฐเชถเซ‡, เชนเซ‡เชฒเซเชชเชฐ เช•เซเชฒเชพเชธเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชถเซ‡, เชนเซ‡เชฒเซเชชเชฐ เชซเชพเช‡เชฒ เชถเซ‹เชงเซ‹ เช…เชจเซ‡ เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเซ‹ เช…เชจเซ‡ เชฎเซเช–เซเชฏ เชชเชฆเซเชงเชคเชฟเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‹.

  • เชธเซเชŸเซเชฐเชฟเช‚เช— เชŸเซ‡เชฎเซเชชเซเชฒเซ‡เชŸเซเชธเชจเซเช‚ เชฌเซ€เชœเซเช‚ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เช…เชฎเชฒเซ€เช•เชฐเชฃ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚, เชธเซเชŸเซเชฐเชฟเช‚เช— เชฒเชฟเชŸเชฐเชฒเซเชธ เช…เชจเซ‡ เชŸเซ‡เช•เซเชธเซเชŸ เชฌเซเชฒเซ‹เช•เซเชธ เช‰เชชเชฐเชพเช‚เชค เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚. เชถเชฌเซเชฆเชฎเชพเชณเชพ เชจเชฎเซ‚เชจเชพเช“ เชคเชฎเชจเซ‡ + เช“เชชเชฐเซ‡เชŸเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ‡เชฒ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“ เช…เชจเซ‡ เชšเชฒเซ‹ เชธเชพเชฅเซ‡ เชŸเซ‡เช•เซเชธเซเชŸเชจเซ‡ เชœเซ‹เชกเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“เชจเซเช‚ เช…เชตเซ‡เชœเซ€เช•เชฐเชฃ เช…เชตเซ‡เชœเซ€ \{..} เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เช…เชตเซ‡เชœเซ€ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ€ เชถเซเชฆเซเชงเชคเชพ เชšเช•เชพเชธเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ เชนเซ‡เชจเซเชกเชฒเชฐเซเชธ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, SQL เชเชจเซเชœเซ€เชจ เชเชธเช•เซเชฏเซเชเชฒ เช•เซ‹เชกเชฎเชพเช‚ เชฌเชฆเชฒเชพเชˆ เชฐเชนเซ‡เชฒเชพ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‡ เชคเชชเชพเชธเซ‡ เช›เซ‡ เช…เชจเซ‡ เช†เช‰เชŸเชชเซเชŸ เชคเชฐเซ€เช•เซ‡ java.sql.Statement เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ JSON เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ JSON เช…เชตเซ‡เชœเซ€เชจเซ€ เชถเซเชฆเซเชงเชคเชพ เชชเชฐ เชจเชœเชฐ เชฐเชพเช–เซ‡ เช›เซ‡ เช…เชจเซ‡ JsonNode เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡. เชธเซเชŸเซเชฐเชฟเช‚เช— เช•เซเชตเซ‡เชฐเซ€ = "เชตเซเชฏเช•เซเชคเชฟเชฎเชพเช‚เชฅเซ€ เชชเชธเช‚เชฆ เช•เชฐเซ‹ * เชœเซเชฏเชพเช‚ p." + เชฎเชฟเชฒเช•เชค + " = '" + เชฎเซ‚เชฒเซเชฏ + "'"; // เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸ เช•เซเชตเซ‡เชฐเซ€ = SQL เชนเชคเซ€."""Person เชฎเชพเช‚เชฅเซ€ เชชเชธเช‚เชฆ เช•เชฐเซ‹ p WHERE p.\{property} = '\{value}'"""; // เชฌเชจเซเชฏเชพ
  • เชตเซ‡เช•เซเชŸเชฐ API เชจเซเช‚ เชธเชพเชคเชฎเซเช‚ เชชเซ‚เชฐเซเชตเชพเชตเชฒเซ‹เช•เชจ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ x86_64 เช…เชจเซ‡ AArch64 เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซเชธ เชชเชฐ เชตเซ‡เช•เซเชŸเชฐ เชธเซ‚เชšเชจเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเซ€ เชตเซ‡เช•เซเชŸเชฐ เช—เชฃเชคเชฐเซ€เช“ เชฎเชพเชŸเซ‡เชจเชพ เช•เชพเชฐเซเชฏเซ‹ เชชเซ‚เชฐเชพ เชชเชพเชกเซ‡ เช›เซ‡ เช…เชจเซ‡ เช‘เชชเชฐเซ‡เชถเชจเซเชธเชจเซ‡ เชเช•เชธเชพเชฅเซ‡ เชฌเชนเซเชตเชฟเชง เชฎเซ‚เชฒเซเชฏเซ‹ (SIMD) เชชเชฐ เชฒเชพเช—เซ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชธเซเช•เซ‡เชฒเชฐ เช‘เชชเชฐเซ‡เชถเชจเซเชธเชจเชพ เช‘เชŸเซ‹-เชตเซ‡เช•เซเชŸเชฐเชพเช‡เชเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชนเซ‹เชŸเชธเซเชชเซ‹เชŸ JIT เช•เชฎเซเชชเชพเช‡เชฒเชฐเชฎเชพเช‚ เชชเซ‚เชฐเซ€ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเซ€ เช•เซเชทเชฎเชคเชพเช“เชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, เชจเชตเซเช‚ API เชธเชฎเชพเช‚เชคเชฐ เชกเซ‡เชŸเชพ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เชฎเชพเชŸเซ‡ เชตเซ‡เช•เซเชŸเชฐเชพเช‡เชเซ‡เชถเชจเชจเซ‡ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡.
  • เชตเชฟเชธเซเชคเซƒเชค เชธเซเชŸเซเชฐเซ€เชฎ API เชจเซเช‚ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เช…เชฎเชฒเซ€เช•เชฐเชฃ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เชœเซ‡ เชคเชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เชฎเชงเซเชฏเชตเชฐเซเชคเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเซ‡ เช›เซ‡, เชœเซ‡ เชเชตเชพ เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡ เชœเซเชฏเชพเช‚ เชตเชฐเซเชคเชฎเชพเชจ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชฎเชงเซเชฏเชตเชฐเซเชคเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€ เช‡เชšเซเช›เชฟเชค เชกเซ‡เชŸเชพ เชŸเซเชฐเชพเชจเซเชธเชซเซ‹เชฐเซเชฎเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชชเชฐเซเชฏเชพเชชเซเชค เชจเชฅเซ€. เชฎเซ‚เชณ เชนเซ‡เชจเซเชกเชฒเชฐเซเชธ เชจเชตเชพ เชฎเชงเซเชฏเชตเชฐเซเชคเซ€ เช“เชชเชฐเซ‡เชถเชจ เชธเซเชŸเซเชฐเซ€เชฎ::เช—เซ‡เชงเชฐ(เช—เซ‡เชงเชฐเชฐ) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เช›เซ‡, เชœเซ‡ เชธเซเชŸเซเชฐเซ€เชฎ เชคเชคเซเชตเซ‹เชจเซ‡ เชคเซ‡เชฎเชจเชพ เชชเชฐ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ-เชจเชฟเชฐเซเชฆเชฟเชทเซเชŸ เชนเซ‡เชจเซเชกเชฒเชฐ เชฒเชพเช—เซ เช•เชฐเซ€เชจเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡. jshell> Stream.of(1,2,3,4,5,6,7,8,9).เช—เซ‡เชงเชฐ(เชจเชตเซ€ เชตเชฟเชจเซเชกเซ‹เชซเชฟเช•เซเชธเซเชก(3)).toList() $1 ==> [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  • เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก เช•เชจเซเช•เชฐเชจเซเชธเซ€ เชฎเชพเชŸเซ‡ เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช• APIเชจเซเช‚ เชฌเซ€เชœเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ เชชเชฐเซ€เช•เซเชทเชฃ เชฎเชพเชŸเซ‡ เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ เชเช• เชœ เชฌเซเชฒเซ‹เช• เชคเชฐเซ€เช•เซ‡ เชตเชฟเชตเชฟเชง เชฅเซเชฐเซ‡เชกเซ‹เชฎเชพเช‚ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชพเชฏเซ‡เชฒเชพ เชฌเชนเซเชตเชฟเชง เช•เชพเชฐเซเชฏเซ‹เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ€เชจเซ‡ เชฎเชฒเซเชŸเชฟ-เชฅเซเชฐเซ‡เชกเซ‡เชก เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเชพ เชตเชฟเช•เชพเชธเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡.
  • เช…เชธเซเชชเชทเซเชŸ เชฐเซ€เชคเซ‡ เช˜เซ‹เชทเชฟเชค เชตเชฐเซเช—เซ‹ เช…เชจเซ‡ "เชฎเซเช–เซเชฏ" เชชเชฆเซเชงเชคเชฟเชจเชพ เช…เชจเชพเชฎเซ€ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชจเซเช‚ เชฌเซ€เชœเซเช‚ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เช…เชฎเชฒเซ€เช•เชฐเชฃ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚, เชœเซ‡ เชœเชพเชนเซ‡เชฐ/เชธเซเชฅเชฟเชฐ เช˜เซ‹เชทเชฃเชพเช“, เชฆเชฒเซ€เชฒเซ‹เชจเซ€ เชถเซเชฐเซ‡เชฃเซ€ เชชเชธเชพเชฐ เช•เชฐเซ€เชจเซ‡, เช…เชจเซ‡ เชตเชฐเซเช— เช˜เซ‹เชทเชฃเชพ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เช…เชจเซเชฏ เชเช•เชฎเซ‹เชจเซ‡ เชตเชฟเชคเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. // เชชเชฌเซเชฒเชฟเช• เช•เซเชฒเชพเชธ เชนเซ‡เชฒเซ‹เชตเชฐเซเชฒเซเชก { เชชเชฌเซเชฒเชฟเช• เชธเซเชŸเซ‡เชŸเชฟเช• เชตเซ‹เชˆเชก เชฎเซ‡เชˆเชจ(เชธเซเชŸเซเชฐเชฟเช‚เช—[] เชเชฐเซเช—เซเชธ) { System.out.println("เชนเซ‡เชฒเซ‹ เชตเชฐเซเชฒเซเชก!"); } } // เชนเชตเซ‡ เชคเชฎเซ‡ main() { System.out.println("เชนเซ‡เชฒเซ‹, เชตเชฐเซเชฒเซเชก!") เชฐเชฆเชฌเชพเชคเชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹; }
  • เชธเซเช•เซ‹เชชเซ‡เชก เชตเซ‡เชฒเซเชฏเซเชเชจเซเช‚ เชฌเซ€เชœเซเช‚ เชชเซ‚เชฐเซเชตเชพเชตเชฒเซ‹เช•เชจ เช…เชฎเชฒเซ€เช•เชฐเชฃ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚, เชœเซ‡ เชชเชฐเชฟเชตเชฐเซเชคเชจเช•เซเชทเชฎ เชกเซ‡เชŸเชพเชจเซ‡ เชธเชฎเช—เซเชฐ เชฅเซเชฐเซ‡เชกเซ‹เชฎเชพเช‚ เชถเซ‡เชฐ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เช…เชจเซ‡ เชšเชพเช‡เชฒเซเชก เชฅเซเชฐเซ‡เชกเซ‹ (เชฎเซ‚เชฒเซเชฏเซ‹ เชตเชพเชฐเชธเชพเช—เชค เช›เซ‡) เชตเชšเซเชšเซ‡ เช…เชธเชฐเช•เชพเชฐเช• เชฐเซ€เชคเซ‡ เชตเชฟเชจเชฟเชฎเชฏ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชฅเซเชฐเซ‡เชก-เชฒเซ‹เช•เชฒ เชตเซ‡เชฐเชฟเชฏเซ‡เชฌเชฒ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเชจเซ‡ เชฌเชฆเชฒเชตเชพ เชฎเชพเชŸเซ‡ เชธเซเช•เซ‹เชชเซ‡เชก เชตเซ‡เชฒเซเชฏเซ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซ€ เช›เซ‡ เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เช–เซ‚เชฌ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฅเซเชฐเซ‡เชกเซ‹ (เชนเชœเชพเชฐเซ‹ เช…เชฅเชตเชพ เชฒเชพเช–เซ‹ เชฅเซเชฐเซ‡เชกเซ‹)เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เชตเชงเซ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช›เซ‡. เชธเซเช•เซ‹เชชเซ‡เชก เชตเซ‡เชฒเซเชฏเซ เช…เชจเซ‡ เชฅเซเชฐเซ‡เชก-เชฒเซ‹เช•เชฒ เชตเซ‡เชฐเชฟเชเชฌเชฒ เชตเชšเซเชšเซ‡เชจเซ‹ เชฎเซเช–เซเชฏ เชคเชซเชพเชตเชค เช เช›เซ‡ เช•เซ‡ เชชเชนเซ‡เชฒเชพเชจเชพ เชเช• เชตเชพเชฐ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชญเชตเชฟเชทเซเชฏเชฎเชพเช‚ เชฌเชฆเชฒเซ€ เชถเช•เชพเชคเชพ เชจเชฅเซ€ เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เชฅเซเชฐเซ‡เชกเชจเชพ เช…เชฎเชฒเชจเชพ เชธเชฎเชฏเช—เชพเชณเชพ เชฎเชพเชŸเซ‡ เชœ เช‰เชชเชฒเชฌเซเชง เชฐเชนเซ‡ เช›เซ‡.
  • เชธเชฎเชพเช‚เชคเชฐ เช—เชพเชฐเซเชฌเซ‡เชœ เช•เชฒเซ‡เช•เซเชŸเชฐเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเชพ เชฎเซ‹เชŸเชพ เชเชฐเซ‡ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช•เชพเชฎเช—เซ€เชฐเซ€เชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‹ เช•เชฐเซเชฏเซ‹ เช›เซ‡. เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ€ เชฎเซ‹เชŸเซ€ เชเชฐเซ‡ เชธเชพเชฅเซ‡เชจเชพ เช•เซ‡เชŸเชฒเชพเช• เชชเชฐเซ€เช•เซเชทเชฃเซ‹เชฎเชพเช‚ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชถเซ‹เชงเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเชคเชพเช‚ เชชเชนเซ‡เชฒเชพเช‚ เชตเชฟเชฒเช‚เชฌเชจเซ‡ 20% เช˜เชŸเชพเชกเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเซเชฏเซเช‚.

เชตเชงเซเชฎเชพเช‚, เชคเชฎเซ‡ เช—เซเชฐเชพเชซเชฟเช•เชฒ เชˆเชจเซเชŸเชฐเชซเซ‡เชธ JavaFX 22 เชธเชพเชฅเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ เช…เชชเชกเซ‡เชŸเชจเชพ เชชเซเชฐเช•เชพเชถเชจเชจเซ€ เชจเซ‹เช‚เชง เชฒเชˆ เชถเช•เซ‹ เช›เซ‹.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹